GSoC 2018: SymPy - Week 8
This week I started working on adding Möbius Transform to the
discrete module using Yate’s DP (Dynamic Programming) method for implementation as part of PR #14853. The proposed transforms are part of
After discussing with Kalevi, the methods implementing this transform were added with appropriate names. The keyword
subset is used as a boolean to choose whether enumeration is done over subsets or supersets. The usage for the transform is:
>>> from sympy import mobius_transform, inverse_mobius_transform >>> seq = list(symbols('w x y z')) >>> mobius_transform(seq) [w, w + x, w + y, w + x + y + z] >>> inverse_mobius_transform(_) [w, x, y, z] >>> inverse_mobius_transform(seq, subset=False) [w - x - y + z, x - z, y - z, z] >>> mobius_transform(_, subset=False) [w, x, y, z]
The PR was merged successfully, after inclusion of docstring and unit tests for the transform.
Looking forward to another exciting week.