I would like to open a bug report to collect the results of investigations of the function $specint. To get an overview of the problems with $specint I have taken the 99 tabulated Laplace transforms from the website of EqWorld.
55 of the 99 examples fail with the original code. I have divided the problems in the following cases:
1. Maxima has no algorithm:
In most cases Maxima gives an internal symbol like other-defint-to-follow-negtest or arbpow-failed. This is a known problem. In some cases we get a correct noun form of the unevaluated integral. At last there are many problems which gives a wrong answer.
A lot of examples include terms like t^(-1) ... or t^(-1/2) ... Maxima can't calculat these integrals but we know solutions.
A simple type of integral Maxima can't evaluate is the division by the sum of constants:
In this cases the exponential function is hidden in a summation. I have found a correction which works generally and gives the correct result:
2. Maxima has an algorithm for a special function but don't give the correct result:
We get no results for functions like bessel_k, bessel_y, log, erf, erfc etc. For all these functions Laplace transforms are tabulated. Beside the test of EqWorld I tried to get results for the internal functions %l[n,a](x) - the Laguerre function - or %he[n](x) - the Hermite function. But I dont' get the expected result.
Here the example for the Laguerre function:
(%o1) [s > 0,n > 0]
Maxima encountered a Lisp error:
Error in MACSYMA-TOP-LEVEL [or a callee]: $N is not of type NUMBER.
To reenable the Lisp debugger set *debugger-hook* to nil.
After correction of the code (the correction is not included in the diff appended to the next post):
(%o1) [s > 0,n > 0]
In the case of the Laguerre function I have found a bug in the transformation. After correction, Maxima gives the expected result shown above for the Laguerre function. There may be further bugs. Or limitations of the algorithmen prevend the calculation of results. At least, these limitations should be documented for the user.
3. Maxima gets extra factors or terms in the result
A simple example is the bessel_i function. Here we get an additional phase factor:
in all calculations. This factor vanish when we introduce a small correction to the code. In other cases the problem seems to be more difficult.