3 ms·
I watch this project since a few years and they make good progress. To whoever is interested in open source Computer Algebra Systems, there are of course plenty
by ktpsns 2y ago
I watch this project since a few years and they make good progress. To whoever is interested in open source Computer Algebra Systems, there are of course plenty of more mature solutions. Classical ones such as GNU Octave or Maxima but also "modern ones" such as SAGEmath, Symbolics.jl or sympy. In particular, there is a broad range from symbolic libraries such as GiNaC up to "battery included" IDEs like SAGEmath. The community is vivid and amazing, for instance SAGEmath basically pioneered the web notebook interface which today brought us Jupyter in all its fashions.
I personally love the LISPy style of Mathematica (MMA) but of course it is not the (only) the core which makes MMA so powerful but the super large library which has not only instance industry-leading solutions for basic topics such as symbolic integration, 2D/3D graphics or finite element methods but also a plethora of special purpose domains such as bioinformatics. I guess Mathics has a good clone of the core but lacks, of course, all the libraries. It is, by the way, the same logic as with Matlab and its many "toolkits" compared to the numpy clone. However, the python movement brought many novel codes into the numpy world which no more work on Matlab.
- anthk 2y agoOn Lisp you can jump into Common Lisp from Maxima in a breeze. Better with SBCL because of performance.
- ethernot 2y agoBut Maxima, which is horrifying buggy.
- sourcepluck 2y agoHmm, I was using it fairly heavily while going through a book which required loads of messing with graphs last year for a month maybe and I don't remember it acting up... Perhaps I got lucky? Is it known to be buggy, in general?
- ethernot 2y agoYes it's terribly buggy. Incorrect answers sometimes depending on release versions and solve gets stuck all the time. I tend to use Xcas/GIAC instead where I can. Also bundled on my calculator (HP Prime). It's so bad that the university I "loosely associate" with have their own patched version to fix a load of problems with it.
- sourcepluck 2y agoHmm ok, shoot. I hope someone comes and cleans it up with one day, a historically significant piece of software, I would say.
- ethernot 2y agoIndeed. The problem is that there is no regression suite clearly. Sometimes things get broken and then have to be fixed again. You end up in situation where you need to tell a person to use a specific version and hope they know how to get it working. This makes communication, which is a really big part of mathematics, extremely difficult.
- anthk 2y agoWxMaxima? For sure. Plain Maxima/XMaxima/Maxima.el it's megastable.
- ethernot 2y agoStable yes. Buggy yes. There are all sorts of problems it gets stuck on. solve() is terrible.
- anthk 2y agoWhich Common Lisp interpreter/compiler did you use?
- ethernot 2y agoSBCL shipped via homebrew. SBCL is fine. It's Maxima that is full of bugs.
- ethernot 2y agoI love how I get downvoted for every negative comment about this rather than an actual rebuttal of the issues. It's fucking shit. I hate every moment using Maxima. I'd rather pay for Mathematica but my org is too cheap for that. There you. Enjoy :) Even better, I'd rather do it by hand!
- anthk 2y agoFricas it's another CAS based on Common Lisp. BTW, the current SBCL versions are much better than the stable/oldstable releases such as the ones for Debian or Ubuntu LTS. Try Fricas, you might like it too. On Maxima, beware, because your package manager might ship you a Maxima version built with generic and unnoptimized CL compilers. GNU CLisp's performance against SBCL it's abysmal. On an n270 netbook, MCClim widgets built from Ultralisp (QuickLisp repo) run in realtime with SBCL. ECL it's a bit beter, closer to SBCL than CLISP. CLISP fails to compile due the lack of threading support on 32 bit. And even if it ran MCClim, it would run visibily redrawing widgets like Win32 ones under a Pentium as they did back in the day.
- vector_spaces 2y agoMaybe I'm mistaken, but I don't think of Octave, Matlab or numpy as operating in the same space as a computer algebra system -- to me, those are all numerics oriented languages/libraries, used to obtain numerical solutions to problems vs exact symbolic expressions. They complement each other and are often used together, like Mathematica and mathics seem to support both paradigms, but they aren't the same.
- klysm 2y agoI generally agree, but Matlab does have algebraic capabilities
- fph 2y agoMatlab's symbolic toolbox is actually a wrapper around another proprietary CAS, Mupad.
- wenc 2y agoIf I recall correctly, the symbolic toolbox data structures were not first-class citizens in the MATLAB world (where the fundamental data structure was the matrix). I used the Symbolic Toolbox in grad school to try to simplify equation systems, but once I got the result, I had to rewrite it in real MATLAB code.
- SubjectToChange 2y agoThe numeric capabilities of Mathematica are far, far closer to Matlab's than the symbolic capabilities of Matlab are to Mathematica's.
- deleted 2y ago[deleted]
- 3abiton 2y agoThese were my thoughts too. The use case for Mathematica is extremely different than Octave.
- nxobject 2y agoYou're right about the progress they've made: to me, this project's a really wonderful example of quietly chipping away at a project you love. I remember about... five years ago?... when the project was first launched, and I thought "hmm, that's nice - they've really nailed the symbolic evaluation engine, but let's see what happens". I'll have to remember their example every time I feel like starting a new project instead of chipping away at an old one...