MathGroup Archive 2009

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

Search the Archive

Re: Convolution of a Gaussian Distribution and a discontinuous function

Hi Jens,

take a step back and look at your "conv". It is a sum over Gaussians, 

the number of summands depends on ll. You have an expansions in 

Gaussians, what is not the worst thing to work with. Derivatives are a 

piece of cake. Integration will give error functions that are a bit more 

cumbersome. But they are built into Mathematica.

If you still want another approximation, here is a rational 

approximation of your example:

fun = conv /. vars /. xx -> x;

x0 = 0.5;

ap = MiniMaxApproximation[fun, {x, {-x0, x0}, 12, 12}][[2]]

Plot[{fun, ap}, {x, -x0, x0}, PlotRange -> All]

Plot[{fun - ap}, {x, -x0, x0}, PlotRange -> All]

Plot[{ap}, {x, -1, 1}, PlotRange -> All]

hope this helps, Daniel

Dan629 wrote:

> This is a repost of a reply on an earlier thread but I think it got

> buried so I'm putting it up as a new topic with a more relevant

> subject line.

> -------

> I don't know if this is a forum where math questions are posted (as

> opposed to strictly Mathematica questions), but I'll ask anyway.


> The PDF of the circular uniform distribution in one dimension has two

> discontinuities at x = radius.  This makes the required integration to

> do a convolution fail, and it fails in Fourier space as well.  If I do

> a numeric convolution with ListConvolve, of course, I can easily get a

> result. Alternatively I can use a summation and get a symbolic result

> consisting of hundreds of summands.  These work, but neither solution

> can be readily integrated or differentiated when the other independent

> variables are complicated as they are in my case.  I'd really like to

> get a closed form symbolic formula for the convolution.  Am I dreaming

> to think that Mathematica, with all it's rich complexity, can do

> something like this?  Or it is simply a fact of math that a

> discontinuous function cannot be convolved with a Gaussian

> Distribution and no trick (DiracDelta, HeavisideTheta) or

> computational genius will make it work?


> Given a failed convolution, I can use the summation solution and then

> fit the resulting curve. I've used the Taylor and polynomial

> expansions along with FFTs, but I'm not able to get a close enough

> approximation.  The convolution is a beautiful, continuous curve based

> on a sum of Gaussians and so intuitively it seems as though it would

> be easy to fit, but I can't seem to get it.  It seems that an

> approximation of either the Gaussian Distribution or the circular

> uniform distribution would make the integration possible, too.  But I

> struggle with getting suitable non-exponential approximations to

> either of those.


> So, for the illustration, look at this:


> vars = { ll -> .27, mm -> 0, ss -> .06 };

> pdf1[ xx_ ] := PDF[ NormalDistribution[ mm, ss ], xx ];

> pdf2[ xx_ ] :=

>     Piecewise[

>         { { 1/(Pi * Sqrt[ ll^2 - xx^2 ]), Abs[ xx ] < ll } }

>     ];

> Plot[ { pdf1[ xx ], pdf2[ xx ] } /. vars, { xx, -.3, .3 } ]

> conv = Sum[

>     (pdf1[ xx - zz ] pdf2[ zz ]), { zz, -.6, .6, 0.02 } ] / 60;

> Plot[ Evaluate[ conv /. vars ], { xx, -.5, .5 } ]


> I'm seeking a symbolic representation of the second curve.


> (All variables are real, and both ll and ss are always positive.)


> Please be kind Jens -- I'm admittedly an amateur!


  • Prev by Date: Re: "Do What I Mean" - a suggestion for improving
  • Next by Date: Re: Conjecture: 2n+1= 2^i+p ; 6k-2 or 6k+2 = 3^i+p
  • Previous by thread: Convolution of a Gaussian Distribution and a discontinuous function
  • Next by thread: Re: Experimental Mathematica debugger