Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm more familiar with SymPy. How does it compare with Maxima? Does anyone have experience with both?


Being 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/


Common Lisp is a nice modern programming language, too. Only SymPy yet has to be ported into it...


If 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/


Maybe. 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.


Maxima is implemented in Lisp, but is itself a separate language. SymPy is an ordinary Python library.


Yes, 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.


And 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.


Uh, Macsyma was first written for Maclisp.


Yes. Perhaps I was drawing too fine a line in distinguishing Macsyma from Maxima.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: