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)