[SciPy-user] slow integrals
emsellem at obs.univ-lyon1.fr
Wed Jun 7 05:18:29 CDT 2006
I am performing a double integration using scipy.integrate.quad and it
seems rather slow in fact so I would like to know if there is any way to
make it more efficient (I have a pure C version of that integral and it
is much faster, maybe by a factor of more than 10!).
I am doing this integral as:
result = scipy.integrate.quad(IntlosMu1, -Inf, Inf,...)
so an integral between - and + infinity.
The Integrand (IntlosMu1) is itself an integral which I am computing
using a direct Quadrature (it is an integral on an adimensional variable
T which varies between 0 and 1).
So I compute once and for all the abs and weight for the quadrature using
[Xquad, Wquad] = real(scipy.special.orthogonal.ps_roots(Nquad))
and then I pass on Xquad and Wquad as parameters to
scipy.integrate.quad, to be used in the integrand.
(One last note: I am computing this double integral many many times on
different points so I really need efficiency here...)
So the questions I have are:
- can you already see something wrong with this in terms of efficiency?
(I doubt it since I don't provide much info, but just in case)
- are there other integration scheme I could use to do that ?
- how should I try to test things and see where the bottleneck is?
thanks a lot for any input on all this!
all the best
More information about the SciPy-user