Hi Dieter,
These tellsimp() rules can be converted to a program in Maxima code obviously. That is how I got started with pw.mac.
Actually Maxima code is the best way to do them short of writing it directly in Lisp. If you are not going to do it in
Lisp I might do it in Maxima code myself and post the program to the list.
Rich
--------------------------------------------------
From: "Dieter Kaiser" <drdieterkaiser at web.de>
Sent: Tuesday, March 09, 2010 5:49 PM
To: "Richard Hennessy" <rich.hennessy at verizon.net>
Cc: <maxima at math.utexas.edu>
Subject: Re: [Maxima] Integrating gamma_incomplete
> 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
>
>
>