MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: SingularityDepth option to NIntegrate in Mathematica 6


> Why is the SingularityDepth option no longer required / useful?

Since NIntegrate has a number of methods to which SingularityDepth
does not apply, SingularityDepth is a method suboption. It is a
suboption of the methods GlobalAdaptive and LocalAdaptive. Here is an
example:

NIntegrate[1/Sqrt[x],{x,0,1},Method-
>{"GlobalAdaptive","SingularityDepth"->Infinity}]



> Does setting the value of SingularityDepth have any effect?

Yes, setting the SingularityDepth has effect on the evaluation (for
backward compatibility), as it can be seen from the results below:

In[104]:= k = 0;NIntegrate[1/Sqrt[x], {x, 0, 1}, EvaluationMonitor :> k
++];k
Out[106]= 132

In[107]:= k = 0;NIntegrate[1/Sqrt[x], {x, 0, 1}, SingularityDepth ->
10, EvaluationMonitor :> k++];k

During evaluation of In[107]:= NIntegrate::ncvb: NIntegrate failed to
\
converge to prescribed accuracy after 9 recursive bisections in x \
near {x} = {0.00193758}. NIntegrate obtained 1.997237951127453` and \
0.004238324551439297` for the integral and error estimates. >>

Out[109]= 209

If, for example, a non-adaptive integration algorithm is used, then
specifying SingularityDepth does not have effect:

In[117]:= k = 0;
NIntegrate[1/Sqrt[x], {x, 0, 1}, Method -> DoubleExponential,
EvaluationMonitor :> k++];k

Out[119]= 33

In[120]:= k = 0;
NIntegrate[1/Sqrt[x], {x, 0, 1}, SingularityDepth -> 10, Method ->
DoubleExponential, EvaluationMonitor :> k++];k

Out[122]= 33


Anton Antonov,
Wolfram Research, Inc.



  • Prev by Date: Re: Are comments safe inside notebook cells
  • Next by Date: Re: Re: Problems updating Graphics3D Polygons
  • Previous by thread: SingularityDepth option to NIntegrate in Mathematica 6
  • Next by thread: Axis missing from simple ListPlot