Convolving two functions doesn't work as expected
Hi all, I'm trying to convolve two functions as follows:
forget()
x = PolynomialRing(QQ, 'x').gen()
f1 = Piecewise([[(-1, 1), 1*x^0]])
f2 = Piecewise([[(0, 1), x], [(1, 2), -x + 2]])
g = f2.convolution(f1)
Q = g.plot(rgbcolor=(1,1,0), figsize = 4);
g
I get that g is given by:
Piecewise defined function with 4 parts, [[(-1, 0), 1/2*x^2 + x +1/2], [(0, 1), -1/2*x^2 + 3*x], [(1, 2), -1/2*x^2 - x + 4], [(2, 3), 1/2*x^2 - 3*x + 9/2]].
Whereas, if computed manually, g is given by:
Piecewise defined function with 3 parts, [[(-1, 0), 0.5*x^2 + x + 0.5], [(0, 2), -0.5*x^2 + x + 0.5], [(2, 3), 0.5*x^2 - 3*x + 4.5]
Why doesn't the one computed by sage match the correct function?
Are the examples given in the documentation even right? E.g., see last example of "f1.convolution?". How/why are 5 parts given as the convolution when one function is 1 part and the other 2 parts?