Small extension to the integrator to support argument substitution
Subject: Small extension to the integrator to support argument substitution
From: Dieter Kaiser
Date: Wed, 24 Dec 2008 01:03:40 +0100
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