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 8,752 of 10,432   
   Waldek Hebisch to clicliclic@freenet.de   
   Re: Announce: FriCAS 1.2.4 has been rele   
   14 Feb 15 23:04:10   
   
   From: hebisch@math.uni.wroc.pl   
      
   clicliclic@freenet.de wrote:   
   >   
   > Waldek Hebisch schrieb:   
   > >   
   > > clicliclic@freenet.de wrote:   
   > > >   
   > > > Rationalizing by substitution belongs to the 18th century (the age   
   > > > of the Bernoullis and Euler), for a Risch integrator it amounts to   
   > > > admitting defeat!   
   > >   
   > > Of course I would like to handle such integrals using general   
   > > code.  But when there is rationalizing substitution, then   
   > > execution time is usualy much better compared to full Trager   
   > > procedure.  So this is desirable optimization.   
   > >   
   >   
   > Your use of the term optimization is futuristic in that it is relative   
   > to a procedure that has been described but not been implemented in   
   > FriCAS or elsewhere.   
      
   FriCAS uses rationalizing substitution before trying Trager   
   procedure.  In particular at this point FriCAS does not know   
   if integral would hit unimplemented part or not.  And in cases   
   handled by current version of Trager procedure execution time   
   using substitution usually is much better.   
      
   > > >   
   > > > Alternatively, Kauers' Groebner-basis heuristics could be resorted   
   > > > to when an algebraic integral is pronounced ">> ... impossible". He   
   > > > does it in about ten lines of code ...   
   > >   
   > > Ten lines of pseudo code.  Real code that only handles very simple   
   > > case is already longer.  More complicated cases need code which   
   > > introduces extra variables.  The real problem is exection time.   
   > > I could add to FriCAS few lines of code (probably more than 10)   
   > > that will "handle" general case.  But ATM there is no hope that   
   > > such code would finish execution in reasonable time.  Groebner   
   > > bases do well in simple cases, but may also lead to enormous   
   > > execution time.  At least theoretically Trager procedure has   
   > > lower complexity than Groebner bases, so it is not clear if   
   > > adding Groebner bases to the mix helps.   
   > >   
   >   
   > And also about ten lines of Mathematica code in the Appendix - but this   
   > line count does not include a separate interface package used to access   
   > Singular on whose Groebner basis engine the code relies (without real   
   > need, I suppose).   
   >   
      
   AFAICS this code does not handle any complications which are   
   mentiond in the paper (that is caller must prepare data in   
   a special way).   
      
   BTW: Trager procedure builds divisors (that is colections of   
   zeros and poles) corresponding to candidate integrals.  Then   
   divisors have to be combined and checked if they correspond to   
   real funtions.  If not, there is no elementary integral.   
   If there is rationalizing substitution, then no combining   
   is needed: any divisor gives you a function.   
      
   Compared to that Kauers uses incomplete divisors (without   
   part at infinity) and skipped combining.  His Groebner   
   heuristic attemps to find a function which has arbitrary   
   behaviour at infinity while in finite places has zeros   
   and poles given by the divisor.  AFAICS his procedure is   
   incomplete in at least two places: for some functions   
   combining divisors is needed and he uses fixed bound   
   for order of divisors while it is know that there are   
   divisors of order higher than any fixed bound   
   (and Trager procedure can compute bound on the order).   
   It is not clear for me if Groebner heuristic is complete   
   for the problem of checking if divisor corresponds to   
   a function.   
      
   How this compares to what FriCAS is doing: at first   
   step of Trager procedure FriCAS obtains incomplete   
   divisors (without part at infinity).  They have to   
   be combined to get a complete divisors.  Normaly   
   divisors come in pairs, one for zeros and other   
   for poles.  In such case FriCAS typically can   
   recognize that parts of divisor should be paired and   
   checks combined divisor.  In your examples there   
   is no such pattern, one gets three parts.  ATM I do not   
   know if one needs to combine all parts or (more likely)   
   if one can handle them separately.  If parts can be   
   handled separately then Kauers heuristic has chance   
   to succeed.   
      
   --   
                                 Waldek Hebisch   
   hebisch@math.uni.wroc.pl   
      
   --- 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