Live data from Hacker News

Maxima: A computer algebra system written in Common Lisp

maxima.sourceforge.io

31–40 of 70 posts

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

#31
post #28

Ahh, the macsyma days. You could do real tensor calculus with it.

Cadabra does that extremely well: https://cadabra.science/notebooks/tensor_monomials.html did publish an article with a Lagrangian of order 40 in the fields with it. 10k pages of calculations.

ahh, yes indeed, it can do GR tensors too [0]

can't believe somebody wrote this in C/C++!

[0] https://arxiv.org/abs/1912.08839

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

#32
post #14

Quick 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…

An alternative is to run maxima from jupyter: https://github.com/robert-dodier/maxima-jupyter .

Wow! This is fantastic! I got really frustrated with maxima frontends and just ended up sticking with Mathematica, but I'm going to give this a shot

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

#33
post #28

Earlier quoted context omitted.

Cadabra does that extremely well: https://cadabra.science/notebooks/tensor_monomials.html did publish an article with a Lagrangian of order 40 in the fields with it. 10k pages of calculations.

ahh, yes indeed, it can do GR tensors too [0] can't believe somebody wrote this in C/C++! [0] https://arxiv.org/abs/1912.08839

Cadabra author here. The choice for C++ was intentional and is part of the design to separate the maths language (LaTeX), programming language (python) and implementation language (C++). This has advantages (eg. notation looks natural for mathematicians/physicists, programming the system uses a language already familiar to many, and it can still run algorithms at C++ speeds) and disadvantages (eg. some things become much more involved to implement). As always, it depends a lot on what you do with the system whether this is good or bad. Cadabra is not for everyone, but it does some things much nicer (IMHO) than other CAS systems.

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

#34
post #15

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

Does it even run locally?

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

#35
post #27

Earlier quoted context omitted.

There's also imaxima a mode for Emacs that will format the output as rendered LaTeX.

Does that still work or is it abandoned? Do you know how to install it on doomemacs (I'm not an emacs or doomacs gurú)

There is also maxima.el in MELPA https://melpa.org/#/maxima

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

#36

Earlier quoted context omitted.

ahh, yes indeed, it can do GR tensors too [0] can't believe somebody wrote this in C/C++! [0] https://arxiv.org/abs/1912.08839

Cadabra author here. The choice for C++ was intentional and is part of the design to separate the maths language (LaTeX), programming language (python) and implementation language (C++). This has advantages (eg. notation looks natural for mathematicians/physicists, programming the system uses a language already familiar to many, and it can still run algorithms at C++ speeds) and disadvantages (eg. some things become…

its an intriguing combination of languages and maybe one that would serve well other projects. Combining python and C++ is clearly common, but expressing algorithms / expressions as latex hits another sweet spot.

Makes sense to have a performant "backend". My experience with macsyma is, ahem, quite a bit dated, but I still remember it would choke on large calculations and needed careful massaging of intermediate steps.

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

#38

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

Do you have any reference/tutorial on how to do this?

https://github.com/jmbr/maxima-interface

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

#39
post #23

Earlier quoted context omitted.

Sagemath uses maxima internally, so Jupyter notebook backed by Sagemath kernel might be useful?

What is Sagemath then? I have used it many times and I assumed it was a CAS alternative to Maxima. Is it actually just a big library built on top of Maxima? Sort of like how LaTeX is a library on top of TeX?

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't as up-front with typing as I would like, and I've run into some lazy-evaluation confusion as well, but if your time is worthless, use-case restricted it can be an alternative to paying out the nose for Mathematica.

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

#40
post #25
post #14

Quick 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…

there's a texmacs frontend too: http://www.texmacs.org/tmweb/documents/tutorials/maxima-tuto...

In college, I used to use Maxima with KDE's Cantor as a frontend.

https://cantor.kde.org/

Post reply on HN