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,728 of 10,432   
   clicliclic@freenet.de to Nasser M. Abbasi   
   Re: question on Rubi and special functio   
   03 Dec 17 18:32:53   
   
   "Nasser M. Abbasi" schrieb:   
   >   
   > On 12/1/2017 10:20 AM, Richard Fateman wrote:   
   >   
   > >   
   > > I think the smart way to do a lot of these,  and what is done   
   > > at least in part by Maxima's specint, and I think inside Mathematica,   
   > > is to change the integrand to a different representation as   
   > > a Meyer G-function or hypergeometric function,  and then   
   > > mess around with it (probably algorithmically, but maybe   
   > > amenable to Rubi approach). Then convert back to more   
   > > common functions as possible (again using Rubi?)   
   > >   
   >   
   > If Rubi could integrate MeijerG, then this will convert   
   > many special functions including Bessel*   
   >   
   > restart;   
   > convert( BesselY(1,x),'MeijerG');   
   >     MeijerG([[], [-1]], [[1/2, -1/2], [-1]], (1/4)*x^2)   
   >   
   > convert( BesselI(1,x),'MeijerG');   
   >     -I*MeijerG([[], []], [[1/2], [-1/2]], -(1/4)*x^2)   
   >   
   > convert( BesselJ(1,x),'MeijerG');   
   >     MeijerG([[], []], [[1/2], [-1/2]], (1/4)*x^2)   
   >   
   > convert( BesselK(1,x),'MeijerG');   
   >     (1/2)*MeijerG([[], []], [[1/2, -1/2], []], (1/4)*x^2)   
   >   
   > convert( BesselY(1/3,x),'MeijerG');   
   >      MeijerG([[], [-2/3]], [[1/6, -1/6], [-2/3]], (1/4)*x^2)   
   >   
   > convert( BesselI(1/3,x),'MeijerG');   
   >    -(-1)^(5/6)*MeijerG([[], []], [[1/6], [-1/6]], -(1/4)*x^2)   
   >   
   > convert( BesselJ(1/3,x),'MeijerG');   
   >     MeijerG([[], []], [[1/6], [-1/6]], (1/4)*x^2)   
   >   
   > convert( BesselK(1/3,x),'MeijerG');   
   >     (1/2)*MeijerG([[], []], [[1/6, -1/6], []], (1/4)*x^2)   
   >   
   > Therefore   
   >         int(BesselY(1,x),x)   
   > would be the same as   
   >        int(MeijerG([[], [-1]], [[1/2, -1/2], [-1]], (1/4)*x^2),x)   
   >   
   > Verified in Mathematica:   
   >   
   > r1 = Integrate[MeijerG[{{}, {-1}}, {{1/2, -2^(-1)}, {-1}}, (1/4)*x^2], x]   
   >     -((Sqrt[x^2]*BesselY[0, Sqrt[x^2]])/x)   
   >   
   > r2=Integrate[BesselY[1,x],x]   
   >     -BesselY[0,x]   
   >   
   > And r1-r2 is zero verified by plotting.   
   >   
   > So I think if Rubi has rules to integrating MeijerG   
   > special function then this will cover many other special function   
   > that it currently do not have rules for by converting them   
   > to MeijerG first.  But may be having rules to integrate MeijerG   
   > might be very complicated.   
   >   
      
   The indefinite integral of a Meijer G-function is easy to write down.   
   It is more difficult to reduce the antiderivative down to the simplest-   
   possible combination of elementary or hypergeometric functions. Barring   
   some exceptional parameter combinations, this is always possible,   
   however. One has:   
      
   INT(MeijerG(a, b, c, d, x), x)   
    = x * MeijerG(APPEND([0], a), b, c, APPEND(d, [-1]), x)   
    = -x * MeijerG(a, APPEND(b, [0]), APPEND([-1], c), d, x)   
      
   Here, a, b, c, d are the familiar parameter vectors of length n, p-n,   
   m, q-m, and APPEND(u, v) denotes the concatenation of the vectors u and   
   v. The two results may differ by some constant. Because G-function   
   parameters must obey certain restrictions, the antiderivative should be   
   chosen accordingly.   
      
   Martin.   
      
   PS @Santa: Only three weeks left till Xmas!   
      
   --- 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