3 ms·
I'm more familiar with SymPy. How does it compare with Maxima? Does anyone have experience with both?
by Qem 5y ago
I'm more familiar with SymPy. How does it compare with Maxima? Does anyone have experience with both?
- mkl 5y agoBeing embedded in a nice modern programming language like Python, SymPy is definitely much easier to use, and I'd recommend that for most people. Maxima probably has some more advanced esoteric features I haven't needed, and may be faster for some things (but so might SymPy). I use Maxima in one situation: making online maths quiz questions in STACK [1], because Maxima is the CAS underlying it. I'd rather it used SymPy! If you need more advanced stuff than SymPy, probably SageMath is the way to go - stay in ~Python, but use it as an interface to other systems (which include Maxima). I used to use Sage before SymPy was around and good. [1] https://www.ed.ac.uk/maths/stack/ https://www.ed.ac.uk/maths/stack/
- jhgb 5y agoCommon Lisp is a nice modern programming language, too. Only SymPy yet has to be ported into it...
- mkl 5y agoMaxima is implemented in Lisp, but is itself a separate language. SymPy is an ordinary Python library.
- jhgb 5y agoYes, and it's a library that could be conceivably ported to Lisp. As Scmutils have shown, "lispy" languages with multimethods/generic functions are really suitable for building symbolic manipulation systems. So chances are that functional port to Lisp could provide a really nice interface to SymPy's functionality.
- pfdietz 5y agoAnd Maxima was created before Common Lisp even existed. Steele first presented Common Lisp at a conference in 1982, and CLTL1 wasn't published until 1984. As I recall, Maxima was first written for Franz Lisp. Older lisps like that used dynamic binding for all variables.
- xvilka 5y agoIf anything, Julia language would be a better fit[1] for the new mathematical system. Its syntax is friendlier to the mathematical constructs than of Python. Not to speak about the speed. [1] https://juliasymbolics.org/ https://juliasymbolics.org/
- jhgb 5y agoMaybe. Maybe not. From what I understand, experience shows that when conceptualizing knowledge in this domain, at some point you may run into the need for a MOP, which Julia to my knowledge doesn't have.