# [Maxima] Further work on \$specint

Dieter Kaiser drdieterkaiser at web.de
Thu Jun 19 17:37:48 CDT 2008

```I continue the work on \$SPECINT. On the one hand I try to improve the existing
algorithm, on the other hand I try to extend \$SPECINT further.

1.

First I added an algorithm to calculate more general integrals of the typ
t^v*(a+t)^w. The general result of this integral can be expressed in terms of
the Hypergeometric U function. In special cases this can be transformed to a
Gammaincomplete function or a sum of Hypergeometric 1F1 functions. For w=0 we
get the result in terms of a Gamma function. This case is allready implemented
in Maxima.

For v=0 and w<>0 we get results in terms of the Gammaincomplete function:

(%o6) gammaincomplete(0,a*s)*%e^(a*s)

Two more general cases which transform to 1F1 functions which simplifies to Erf
functions:

(%o7) (%pi-%pi*erf(sqrt(a)*sqrt(s)))*%e^(a*s);

(%o8) (sqrt(a)*(%pi*erf(sqrt(a)*sqrt(s))-%pi)*sqrt(s)*%e^(a*s)+sqrt(%pi))
/(sqrt(a)*sqrt(s))

2.

Next I have implemented a first version to integrate functions containing the
Unit Step function. I used the existing function unit_step from orthopoly. The
algorithm works in principle, but I have to do further work to do it more
generally including sums of Unit Step functions.

Here some examples with the new code:

(%i13) specint(%e^(-s*t)*unit_step(t-a),t);
(%o13) %e^(a*s)/s

(%o15) (a*s+1)*%e^(a*s)/s^2

The following result can be shown to simplify to an Erf function:

(%o17) gammaincomplete(1/2,a*s)*%e^(2*a*s)/(sqrt(%pi)*sqrt(s))

For integrals with the Unit Step function it would be also nice to have an
algorithm to integrate general sums like (sum unit_step(t-n*a),n,0,inf).

3.

A next step to complete the integration of the tabulated integrals would be to
integrate expressions containing the Abs function. The algorithm should be not
to difficult to implement. I am working on it.

4.

It would be nice when the Hypergeometric functions and other special functions
would be simplifying functions. I think it is not a good idea to extend \$SPECINT
to give more simple and equivalent results. A more natural way would be to have
simplifying routines for the functions themselfs.

An example is the following integral (with the new algorithm for t^v*(a+t)^w):

(%i18) specint(%e^(-s*t)*(t+a)^(-3/2),t);
(%o18) gammaincomplete(-1/2,a*s)*sqrt(s)*%e^(a*s);

This result can be expressed in terms of the Erfc function with the known
special value for the Gammaincomplete function:

gammaincomplete(-1/2,z)=2*e^-z/sqrt(z)-2*sqrt(%pi)*erfc(sqrt(z))

This could be the result of a simplifying routine for the Gammaincomplete
function.

Dieter Kaiser
```