Open In App

Python | Inverse Fast Walsh Hadamard Transformation

Last Updated : 19 May, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

Inverse Fast Walsh Hadamard Transform

It is an Hadamard ordered efficient algorithm to compute the inverse Walsh Hadamard transform (WHT). Normal WHT computation has N = 2m complexity but using IFWHT 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.ifwht( ) :

It can perform Inverse Walsh Hadamard Transform (WHT). This method is based on 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. 
 

Syntax: 
sympy.discrete.transforms.ifwht()

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

Returns : 
Coefficient of Inverse Fast Walsh Hadamard Transform 

Example #1 : 
 

Python3




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


Output : 
 

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

Example #2 : 
 

Python3




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


Output : 
 

Transform  :  [323/2, -144, -122, 255/2]

 


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads