MathGroup Archive 1999

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

Search the Archive

SUMMARY: NIntegrate: <XXX> should be a machine-size complex...


Thanks to Kevin McCann and Paul Abbott replies, I discovered that
Mathematica's strange message was triggered by the option MaxPoints in
NIntegrate, which forces it to use a QuasiMonteCarlo algorithm, and
disappears using the default (MultiDimensional) algorithm. I had forced the
QuasiMonteCarlo method because of the large computation times of the
default method.
Paul sent me an example that solved my problem:the integration times are
dramatically reduced if the integrand is biased to avoid zero values for
the integrand! (disclaimer: this is my summary, so any mistakes in the
above statement are my own..)

If f[x,y]==InterpolateFunction[something Real], 0<f[x,y]<1 for every x,y in
the integration domain, then

Timing[NIntegrate[f[x,y]^2,{x,xmin,xmax},{y,ymin,ymax},AccuracyGoal->5]]]=={249.
34*Second,...}

Timing[NIntegrate[famp2[x,y]^2+2, {x,xmin,xmax},{y, ymax,ymax},
AccuracyGoal->5]-2*(xmax-xmin)*(ymax-ymin)]=={26.42*Second,...}

Timing[NIntegrate[famp2[x,y]^2+1, {x,xmin,xmax},{y, ymax,ymax},
AccuracyGoal->5]-(xmax-xmin)*(ymax-ymin)]=={42.96*Second,...}

Thanks again to Kevin and Paul!

Alessandro




  • Prev by Date: Special 3D Plots
  • Next by Date: Re: Sign Query
  • Previous by thread: Re: Special 3D Plots
  • Next by thread: Image-Sequence analyse with M4