I've played around a bit with quadpack and have a very rough interface
to quadpack for maxima. Quadpack is an adaptive numerical quadrature
package.
Here is an example from one of the quadpack test integrals. It's nice
that maxima can actually analytically integrate it.
(C27) integrate((1-x*x)^(-1/2)/(x+1+2^(-5)),x,-1,1);
32 SQRT(65) %PI
(D27) ---------------
65
(C28) quad_qags((1-x*x)^(-1/2)/(x+1+2^(-5)),x,-1d0, 1d0);
(D28) [12.46933155122735, 1.566936802532837e-9, 987, 0]
(C29) ev(d27,numer);
(D29) 12.46933155121335
The output in d28 says the value is 12.469, with an estimated absolute
error of 1.5e-9, and it took 987 function evaluations to get this, and
no problems encountered (0). This compares favorably with the true
value in d29.
Currently, I just build it as a part of maxima, in the src/numerical
directory, mostly because that was easy to do. Still needs some work to
get all of the integrators, but that's straight-forward.
Any interest in this package? Should it be distributed separately from
maxima? A part of maxima? If a part, where?
Ray