Live data from Hacker News

Maxima: A computer algebra system written in Common Lisp

maxima.sourceforge.io

51–60 of 70 posts

Re: Maxima: A computer algebra system written in Common Lisp

#51
post #50

How does Maxima compare to something like Xcas[1]? [1]: https://www-fourier.ujf-grenoble.fr/~parisse/giac.html

https://www.12000.org/my_notes/CAS_integration_tests/reports...

Giac/Xcas is slightly worse at symbolic integration than Maxima, and both are dramatically worse than Mathematica.

FriCAS, an Axiom fork, is the best open source CAS on those benchmarks.

Re: Maxima: A computer algebra system written in Common Lisp

#53
post #45

I like maxima and used to use it (through the interface wxmaxima or KDE Cantor) for solving my physics problem. I am no expert in CAS, just use them for simple problem solving. However, since I stumbled upon this blog post by Thingwy https://thingwy.blogspot.com/2015/07/maxima-versus-mathemati... , I find myself uneasy when using maxima. I quote Thingwy: “Maxima gets elementary math wrong, it knows very little about…

Checked the examples and Maxima still fails. It's even more disheartening that author mentions towards the end that had reported those issues years before they wrote the article. I had also used Maxima before and, though unsurprisingly found it less polished than Mathematica, got the job done without issues. But will probably refrain from recommending it. Would also like to see how other systems tackle those examples…

I checked the failing limt one and it worked fine. Maybe it was fixed recently?

  ;;; Loading #P"/usr/lib/ecl-21.2.1/sb-bsd-sockets.fas"
  ;;; Loading #P"/usr/lib/ecl-21.2.1/sockets.fas"
  Maxima 5.46.0 https://maxima.sourceforge.io
  using Lisp ECL 21.2.1
  Distributed under the GNU Public License. See the file COPYING.
  Dedicated to the memory of William Schelter.
  The function bug_report() provides bug reporting information.
  (%i1) declare(a,real);
  (%o1)                                done
  (%i2) declare(b,real);
  (%o2)                                done
  (%i3) assume(a>b,b>0);
  (%o3)                           [a > b, b > 0]
  (%i4) limit(log(b-a+%i*eta),eta,0,plus);
  (%o4)                         log(a - b) + %i %pi
  (%i5) limit(log(b-a+%i*eta),eta,0,minus);
  (%o5)                         log(a - b) - %i %pi

Re: Maxima: A computer algebra system written in Common Lisp

#54
post #45

I like maxima and used to use it (through the interface wxmaxima or KDE Cantor) for solving my physics problem. I am no expert in CAS, just use them for simple problem solving. However, since I stumbled upon this blog post by Thingwy https://thingwy.blogspot.com/2015/07/maxima-versus-mathemati... , I find myself uneasy when using maxima. I quote Thingwy: “Maxima gets elementary math wrong, it knows very little about…

I’m a bit suspicious of the section saying “Maxima is slow” blaming linked lists. Maxima is built on Common Lisp which definitely has arrays and vectors, so the claims made there seem a bit uninformed. I don’t really know enough math to judge the rest, though.

[deleted]

Re: Maxima: A computer algebra system written in Common Lisp

#55
post #45

I like maxima and used to use it (through the interface wxmaxima or KDE Cantor) for solving my physics problem. I am no expert in CAS, just use them for simple problem solving. However, since I stumbled upon this blog post by Thingwy https://thingwy.blogspot.com/2015/07/maxima-versus-mathemati... , I find myself uneasy when using maxima. I quote Thingwy: “Maxima gets elementary math wrong, it knows very little about…

[deleted]

Re: Maxima: A computer algebra system written in Common Lisp

#56

Earlier quoted context omitted.

Checked the examples and Maxima still fails. It's even more disheartening that author mentions towards the end that had reported those issues years before they wrote the article. I had also used Maxima before and, though unsurprisingly found it less polished than Mathematica, got the job done without issues. But will probably refrain from recommending it. Would also like to see how other systems tackle those examples…

I checked the failing limt one and it worked fine. Maybe it was fixed recently? ;;; Loading #P"/usr/lib/ecl-21.2.1/sb-bsd-sockets.fas" ;;; Loading #P"/usr/lib/ecl-21.2.1/sockets.fas" Maxima 5.46.0 https://maxima.sourceforge.io using Lisp ECL 21.2.1 Distributed under the GNU Public License. See the file COPYING. Dedicated to the memory of William Schelter. The function bug_report() provides bug reporting information.…

Version I've installed is 5.45.1 and gets "log(b - a) + %i %pi" and "log(b - a) - %i %pi", so should be. Gave changelog for 5.46.0 a look but not sure whether it had a direct fix for this or was indirectly fixed due to one of the other closed bugs.

Re: Maxima: A computer algebra system written in Common Lisp

#57

Maxima enabled me to make my color space [HSLuv]( https://www.hsluv.org/ ). I encoded CIELUV RGB transformation functions into Maxima, ran `solve` and converted the output back into code. It's great to be able to commit [Maxima code]( https://github.com/hsluv/hsluv/tree/master/math ) into your repository and not leave the math as an "exercise to the reader".

That’s a really nice way to do it. Also, I really like HSVLuv; it’s a really nice idea.

Re: Maxima: A computer algebra system written in Common Lisp

#59
post #45

I like maxima and used to use it (through the interface wxmaxima or KDE Cantor) for solving my physics problem. I am no expert in CAS, just use them for simple problem solving. However, since I stumbled upon this blog post by Thingwy https://thingwy.blogspot.com/2015/07/maxima-versus-mathemati... , I find myself uneasy when using maxima. I quote Thingwy: “Maxima gets elementary math wrong, it knows very little about…

I’m a bit suspicious of the section saying “Maxima is slow” blaming linked lists. Maxima is built on Common Lisp which definitely has arrays and vectors, so the claims made there seem a bit uninformed. I don’t really know enough math to judge the rest, though.

I'm extremely suspicious of that explanation. It would be nice to see a few benchmarks.

Anectote time: I used Mathematica many years ago. One surprising thing was that when you update the content of a vector, Mathematica creates a new vector and copies the content of the old vector. If you just copy an algorithm from C to Mathematica, it may be N times slower because it's creating a lot of intermediate vectors. So you must rewrite your code using "fold", or something like that. It was a long time ago, so I'm not sure if they have already added some trick to optimize code from people like me that don't know what they are doing. If Mathematica or Maxima has this trick but the other doesn't, it may cause a huge difference of time between algorithm that look very similar. Anyway, this is totally unrelated to lists.

Re: Maxima: A computer algebra system written in Common Lisp

#60
post #45

I like maxima and used to use it (through the interface wxmaxima or KDE Cantor) for solving my physics problem. I am no expert in CAS, just use them for simple problem solving. However, since I stumbled upon this blog post by Thingwy https://thingwy.blogspot.com/2015/07/maxima-versus-mathemati... , I find myself uneasy when using maxima. I quote Thingwy: “Maxima gets elementary math wrong, it knows very little about…

Checked the examples and Maxima still fails. It's even more disheartening that author mentions towards the end that had reported those issues years before they wrote the article. I had also used Maxima before and, though unsurprisingly found it less polished than Mathematica, got the job done without issues. But will probably refrain from recommending it. Would also like to see how other systems tackle those examples…

My university course uses Maxima for optimization modules and essentially none of the examples from the textbook work as they should. Official documentation is sparse and often unhelpful too. The functions output Lisp stacktraces if you do something wrong, rather than actually catching errors and printing some human-friendly message that describes the problem and which particular argument caused it without having to dig into Maxima source code. It would be great CAS software if it was a bit more polished, but unfortunately that is unlikely to ever change - it hasn't in the last 4 years that I've used it at least.
Post reply on HN