Repeated convolution of a continous uniform distribution



There is code in share/contrib (abs_integrate) that should be able to
do this problem symbolically. If you don't know, code in share/contrib
is sometimes not as well tested as other parts of Maxima. Likely, your
problem shows a bug in abs_integrate. Try this

(%i47) load("abs_integrate.mac")$

(%i48) convolution(f,g,x) := block([t : make_dummy([e,x],t)],
  integrate(subst(x = t,f) * subst(x = x - t, g),t,minf,inf))$

(%i49) unit_box(x) := (unit_step(x) - unit_step(x-1))$

(%i50) f1 : convolution(unit_box(x),unit_box(x),x);
(%o50) -(x*signum(x))/2+x*signum(x-1)-signum(x-1)-(x*signum(x-2))/2+signum
(x-2)

(%i51) f2 : convolution(f1,f1,x)$

(%i52) f3 : convolution(f2,f2,x)$

(%i53) plot2d([f1,f2,f3],[x,0,15]);

I think the signs of f1,f2, and f3 are wrong.

Two more things. First, convolution(f3,f3,x) is a large mess and
further convolutions might take a long time. Maybe you should do the
problem numerically. Second, there is another package that integrates
step functions and friends. Maybe this package can do this problem
correctly--maybe the author can comment.

Barton

-----maxima-bounces at math.utexas.edu wrote: -----


>I?want?to?do?a?repeated?convolution?of?a?continous?uniform?distribution?in
>a?limited?interval?[-a,a].