MathGroup Archive 2005

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

Search the Archive

Re: Complex integration

  • To: mathgroup at smc.vnet.net
  • Subject: [mg55840] Re: Complex integration
  • From: Maxim <ab_def at prontomail.com>
  • Date: Thu, 7 Apr 2005 05:10:58 -0400 (EDT)
  • References: <d305d3$rv7$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

On Wed, 6 Apr 2005 08:08:03 +0000 (UTC), Bernhard von Vacano  
<vacano at gmx.de> wrote:

> Dear Group,
>
> I am experiencing problems with a Mathematica simulation I am trying to
> perform.
>
> The first part of my notebook evaluates without any problems:
>
>
> ETL[w_] := Exp[-(w - w0)^2/width^2*2 Log[2]]
>
> EPer[w_] := ETL[w]* Exp[I Pi Cos[2 Pi w/Wm]]
> EPerCC[w_] := ETL[w]* Exp[-I Pi Cos[2 Pi w/Wm]]
>
> parameter := {w0 -> 12500, width -> 250, Wm -> 128}
>
> AmpTL[W_] = Integrate[ETL[w]ETL[w + W] /. parameter, {w, 10000, 20000}]
>
>
> This is the first expression I need for plotting (in the Range of W =
> 0..1000), and gives the correct results.
> With my so far limited mathematica skills, I could not get the following
> modified expression to be evaluated:
>
> AmpPer[W_] = Integrate[EPerCC[w]EPer[w + W] /. parameter, {w, 10000,  
> 20000}]
>
> Like this, it only produces "$RecursionLimit::reclim: "Recursion depth of
> 256 exceeded." und "$IterationLimit::itlim: Iteration limit of 4096
> exceeded."
>
> I have tried other limits for the integration, indefinite integration and
> NIntegrate, but so far it did not work. (At the moment, I am using
> Mathematica 4).
>
> Could anybody help me with this? I don't really know which parameters to  
> use
> or how to restate the problem to get it working. It doesn't seem too  
> hard to
> compute, does it?
>
>
> Thank you very much in advance,
>
> Yours
> Bernhard
>
>

This still hasn't been fixed in version 5.1.0 -- all the following  
Integrate commands crash the kernel:

Integrate[EPerCC[w]*EPer[w + W] /. parameter, {w, 10000, 20000}]
(*crashes the kernel*)

Integrate[EPerCC[w]*EPer[w + W] /. parameter, {w, w1, w2}]
(*crashes the kernel*)

Integrate[EPerCC[w]*EPer[w + W] /. parameter, w]
(*crashes the kernel*)

If we don't substitute a numerical value for Wm, then the crash doesn't  
occur but the integrals are just left unevaluated. We can use NIntegrate:

AmpPer[W_?NumericQ] := NIntegrate[
   EPerCC[w]*EPer[w + W] /. parameter // Evaluate,
   {w, 10000, 12000, 12500, 13000, 20000},
   GaussPoints -> 50]

Plot[Re[AmpPer[W]], {W, 0, 1000}, PlotRange -> All]

(Evaluate isn't necessary in version 5.) This produces a smooth curve, and  
we can plot the imaginary part (which isn't identically zero) in the same  
way.

Maxim Rytin
m.r at inbox.ru


  • Prev by Date: Re: Complex integration
  • Next by Date: Re: spiral cipher
  • Previous by thread: Re: Complex integration
  • Next by thread: Re: Complex integration