Student Support Forum: 'Multidimensional NIntegrate Question' topicStudent Support Forum > General > Archives > "Multidimensional NIntegrate Question"

 Help | Reply To Topic
 Author Comment/Response Erik Hom 02/10/01 09:37am Hi folks, Actually, I have 3 questions: (1) Does any one know where I might find out more about the Genz-Malik adaptive algorithm that is implemented by default in the multidimensional Nintegrate function (...or any of the other methods) ? I've sifted through most of the Math Support site/posts with out any good leads. (2) I get tons of errors when I try and NIntegrate my function of 2 variables, vx and vy, over {0->Infinity}, such as: ''NIntegrate::''inum'' ''Integrand Indeterminateis not numerical at {vx, vy} = {4.9644777335711526*^17, 31.} and ''General::unfl : Underflow occured in computation'' Shouldn't NIntegrate be able to handle the infinite upper limit? Any suggestions for how I should massage the options? For those who want to try it out: P = 4.4000000000000004`*^-8; B = -0.00001000000000000001`; \[Beta] = -9.`*^-7; w = 0.0001`; \!\(NIntegrate[\(1\/\(2\ \[Pi]\)\) \((\[ExponentialE]\^\(\(-\(1\/4\)\)\ \((vx\ \^2 + vy\^2)\)\ w\^2 - 1\/2\ tau\ \((A + \((vx\^2 + vy\^2)\)\ \[Alpha] + \ \@\(P + \((\(-B\) + \((vx\^2 + vy\^2)\)\ \[Beta])\)\^2\))\)\)\ w\^2\ \((1 + \ \[ExponentialE]\^\(tau\ \@\(P + \((\(-B\) + \((vx\^2 + vy\^2)\)\ \ \[Beta])\)\^2\)\) + \(\((1 - \[ExponentialE]\^\(tau\ \@\(P + \((\(-B\) + \ \((vx\^2 + vy\^2)\)\ \[Beta])\)\^2\)\))\)\ \((B - \((vx\^2 + vy\^2)\)\ \ \[Beta])\)\)\/\@\(P + \((\(-B\) + \((vx\^2 + vy\^2)\)\ \[Beta])\)\^2\))\))\), \ \ {vx, \ 0, lim}, \ {vy, 0, lim}]\) (3) I've tried different NIntegrate methods: QuasiMonteCarlo and DoubleExponential. None seem to get around the problems the infinity limit is imposing or generates the wrong answer (e.g., at tau=0, the integral should = 1). I realize I don't need to use the Inifinite limit; in fact, I have been setting the limit to ~40000.-100000. for speed purposes. However, I need to compute this integral for different parameter values within the integrand, and the ''optimally lowest''upper limit to get results accuracy in the 6th decimal place, seems to change (not surprisingly). Any one have suggestions on how I can optimize this (in terms of accuracy and speed) with respect to this limit? Any help would be greatly appreciated! Thanks, erik URL: ,
 Help | Reply To Topic