home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   sci.math.symbolic      Symbolic algebra discussion      10,432 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 10,206 of 10,432   
   Richard Fateman to anti...@math.uni.wroc.pl   
   Re: comment on fundamental design of Map   
   29 Jan 22 21:32:47   
   
   From: fateman@gmail.com   
      
   On Sunday, January 2, 2022 at 6:40:15 AM UTC-8, anti...@math.uni.wroc.pl wrote:   
   > Can Maxima do something special? AFAICS core functionality of   
   > various CAS-es is similar (polynomial operations, equation   
   > solving, limits, integration, etc.) and in Maxima case this   
   > part seem to be rather dated. It was stat of the art in 1980,   
   > but there was (IMO significant) progress after that.   
      
   > Waldek Hebisch   
      
   Hi Waldek & sci.math.symbolic.   
   Apologizes for the delayed reaction.  I don't visit here that often.   
      
     1. Maxima is written (mostly) in Lisp; the Lisp systems have gotten better   
   in various ways and  support   
   more or better memory, bignum arithmetic,  communication with systems in other   
   languages, web stuff.   
   Those changes seep into Maxima, sometimes, though slowed by the need to be   
   platform agnostic.   
      
   2. Some subsystems not necessarily in Lisp have also improved. For example the   
   user interface   
    wxmaxima is, I think, quite nice and getting nicer.   
    Another example is the improvements in graphical display via improvements in   
   gnuplot.   
   There are also translations from Fortran of software -- like quadpack.  If   
   there were other pieces of   
   software of interest written in Fortran, they might also be translated to Lisp   
   and run in Maxima.   
   I suspect that with modest alterations this code can be run using   
   arbitrary-precision floats in Maxima.   
   Other code is potentially called as foreign function libraries (e.g. Gnu   
   MPFR).  I suppose that   
   any of the packages linked to (say) Sage or Julia could be called from Lisp,   
   since there are   
   existing interfaces to C and Python.  I don't know if anyone has done this,    
   but again to be part   
   of the Maxima distribution it would have to be platform  (hardware, software)   
   agnostic.   
      
   So are these "special"? I don't know for sure, but I think there are certainly   
   not dated.   
      
   3. There is a continuing effort by a host of people who provide fixes,   
   enhancements, and applications   
   in their own library public repositories. There are educational projects, and   
   wholesale adoption of   
   Maxima in schools and school districts. There is an active Maxima mailing list.   
      
   4.  If there were a set of standard benchmarks for "core" functionalities,   
   there might be a basis for   
   testing if Maxima's facilities were dated.  I am aware of the testing of   
   indefinite integration of   
   functions of a single variable, comparing Rubi to various other systems.  I   
   have some doubts about   
   measurements of Maxima, since they are done through the partly-blinded eyes of   
   Sage.  I have run   
   some of the "failed" Maxima tests through Maxima and found they succeed, and   
   indeed find answers   
   that are simpler and smaller than some of the competition.   So I would not   
   judge from this.   
      
   While indefinite integration is an application that relies on a tower of   
   algorithmic developments in   
   symbolic mathematical systems, one that made researchers proud over the years   
   -- starting as   
   probably the first largish program written in Lisp  (James Slagle's SAINT,   
   1961)   
    it is not much in demand by engineers and applied mathematicians.  In fact   
   the far more common problems of DEFINITE integration (in one or more   
   variables) can   
   usually be addressed by numerical quadrature.  The reference / handbooks of   
   calculus formulas   
   contain far more formulas for definite integrals [ with parameters], involving   
   special functions, and   
   even so, they harken back to a time when a mathematician did not have access   
   to computers.   
      
   So while a core functionality of a CAS might be "integral calculus", it is   
   partly a tribute to "we can mostly do this with what we built."   
   more than "applied mathematicians asked us to do this for their daily work".   
   In part it is a historical tribute to "we must be doing something hard because   
   human calculus students struggle to do their homework problems, and maybe   
   this is even Artificial Intelligence.  And that is good."   
      
   If some of the newer CAS have "better" core algorithms like  -- polynomial   
   multiplication,   
   polynomial GCD, expansion in Taylor series, it would be interesting to take   
   note, and if so   
   with substantial likelihood they can be inserted into Maxima, or added in via   
   libraries.   
   For instance, improved algebraic system solving, limits (e.g. D. Gruntz),   
   manipulation of   
   special functions.  The common notion that "Lisp is slow" and "C is fast"  and   
   that therefore   
   doing nothing other than writing in C is a step forward, I think is wrong.    
   (People say Python and sympy   
   are slower than C, maybe slower than Lisp, Julia is faster than Python or   
   maybe faster than   
   C.  These are all just running within constant multiplies of each other,  if   
   they use the same   
   algorithms. And benchmarks tend to be misleading anyway.)   
      
     There are areas where interested programmers could add to   
   a computer algebra system, and they might consider adding to Maxima;  a few   
   I've suggested   
   include an improved interval arithmetic system, and a way of using an inverse   
   symbolic   
   calculator  (see  Stoutemyer's interesting paper https://arxiv.o   
   g/abs/2103.16720 )   
      
   I am more struck by the fact that "new" CAS have rarely improved on those core   
   capabilities, rarely moving in interesting directions. The ones that have been   
   mentioned previously in   
   this thread.  And some of them have made stumbling steps in wrong directions.   
   When pointed out, they respond, in effect, in the immortal words of Peewee   
   Herman,   
   "I meant to do that"...  https://gifs.com/gif/pee-wee-herman-i-m   
   ant-to-do-that-mPElxr   
      
   Are there possible breakthroughs that will make all current CAS so obsolete   
   that they must   
   all be tossed in the trash?  If so, I haven't seen them yet.  Can current CAS   
   be improved? Sure,   
   but some improvements will be difficult.   
      
   Richard Fateman   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca