[HN Gopher] Mathics 7.0 - Open-source alternative to Mathematica
       ___________________________________________________________________
        
       Mathics 7.0 - Open-source alternative to Mathematica
        
       Author : adius
       Score  : 128 points
       Date   : 2024-12-07 12:34 UTC (10 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | ktpsns wrote:
       | 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 wrote:
         | On Lisp you can jump into Common Lisp from Maxima in a breeze.
         | Better with SBCL because of performance.
        
           | ethernot wrote:
           | But Maxima, which is horrifying buggy.
        
             | sourcepluck wrote:
             | Hmm, 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 wrote:
               | Yes 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.
        
             | anthk wrote:
             | WxMaxima? For sure. Plain Maxima/XMaxima/Maxima.el it's
             | megastable.
        
               | ethernot wrote:
               | Stable yes. Buggy yes. There are all sorts of problems it
               | gets stuck on. solve() is terrible.
        
         | vector_spaces wrote:
         | Maybe 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 wrote:
           | I generally agree, but Matlab does have algebraic
           | capabilities
        
             | fph wrote:
             | Matlab's symbolic toolbox is actually a wrapper around
             | another proprietary CAS, Mupad.
        
           | 3abiton wrote:
           | These were my thoughts too. The use case for Mathematica is
           | extremely different than Octave.
        
           | williamstein wrote:
           | When you go into battle to solve a computational mathematics
           | problem, the problem sometimes doesn't care about these
           | boundaries. E.g., you might think that you're solving a
           | problem in "computer algebra", but a sufficiently fast
           | solution might end up involving numerical linear algebra in
           | surprising ways. (E.g., enumerating elliptic curves over the
           | rational numbers is reduced to exact linear algebra because
           | of a Wiles work on Fermat's last theorem, and often exact
           | linear algebra can be done via clever tricks much more
           | efficiently using floating point matrices, which happen to be
           | insanely fast to work with due to GPU's...). It's thus
           | valuable, at least for research, to have large mathematical
           | software systems that span these boundaries.
        
         | nxobject wrote:
         | You'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...
        
       | deknos wrote:
       | why do i think this will be integrated into sagemath? :D
        
         | williamstein wrote:
         | I'm not aware of any real push to include Mathics in sagemath.
         | I speculate it's because SageMath is mainly developed by
         | research mathematicians and cryptographers, so performance is
         | often a primary concern when evaluating components for
         | inclusion. One of the reasons SageMath is the largest Cython
         | project is because Cython makes it possible to utilize fast
         | C/C++ libraries from Sage.
         | 
         | I have the impression that Mathics is currently not seriously
         | concerned with performance. E.g., try this little
         | microbenchmark in Mathics: "AbsoluteTiming[Sum[i, {i, 1,
         | 100000}]]" or read their roadmap. This is fine -- there are
         | many interesting applications of the Mathematica programming
         | language where performance isn't important, e.g., carefully
         | stepping through some symbolic operations with expressions.
         | However, for Sage the motivation of most developers is cutting
         | edge research math, and for that, performance is almost always
         | very important. Performance is why Sage also implements a lot
         | of similar functionality to Sympy rather than just using sympy
         | for that functionality -- since sympy can be relatively slow
         | due to their priority to be easy to install, which is
         | definitely not a priority for SageMath.
         | 
         | The mission statement for SageMath is to be a viable
         | alternative to Mathematica, Matlab, Magma, and Maple, but I
         | never meant that to mean being a clone (e.g., directly running
         | Mathematica code), but instead just an alternative in the sense
         | that it can support research built on open source mathematical
         | software that might otherwise be done with those closed source
         | programs.
        
       | 1R053 wrote:
       | one of the annoying things about Mathematica is that all
       | functions are crammed into the same namespace and that there is
       | no overloading with different parameterization options...
        
         | LegionMammal978 wrote:
         | What do you mean by overloading? Functions can easily have
         | different behavior with different argument counts (e.g., 2- vs.
         | 3-argument Fold), and they can have any number of options
         | (e.g., Graphics, Graphics3D, Solve, Import/Export, etc.). The
         | only big redundancy I can think of is the various Plot
         | functions.
        
       | WillyWonkaJr wrote:
       | If you only want individual use, Wolfram Cloud is free to use. I
       | think files delete after 30 days or something. Also the Wolfram
       | Engine is a free way to use Mathematica via command line. Hey,
       | its something...
        
         | Iwan-Zotow wrote:
         | With WLJS on top of Wolfram Engine its a blast
        
         | topspin wrote:
         | You may also buy a Raspberry Pi which comes with a Mathematica
         | license.
        
       | bmitc wrote:
       | Software engineers will do anything to not pay for software.
        
         | adalacelove wrote:
         | I have a Mathematica license and at the same time find this
         | project quite cool (and I'm a SW engineer). I would be
         | surprised if mathics developers are not Mathematica users.
        
         | xigoi wrote:
         | It's not about the price, but about the freedom.
        
       ___________________________________________________________________
       (page generated 2024-12-07 23:00 UTC)