Skip to content
Related Articles
Get the best out of our app
GFG App
Open App
geeksforgeeks
Browser
Continue

Related Articles

Python | Fast Walsh Hadamard Transform

Improve Article
Save Article
Like Article
Improve Article
Save Article
Like Article

Fast Walsh Hadamard Transform, is an Hadamard ordered efficient algorithm to compute the Walsh Hadamard transform (WHT). Normal WHT computation has N = 2m complexity but using FWHT reduces the computation to O(n2). The FWHT requires O(n logn) additions and subtraction operations. It is a divide and conquer algorithm which breaks down the WHT recursively. 
 

sympy.discrete.transforms.fwht( ) : It can perform Walsh Hadamard Transform (WHT). This method uses Hadamard sequence ordering. 
Automatically the sequence is padded with zero to the right because the radix-2 FWHT requires the sample point number as a power of 2. 
 

Parameters : 
-> seq : [iterable] sequence on which WHT is to be applied.

Returns : 
Fast Walsh Hadamard Transform Transform

Example #1 : 
 

Python3




# import sympy
from sympy import fwht
 
# sequence
seq = [23,
       56,
       12,
       555]
 
# hwht
transform = fwht(seq)
print ("Transform  : ", transform)


Output : 
 

Transform  :  [646, -576, -488, 510]

Example #2 : 
 

Python3




# import sympy
from sympy import fwht
 
# sequence
seq = [15, 21, 13, 44]
 
# hwht
transform = fwht(seq)
print ("Transform  : ", transform)


Output : 
 

Transform  :  [93, -37, -21, 25]

 

My Personal Notes arrow_drop_up
Last Updated : 31 Jan, 2022
Like Article
Save Article
Similar Reads
Related Tutorials