# [Maxima] Small extension to the integrator to support argument substitution

Dieter Kaiser drdieterkaiser at web.de
Tue Dec 23 18:03:40 CST 2008

```It is possible to give some more support to the integrator for special
functions. The function intform can try do find a substitution for the argument
of special functions.

Here are some examples for the expintegral_ei function with arguments like
x^(p/q):

The first is an example too, that the simplification erf(%i*x)=%i*erfi(x) can be
useful.

(%i57) integrate(expintegral_ei(x^2),x);
(%o57) x*expintegral_ei(x^2)+sqrt(%pi)*%i*erf(%i*x)

(%i58) integrate(expintegral_ei(x^3),x);
(%o58) x*expintegral_ei(x^3)-gamma_incomplete(1/3,-x^3)

(%i59) integrate(expintegral_ei(x^-2),x);
(%o59) expintegral_ei(1/x^2)*x-%i*gamma_incomplete(-1/2,-1/x^2)*x/abs(x)

(%i60) integrate(expintegral_ei(x^(1/2)),x);
(%o60) 2*(expintegral_ei(sqrt(x))*x/2-(sqrt(x)-1)*%e^sqrt(x)/2)

(%i61) integrate(expintegral_ei(x^(-1/2)),x);
(%o61) 2*(expintegral_ei(1/sqrt(x))*x/2+gamma_incomplete(-2,-1/sqrt(x))/2)

(%i62) integrate(expintegral_ei(x^(-3/4)),x);
(%o62) 4*(expintegral_ei(1/x^(3/4))*x/4+gamma_incomplete(-4/3,-1/x^(3/4))/4)

(%i63) integrate(expintegral_ei((x+1)^(1/2)),x);
(%o63) 2*((x+1)*expintegral_ei(sqrt(x+1))/2-(sqrt(x+1)-1)*%e^sqrt(x+1)/2)

A lot of more examples can be found.

I will commit the small extension.

Dieter Kaiser

```