GSoC 2018: SymPy - Week 4
Another week of Coding Period has concluded.
Starting this week, I worked on PR #14765 for implementing Fast Walsh Hadamard Transform (fwht
).
As pointed out by Kalevi, symbolic coefficients could be supported by this transform as the general Kronecker matrix only contains +/-1
, which means it essentialy requires only addition or subtraction to perform the transformation. Also, the PR review helped fix a minor issue related to string concatenation.
Usage for fwht
looks like:
>>> from sympy import fwht, ifwht, symbols
>>> fwht([4, 2, 2, 0, 0, 2, -2, 0])
[8, 0, 8, 0, 8, 8, 0, 0]
>>> ifwht(_)
[4, 2, 2, 0, 0, 2, -2, 0]
>>> a, b, c, d = symbols('a b c d')
>>> fwht([a, b, c, d])
[a + b + c + d, a - b + c - d, a + b - c - d, a - b - c + d]
>>> ifwht(_)
[a, b, c, d]
Documentation, doctests, and unit tests are also added for this transform.
Looking forward to next week, where I will be implementing XOR convolution using fwht
.
Published: 09 June 2018