Need some help with monitoring evaluation
- To: mathgroup at smc.vnet.net
- Subject: [mg96768] Need some help with monitoring evaluation
- From: dangerrity at gmail.com
- Date: Tue, 24 Feb 2009 05:46:48 -0500 (EST)
Hello,
I'm trying to convolve a Rayleigh distribution with a circular
distribution along the x dimension. It simplifies into a Gaussian
convolved with an expression of the form 1/(pi*Sqrt[q^2-x^2]).
I've done the Fourier transforms (the second one of which yields a
BesselJ function) and multiplied them together. In taking the inverse
transform, the kernel appears to be working on it for hours and
hours. I've let it run 8 hours.
I need to know how to know if it's working along and what kind of time
frame I might expect.
I've interrupted the kernel and started a subsession, but then what?
I've read the docs on interrupting evaluation and I've tried to work
with the debugger -- I just can't get anywhere.
I suppose the way to do it is setup a Monitor with a pattern to see
when certain forms are evaluated. Unfortunately it's out of reach of
my understanding.
What do you recommend for monitoring the evaluation of this
transform? Is there a way I can understand whether the kernel is
making progress or has gotten lost? What can I do in a subsession
following interrupted execution to see where it is in the process? I
think I recall reading about an internal time limit on things like
this. Do I remember correctly?
The code is:
Timing[
conv = InverseFourierTransform[
FourierTransform[ PDF[ NormalDistribution[ m1, s1 ], x ], x,
s] *
BesselJ[ 0, q Abs[s] ]/(Sqrt[ 2 Pi ]),
s,
x,
Assumptions->{ ... (* all reals, s1 and q > 0, etc. *)}
]
]
(Trying the traditional method of determining the convolution by
integrating doesn't work)
Thanks for any help you can provide.