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 GenzMalik 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: , 
