Integration of functions with two args using integral property



Am Sonntag, den 28.12.2008, 10:47 +1100 schrieb Billinghurst, David
(RTATECH):
> I have been looking at Deiter Kaiser's recent integral property code in
> sin.lisp.  
> The initial version only integrates functions with two args wrt the
> second argument.
> At least three functions in sin.lisp are modified.  I understand the
> changes to 
> integrallookups, but not those in intform or diffdiv.

In short:

The first change to intform apply the method of integration-by-parts to
a rational function times a special function. To do this a routine
partial-integration is added. The second change invoke a search for an
argument substitution. Thus integrals like expintegral_ei(sqrt(x)) can
be solved.

The changes to diffdiv ensure that we take the second argument for the
functions expintegral_e and gamma_incomplete. These are the only cases
which are implemented at this time. This has to be generalized.

The routines diffdiv and partial-integration give all additional
integrals for the special functions. An further important extension was
to support more integrals for the power function. These integrals are
needed by the routines diffdiv and partial-integration to get more
results for special functions.

For your case of integration wrt the first argument of a function with
two arguments the original code will work. But this has to be
generalized too.

> The patch below extends integrallookups to work for integration wrt
> argument 1.
> It can be combined with the arg2 case below it, but I wanted to develop
> a few
> tests first.  Any objections if I apply it as is?  It works and doesn't
> break
> the testsuite.

Yes, it could be combined. But we have also to support functions with
three arguments, ... Perhaps we can find a more general algorithm which
will work for an arbitrary number of arguments and lists as an argument.

> I have coded up the integrals of the Jacobi elliptic functions as test
> cases,
> and just need to get the last bugs out.

It will be interesting for me to see the new result.

Dieter Kaiser