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