GSoC 2018: SymPy - Week 9
The second phase of Coding Period has concluded.
This week I worked on implementing Subset Convolution for discrete
module.
PR #14878 was opened for the same. The PR included unit tests, documentation, and correspondingly subset
keyword was added for public convolution
method.
After discussing the implementation details and references with Kalevi, the approach was finalized. The PR has been merged successfully. The usage for the same is:
>>> from sympy.discrete.convolutions import (convolution, convolution_subset)
>>> u, v, x, y, z = symbols('u v x y z')
>>> convolution_subset([u, v], [x, y])
[u*x, u*y + v*x]
>>> convolution([u, v, x], [y, z], subset=True)
[u*y, u*z + v*y, x*y, x*z]
>>> convolution([u, v, x], [y, z], subset=True, cycle=3)
[u*y + x*z, u*z + v*y, x*y]
Plan for this phase has executed well, and the second evaluation has been successful.
Looking forward to the final phase of Coding Period.
Published: 14 July 2018