Triple integral with Gaussian quadrature
Hi all, Is there a way to compute a triple integral via Gaussian quadrature in scipy ? A small example would be appreciated. What integration method is used in tplquad(func, a, b, gfun, hfun, qfun, rfun, args=(), epsabs=1.4899999999999999e-08, epsrel=1.4899999999999999e-08) ? quadrature(func, a, b, args=(), tol=1.4899999999999999e-08, maxiter=50) Nils
Nils Wagner wrote:
Hi all,
Is there a way to compute a triple integral via Gaussian quadrature in scipy ? A small example would be appreciated.
What integration method is used in tplquad(func, a, b, gfun, hfun, qfun, rfun, args=(), epsabs=1.4899999999999999e-08, epsrel=1.4899999999999999e-08) ?
It's just quad() run over the function defined by doing the double integral over the remaining dimensions (and the double integral is also implemented with quad() by integrating over the function defined by doing the integral using quad() to finally integrate over the last dimension). quad() comes from QUADPACK. Exactly which QUADPACK function is called depends on the inputs; infinite bounds require one function, weighted integrals require others, explicit breakpoints require yet another. You can figure which by looking at the source code in Lib/integrate/quadpack.py, and then you can read the documentation in Lib/integrate/quadpack/readme to learn about the algorithms used by those functions. In order to do triple integrals with Gaussian quadrature, you can probably do a similar recursive scheme like tplquad() does. You can read the source for details. -- Robert Kern rkern@ucsd.edu "In the fields of hell where the grass grows high Are the graves of dreams allowed to die." -- Richard Harter
participants (2)
-
Nils Wagner -
Robert Kern