SymbolicProcessing and NIntegrate
- To: mathgroup at smc.vnet.net
- Subject: [mg122108] SymbolicProcessing and NIntegrate
- From: Martijn Mink <mink.m.p at gmail.com>
- Date: Fri, 14 Oct 2011 05:54:08 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
For my research I often need to evaluate numerical integrals as a
function of an external parameter, for example like
a) int[y_] := NIntegrate[ f[x,y] , {x, domain} ].
The question I have is about the 'option' symbolic processing in
NIntegrate. When i compare
b) Do[NIntegrate[Boole[x > 0], {x, -1, 1}] , {i, 1, 100}] // Timing
and
c) Do[NIntegrate[Boole[x > 0], {x, -1, 1}, Method -> {Automatic,
"SymbolicProcessing" -> 0}], {i, 1, 100}] // Timing,
I find that b) is much slower than c), which indicates that in this case
Mathematica does not reuse the result of SymbolicProcessing from a previous
integral for the next integral. For each integral in the Do loop, Mathematica
goes through the same "SymbolicProcessing".
My question is whether there is a way to let Mathematica perform the
"SymbolicProcessing" on a function, before giving it to NIntegrate. It would
help me a lot if i am able to perform a single "SymbolicProcessing" of the
integrand f(x,y) in a) and then use that result to perform the integral for
different y values without needing to do the SymbolicProcessing for each y-
value separately.
If you have other suggestions for "my problem" i would of course be very
happy to hear those.
Thanks on beforehand,
Kind regards,
Martijn Mink
PhD-student in Physics
The Netherlands