Live data from Hacker News

Maxima: A computer algebra system written in Common Lisp

maxima.sourceforge.io

61–70 of 70 posts

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

#61
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…

> it knows very little about integration Somewhat related: I've read before that the FOSS CAS Axiom has the only kinda complete implementation of the Risch algorithm for integration. Axiom looks harder to use, but maybe it's an option. (I don't know anything about the topic)

The axiom implementation isn't complete either and doesn't handle mixed algebraic transcendental functions like sqrt(atan(x)), from what I understand.

The Sympy implementation handles the purely transcendental case and does best effort on the algebraic extensions. It's a lot more ergonomic than fricas/axiom though.

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

#63

Earlier quoted context omitted.

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.

Hmm, there is a weird fix with the limits, could be #484: limit(x=0,x,0) wrong

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

#64
post #47

Reduce is another lisp based computer algebra system from the prehistoric times, now open sourced. https://en.wikipedia.org/wiki/Reduce_(computer_algebra_syste... https://reduce-algebra.sourceforge.io/ I paid money for a Reduce release for RISCOS back in the last ice age. I recollect having to register my licence with the Rand Corporation for some reason.

Reduce is awesome! Dozens of specialized packages[1]. My favourite two packages are

1. The Source Code Optimization Package, SCOPE. It will take an expression or group of expression and produce a simpler set of expressions that minimize the use of arithmetic expressions.

2. The coeff2 package[3]. Tell coeff2 what the variables are and it will rewrite your expression as a simpler expression in terms of the variables alone and represent mush the others into constants.

I could not do what I do without it these two packages. Beats Maxima IMO.

[1] https://reduce-algebra.sourceforge.io/documentation.php#cont...

[2] https://reduce-algebra.sourceforge.io/reduce38-docs/scope.pd...

[3] https://reduce-algebra.sourceforge.io/manual/manualse136.htm...

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

#65
I wish one could use these libraries inside common lisp as opposed to having some badly designed language on top of it.

Sure, technically you can use it (see Maxima), but the weird ways in which it needs to be written is completely off-putting and not in line with (modern and ancient) Common Lisp programming guidelines.

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

#67
post #41

Earlier quoted context omitted.

In this case, Sagemath contains a domain that interfaces heavily with Maxima. By default Symbolic Calculus, which is a pretty common use-case since the space of integral-tables is huge and complicated, makes pretty heavy use of calls to Maxima as a backend, but it can slip over to SymPy, and some others pretty easily. Sagemath is, a little rough to use as a novice-y math guy, really quirky especially since Python isn…

Sagemath is, a little rough to use as a novice-y math guy Yeah I mainly used it in my real analysis, complex analysis, and differential geometry classes. Also used it a bit in an intro cryptography class to play around with some rings and solve assignment problems. I'm using Python right now in a neural networks class and I hate it. It's absolutely horrible to debug. You press run and then your neural network starts…

> Yeah I mainly used it in my real analysis, complex analysis, and differential geometry classes.

Any pointers to how one would use it for real analysis?

Thanks.

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

#68
I'd like to make calls to Maxima with s-expressions and get s-expressions back. Is there a way to embed Maxima, say by having its Common Lisp host running on top of, say, a Clojure environment (really anything JVM or JS or Python or .Net, anything with clean in-process interop)? I know SageMath accomplishes something like this by calling out to Maxima from its Python-based environment...

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

#69
post #52
post #8

How does it compare to SymPy?

It is better at symbolic integration: https://www.12000.org/my_notes/CAS_integration_tests/reports...

From FOSS CAS Fricas seems to fair best. But damn, Mathematica is on another level. And somehow Rubi looks even more impressive and puts a foundation for shareable high-quality integration to other systems.
Post reply on HN