Maxima (Software)
en.wikipedia.org
en.wikipedia.org
Also another colleague found out the hard way that maxima can happen to solve symbolic/arithmetic linear equations much faster (2 orders of magnitude) than Mathematica.
A great tool. A pity it is underestimated.
This meant that for many cases where numerical method was beneficial, Mathematica easily won on speed.
Sorry.
Sorry but am home. If you mail me during the week I shall find examples for you.
The matrix was something I saw happen, I do not have the example handy, sorry.
> Luckily all you really need is rref.
Tell us more. Please. I'm going through linear right now.If I remember correctly the state of the documentation was subpar too.
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.
As I recall, Maxima was first written for Franz Lisp. Older lisps like that used dynamic binding for all variables.
I’d take the statistical models, use Maxima to symbolically find equations for estimators, and then write out the formulas in Python using NumPy / SciPy to solve the equations numerically. Without Maxima, the whole process would have involved more error-prone, tedious work on my part.
I like to pitch the model by saying it successfully predicted a data loss event before it happened, predicted where that data loss event would happen (which configuration would lose data), and gave us insight into how the system could be changed to prevent similar data loss events from happening. Maxima was a key tool in making the model.
This blog post also shows how to call Maxima from CL: https://niitsuma.hatenadiary.org/entry/20080328/1226706399
Maybe if you come from a CS background. From a math background, it's syntax is actually more natural than most contemporary programming languages. For example, : is used for assignment, because = has the normal mathematical meaning. Blocks use parentheses because that's how you group stuff in math.
Maxima is very much a domain specific language, where the domain is mathematics.