Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

convolution got the wrong result

Hi, English is not my mother language, so I am trying to make myself clear. And sorry for my grammer mistakes.

I am new to sage and trying to do convolution:f(x) * g(x)?

f(x) = 2, -2 < x < 2; f(x) = 0, x < -2 or x > 2

g(x) = 3/4, 0 < x < 2; g(x) = 0, x < 0 or x > 2

I use the following code to do the job:

x = PolynomialRing(QQ,'x').gen()
f = Piecewise([[(-2, 2), 2 * x^0]])
show(f)
g = Piecewise([[(0, 2), 3/4 * x^0]])
show(g)
m = g.convolution(f)
show(m)

I think I am sure the result should be:

3/2 * x + 3, -2 < x < 0;

3, 0 < x < 2

-3/2 * x + 6, 2 < x < 4

0, x < -2 or x > 4

but it comes out that when 0 < x < 2, the result is 6, which should be 3. There must be something wrong, but I can not figure out. So I am here to ask for help.

Thank you.