with a bit of elbow greece you can also integrate it with your common lisp application. and i mean this entirely, not just in an api sense
GREASE
Maxima: A computer algebra system written in Common Lisp
11–20 of 70 posts
Re: Maxima: A computer algebra system written in Common Lisp
#12How does it compare to SymPy?
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.
Re: Maxima: A computer algebra system written in Common Lisp
#13Re: Maxima: A computer algebra system written in Common Lisp
#14Re: Maxima: A computer algebra system written in Common Lisp
#15Plus points: Does not suffer from the time limits of free wolfram and the nlp parsing issues in general with wolfram Negative points: Somewhat more limited repertoire, and things sometimes need to be rephrased or rearranged to trick an answer out of it.
Re: Maxima: A computer algebra system written in Common Lisp
#16How does it compare to SymPy?
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…
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/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/#subsu...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 )Re: Maxima: A computer algebra system written in Common Lisp
#17How does it compare to SymPy?
Re: Maxima: A computer algebra system written in Common Lisp
#18Plus points: Does not suffer from the time limits of free wolfram and the nlp parsing issues in general with wolfram Negative points: Somewhat more limited repertoire, and things sometimes need to be rephrased or rearranged to trick an answer out of it.
Interesting. I just downloaded Maxima on Android and also WolframAlpha. Three latter is light years ahead.
Re: Maxima: A computer algebra system written in Common Lisp
#19Quick note to avoid disappointment: maxima itself is a text application. wxMaxima is a graphical front-end with conventional math notation. Output only. You'll frequently encounter text/command-line options, though. E.g., when you pick a command like differentiate from the menu, and you want to apply it to the previous result, you'll have to enter something like %o10 (no need to guess; you'll see the reference in the…
Re: Maxima: A computer algebra system written in Common Lisp
#20Quick note to avoid disappointment: maxima itself is a text application. wxMaxima is a graphical front-end with conventional math notation. Output only. You'll frequently encounter text/command-line options, though. E.g., when you pick a command like differentiate from the menu, and you want to apply it to the previous result, you'll have to enter something like %o10 (no need to guess; you'll see the reference in the…