GSoC 2018: SymPy - Week 10
This week SymPy 1.2 was released, which included the
discrete module. The complete changelog for the SymPy 1.2 is here. I started the week by cleaning up
discrete module, improving the API of public
convolution method by attending to reviews by Aaron and Kalevi and fixing issue #14901 reported by Aaron in PR #14907.
The PR #14907 has been merged successfully and will be part of SymPy 1.2.1.
Late this week, I started working on the convolution module for inclusion of
The PR #14298 included the same with documentation, doctests and unit tests.
The implementation of
covering_product uses Möbius Transform with subset enumeration (
mobius_transform(..., subset=True) and
inverse_mobius_transform(..., subset=True)). As included in the PR, the usage for the same is:
>>> from sympy import symbols, covering_product >>> u, v, x, y, z = symbols('u v x y z') >>> covering_product([u, v], [x, y]) [u*x, u*y + v*x + v*y] >>> covering_product([u, v, x], [y, z]) [u*y, u*z + v*y + v*z, x*y, x*z]
Looking forward to the next week, where I will be implementing
intersecting_product as the final method for the convolution module.