7 ms·
Maxima is a surprisingly good alternative to SymPy. We had to learn that the hard way at my job. Both systems offer similar functionality, but it turns out Ma
by heisig 4y ago
Maxima is a surprisingly good alternative to SymPy. We had to learn that the hard way at my job. Both systems offer similar functionality, but it turns out Maxima is typically 50-200x as fast as SymPy for many tasks (I guess because it was written at a time when computers were slow and expensive). For our application, switching from SymPy to Maxima shortened the time-to-solution from hours to minutes.
Also, it shows that Maxima has been in use for a very long time, and maintained by very bright people. I have yet to encounter a bug in Maxima. And I have already encountered plenty of bugs and inconsistent behavior in SymPy.
- defrost 4y agoMaxima sees serious 'more free' versions of computational algorithms that migrate out from less free acedemic systems. On the computational real actual algebra side (ie. a bit past computing a quadractic at 'x') a number of things that appear in Magma follow into Maxima (but not all the things, although with time they will come). https://en.wikipedia.org/wiki/Hidden_Field_Equations https://en.wikipedia.org/wiki/Hidden_Field_Equations https://en.wikipedia.org/wiki/Gr%C3%B6bner_basis https://en.wikipedia.org/wiki/Gr%C3%B6bner_basis The first HFE cryptosystem challenge of J. Patarin is solved by Magma in 82.5 seconds, using 1.3GB memory; with 4 threads the time taken is just 29.0 seconds. This involves solving a system of 80 quadratic equations in 80 variables over GF(2) (each input polynomial has about 1600 terms). The challenge was first solved by J.-C. Faugère in 52 hours on an 1GHz Alpha in 2002 using his unpublished F5/2 algorithm. At the time of writing, there is apparently still no publically-available software besides Magma which can solve the challenge. http://magma.maths.usyd.edu.au/magma/overview/2/27/13/#subsubsection_13_1_4 http://magma.maths.usyd.edu.au/magma/overview/2/27/13/#subsu... https://maxima.sourceforge.io/docs/manual/maxima_257.html https://maxima.sourceforge.io/docs/manual/maxima_257.html Notes on the grobner package: The code is a little bit out of date now. Modern implementation use the fast F4 algorithm described in "A new efficient algorithm for computing Gröbner bases (F4)" Jean-Charles Faugère ( *NB a somewhat old example, I'm not keeping up on the comp.algebra lists and I'm assuming here the online manuals are up to date )