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 9,739 of 10,432   
   Richard Fateman to All   
   testing Rubi in Maxima   
   15 Dec 17 14:04:27   
   
   From: fateman@cs.berkeley.edu   
      
   Given the interest shown here, I re-tried some parts of   
   Rubi that Albert Rich was kind enough to offer me ---   
   AlgebraicIntegrationFunctions   + IntegrationUtilityFunctions   
   in a Maxima-compatible form (no pattern matching).   
   These are 2,707 lines of code and 269 lines of code respectively   
   (the dates on my files are of August, 2016).   
      
   I ran one of the test files, integration of trinomial products.   
   Maxima ran the first 569 of these examples in a total of  21.7 seconds.   
     (interpreted code. Compiling changes it to 20.7 seconds).   
   Anyway 0.038sec each on average, on my machine.   
      
   If I am counting right, there are 613 examples in that file.   
   .................   
      
   But when it stopped, there was this message ...   
      
   Unable to expand  x/sqrt(c*x+b) into a sum.   
      
   with the additional Maxima-provided debugging information ...   
      
   #0:   
   expandintegrand(u=x/sqrt(c*x+b),x=x,lst=[])(IntegrationUtilityFunctions.mac   
   line 201)   
   #1:   
   intlinear7(a=0,b=1,c=b,d=c,m=1,n=-1/2,x=x)(AlgebraicIntegrationFunctions.mac   
   line 470)   
   #2:   
   intlinear7(a=b,b=c,c=0,d=1,m=-1/2,n=1,x=x)(AlgebraicIntegrationFunctions.mac   
   line 472)   
      
   ...........   
   Running the compiled code gives the same message, but the Maxima-provided   
   debugging information is not available.   
   ............   
   Now my assumption is that this code (or the equivalent code as rules)   
   runs without any problem in Rubi+ Mathematica.  So there is something   
   going on that differs in the two environments, where Maxima gets stuck.   
   Would sympy get stuck in a similar situation?   
      
   So what are the plausible next steps?   
      
   1. If Albert can provide ALL of Rubi in the if-then-else style used in   
   AlgebraicIntegrationFunctions.mac,  then matching programs are   
   perhaps irrelevant  (IF the utilities etc are sufficiently compatible).   
   Maybe fix up the utilities as needed.   
      
   2. It would of course have to be tested. Albert has lots of test files.   
      
   3. When it all works, package it up so it can be loaded fast, or   
   perhaps loaded in chunks.   
      
   4. Figure out a maintenance path so that if Rubi is enhanced   
   this package follows.   
      
   [alternative:  to step 1: debug/test/ the allegedly compatible   
   Mathematica-RubiRule-parser in lisp, joined to Maxima. I've   
   tried this, sporadically...]   
      
   Consequences if successful:   
      
   1. Anyone who wants to run Rubi in a free setting can load it   
   into Maxima.  (or if using Sage, load Rubi into the Maxima that   
   Sage loads).   
      
   2. sympy is off the critical path to making a free/open source   
   executable version of Rubi.  (unless you agree with those who feel that   
   anything not written in python must be rewritten in python.)   
      
   RJF   
      
   --- 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