Open In App

Python | Inverse Fast Walsh Hadamard Transformation

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 : 
 




# 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 : 
 




# 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]

 

Article Tags :