MathGroup Archive 2003

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

Search the Archive

Re: Mystery: NIntegrate'ing indeterminate-length integrand!

  • To: mathgroup at
  • Subject: [mg44077] Re: [mg44057] Mystery: NIntegrate'ing indeterminate-length integrand!
  • From: "Peter Pein" <nospam at>
  • Date: Tue, 21 Oct 2003 02:07:51 -0400 (EDT)
  • References: <>
  • Sender: owner-wri-mathgroup at

Nintegrate[] decides, at which values for x the integrand is to be evaluated
and passes these values to Sum[]. Simple, isn't it?
If your "Mie-integrand" is discontinuous, try to give NIntegrate the
critical places (see online help for NIntegrate).
In your example:

    Sum[ Power[x,Power[i,-1]], {i,1,IntegerPart[x]} ],
Evaluate[Prepend[Range[8],x]] ]

Mathematica will not complain about bad convergence.

Peter Pein, Berlin
petsie at
replace && by || to write to me

----- Original Message -----
From: "Frank Iannarilli" <frankeye at>
To: mathgroup at
Subject: [mg44077] [mg44057] Mystery: NIntegrate'ing indeterminate-length integrand!

> Hi All,
> Here's a mystery to me: (I split the expression to help visually)
>   NIntegrate[
> {x,1.,8.}]
>               Sum[ Power[x,Power[i,-1]], {i,1,IntegerPart[x]} ],
> evaluates successfully (albeit with convergence warning: I got 68.14).
> My understanding (verified by TracePrint) is that NIntegrate[]
> evaluates the integrand expression, expanding it "all the way down"
> while holding the integration variable (x) unevaluated.  But in the
> above, how can Sum[] know the number of terms to which to expand the
> expression before NIntegrate[] instantiates a numeric value for x?
> Shouldn't things "get stuck"?
> The reason I'm wondering about this is Mathematica is crashing on
> to evaluate what I take to be a structurally similar integrand.  To be
> specific, I'm integrating the Mie scattering expression over a range
> of size parameters - the Mie expression itself is a summation of
> terms, with the number of terms (Wiscombe limit) being determined by
> the size parameter (integration variable).
> When I evaluate that, the kernel crashes (every time, irregardless of
> integration limits: Mathematica5.0, Win2kPro, P4 512MB RAM).  But I can
> numerically integrate the same expression "by hand", so the expression
> itself is not defective.
> Could this "Mie integration" expression simply be expanding, as it is
> evaluated, to such an internal size that the kernel is overwhelmed?
> And how does the first NIntegrate[] above work?
> Thanks!

  • Prev by Date: Re: Re: recode procedural algorithm to faster functional module
  • Next by Date: Re: What Happens to Garbage in Mathematica?
  • Previous by thread: Mystery: NIntegrate'ing indeterminate-length integrand!
  • Next by thread: Re: Mystery: NIntegrate'ing indeterminate-length integrand!