Am Montag, den 08.03.2010, 20:42 -0500 schrieb Richard Hennessy:
> Hi again,
>
> Sorry for another post on this. I figured out the problem with the rules and I also found a bug in quad_qagi, I think
> but it may just be overflow. Any here it is.
>
> (%i43) display2d:false;
> (out43) false
> (%i44) out4;
> (out44) -(gamma_incomplete(6/7,9*x^7)*x-gamma_incomplete(1,9*x^7)/9^(1/7))/(7*9^(6/7))
> (%i45) quad_qagi(%,x,0,inf);
> gamma_incomplete: continued fractions failed for gamma_incomplete(1.0, 4.3682654441477153E+19).
> (out45) quad_qagi(-(gamma_incomplete(6/7,9*x^7)*x-gamma_incomplete(1,9*x^7)/9^(1/7))/(7*9^(6/7)),x,0,inf,epsrel =
> 1.0E-8,epsabs = 0.0,limit = 200)
> (%i46)
>
> Now for the rules that work.
>
> matchdeclare([a,s],freeof(x),x,true,[m,n],nonnegintegerp)$
> block(
> [simp:false],
> tellsimp('integrate(gamma_incomplete(s, a*x^n), x),x*gamma_incomplete(s, a*x^n) - (x*gamma_incomplete(1/n + s,
> a*x^n))/(a^(1/n)*(x^n)^(1/n))),
> tellsimp('integrate(gamma_incomplete(s, a*x^n)*x^m, x),x*gamma_incomplete(s, a*x^n)*x^m/(m+1)
> - (x*gamma_incomplete((m+1)/n + s, a*x^n))/((m+1)*a^((m+1)/n)*(x^n)^(1/n)))
> )$
> remove([a,s,x,m,n],matchdeclare)$
> declare(integrate,linear);
> assume(x>0);
> /* eof */
Hello Richard,
thank you for your suggestions to implement a rule to get the more
general integral of gamma_incomplete.
Because of your suggestion I had a look at the code of abs_integrate to
get some ideas how to implement all the integrals of special functions
in a more general way.
I have not a lot of experience with Maxima code. My favorite is Lisp and
I am interested in improving the core functionality of Maxima.
Dieter Kaiser