### The Maxima on-line user's manual

Algebra Calculator

#### Specint

Function: specint (exp(- s*<t>) * <expr>, <t>) Compute the Laplace transform of <expr> with respect to the variable <t>. The integrand <expr> may contain special functions.

The following special functions are handled by `specint`: incomplete gamma function, error functions (but not the error function `erfi`, it is easy to transform `erfi` e.g. to the error function `erf`), exponential integrals, bessel functions (including products of bessel functions), hankel functions, hermite and the laguerre polynomials.

Furthermore, `specint` can handle the hypergeometric function `%f[p,q]([],[],z)`, the whittaker function of the first kind `%m[u,k](z)` and of the second kind `%w[u,k](z)`.

The result may be in terms of special functions and can include unsimplified hypergeomtric functions.

When `laplace` fails to find a Laplace transform, `specint` is called. Because `laplace` knows more general rules for Laplace transforms, it is preferable to use `laplace` and not `specint`.

`demo(hypgeo)` displays several examples of Laplace transforms computed by `specint`.

Examples:

```          (%i1) assume (p > 0, a > 0)\$
(%i2) specint (t^(1/2) * exp(-a*t/4) * exp(-p*t), t);
sqrt(%pi)
(%o2)                     ------------
a 3/2
2 (p + -)
4
(%i3) specint (t^(1/2) * bessel_j(1, 2 * a^(1/2) * t^(1/2))
* exp(-p*t), t);
- a/p
sqrt(a) %e
(%o3)                    ---------------
2
p```

Examples for exponential integrals:

```          (%i4) assume(s>0,a>0,s-a>0)\$
(%i5) ratsimp(specint(%e^(a*t)*(log(a)+expintegral_e1(a*t))*%e^(-s*t),t));
log(s)
(%o5)                               ------
s - a```

```          (%i6) logarc:true\$
(%i7) gamma_expand:true\$
-sin(t)*expintegral_ci(t))*%e^(-s*t),t));
log(s)
(%o8)                               ------
2
s  + 1```

```          (%i9) ratsimp(specint((2*t*log(a)+2/a*sin(a*t)
-2*t*expintegral_ci(a*t))*%e^(-s*t),t));
2    2
log(s  + a )
(%o9)                            ------------
2
s```

Results when using the expansion of `gamma_incomplete` and when changing the representation to `expintegral_e1`:

```          (%i10) assume(s>0)\$
(%i11) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
1
gamma_incomplete(-, k s)
2
(%o11)                      ------------------------
sqrt(%pi) sqrt(s)```

```          (%i12) gamma_expand:true\$
(%i13) specint(1/sqrt(%pi*t)*unit_step(t-k)*%e^(-s*t),t);
erfc(sqrt(k) sqrt(s))
(%o13)                        ---------------------
sqrt(s)```

```          (%i14) expintrep:expintegral_e1\$
(%i15) ratsimp(specint(1/(t+a)^2*%e^(-s*t),t));
a s
a s %e    expintegral_e1(a s) - 1
(%o15)                - ---------------------------------
a```

```(%o1)                                true
(%i2) ```

? specint;

Calculate

? specint;

Calculate