## 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