MathGroup Archive 2009

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

Search the Archive

Prony method for resonator loss calculations

  • To: mathgroup at
  • Subject: [mg102067] Prony method for resonator loss calculations
  • From: gcarlson <gcarlson at>
  • Date: Wed, 29 Jul 2009 05:05:04 -0400 (EDT)

I am trying to compose a Mathematica notebook to implement the Prony 
method as described by Siegman and Miller ("Unstable Optical Resonator 
Loss Calculations Using the Prony Method." Applied Optics 9:2729-2736 

I'm beginning by trying to duplicate the sample calculation in 
Siegman's paper.  I define a functional that I will use to create a 
list of iterated vectors v.

fcnl := Function[{x, f},
   I^(l+1)*c*NIntegrate[y*BesselJ[l, c*x*y] Exp[-I*(c*g)/2*(x^2 + 
y^2)] f[y] , {y, 0, 1}]]

I define some needed constants.

l := 0
c := 1
g := 1
M := 20

Then I create a module to create the list {Subscript[v,n]}.

Module[{nmax = M},
  Subscript[v, 0][x_] = 1;
  Do[Subscript[v, n + 1][x_] = fcnl[x, Subscript[v, n]], {n, 0, nmax}]

As a check, I evaluate the 20th iterated vector at the endpoints.

Subscript[v, 20][1]
Subscript[v, 20][0]

-7.15455*10^-8 + 3.00851*10^-8 I

-8.78196*10^-8 - 7.99464*10^-9 I

It appears that the iterated vectors quickly become very small.  Does 
this make sense?

Is this approach doing what I want it to do?

I would appreciate any assistance with or corrections to setting up 
this problem.

Thanks and regards,


  • Prev by Date: Re: ReplacePart except first element?
  • Next by Date: Re: How to group the graph
  • Previous by thread: Re: The audience for Mathematica (Was: Show doesn't work inside Do
  • Next by thread: Re: Prony method for resonator loss calculations