bessel_i (2, %i*x) or bessel_i(2, x) with integrate --> noun form



Am Sonntag, den 23.10.2011, 13:08 -0700 schrieb Edwin Woollett:
> bessel_i(2, z) apparently doesn't have an
> integration rule for integrate?
> 
> (%i1) load(nint);
> (%o1) "c:/work2/nint.mac"
> 
> ------------------
> bessel_i  examples
> ------------------------
> 
> order 1 numerical:  ok:
> 
> (%i2) integrate (bessel_i(1,%i*x),x,1,10000);
> (%o2) %i*bessel_i(0,10000*%i)-%i*bessel_i(0,%i)
> (%i3) f(%);
> (%o3) -0.77229384691136*%i
> 
> order 1 symbolic: ok:
> 
> (%i16) integrate(bessel_i(1,x),x);
> (%o16) -bessel_i(0,x)
> 
> (%i17) integrate(bessel_i(1,%i*x),x);
> (%o17) %i*bessel_i(0,%i*x)
> 
> *but*
> order 2 numerical: * noun form:*
> 
> (%i4) integrate (bessel_i(2,%i*x),x,1,3);
> (%o4) 'integrate(bessel_i(2,%i*x),x,1,3)
> 
> order 2 symbolic: noun form:
> 
> (%i14) integrate(bessel_i(2,x),x);
> (%o14) 'integrate(bessel_i(2,x),x)
> 
> (%i15) integrate(bessel_i(2,%i*x),x);
> (%o15) 'integrate(bessel_i(2,%i*x),x)
> 
> order 2 symbolic, imag. arg:  noun form
> 
> (%i5) integrate (bessel_i(2,%i*x),x,a,b);
> (%o5) 'integrate(bessel_i(2,%i*x),x,a,b)
> 
> order 1 symbolic, imag. arg:  ok
> 
> (%i6) integrate (bessel_i(1,%i*x),x,a,b);
> (%o6) %i*bessel_i(0,%i*b)-%i*bessel_i(0,%i*a)
> 
> order 2 symbolic, real arg:  noun form
> 
> (%i7) integrate (bessel_i(2,x),x,a,b);
> (%o7) 'integrate(bessel_i(2,x),x,a,b)
> 
> -------------------
> bessel_j example:
> ------------------------
> 
> (%i8) integrate (bessel_j(2,x),x,a,b);
> (%o8) hypergeometric([3/2],[5/2,3],-b^2/4)*b^3/24
>        -hypergeometric([3/2],[5/2,3],-a^2/4)*a^3/24
> 
> -------------------------
> bessel_y example:
> --------------------------
> 
> (%i9) integrate (bessel_y(2,x),x,a,b);
> (%o9) ((%pi*struve_h(0,b)*bessel_y(1,b)+%pi*struve_h(-1,b)*bessel_y(0,b))*b
>        -4*bessel_y(2,b))
>        /2
>        -((%pi*struve_h(0,a)*bessel_y(1,a)+%pi*struve_h(-1,a)*bessel_y(0,a))*a
>         -4*bessel_y(2,a))
>         /2
> 
> So the case of bessel_i appears anomalous.
> 
> bessel_i  orders 3 and 4:
> 
> (%i10) integrate (bessel_i(3,%i*x),x,1,3);
> (%o10) 'integrate(bessel_i(3,%i*x),x,1,3)
> 
> (%i11) integrate (bessel_i(4,%i*x),x,1,3);
> (%o11) 'integrate(bessel_i(4,%i*x),x,1,3)
> 
> (%i12) integrate (bessel_i(3,%i*x),x,1,b);
> (%o12) 'integrate(bessel_i(3,%i*x),x,1,b)
> 
> (%i13) integrate (bessel_i(4,%i*x),x,a,b);
> (%o13) 'integrate(bessel_i(4,%i*x),x,a,b)

Yes, the integrals you have listed are not implemented. It is possible
to give solution in terms of the hypergeometric function. Barton has
implemented much more support for hypergeometric functions. Therefore,
it might be useful to implement the integrals. 

Dieter Kaiser