📜  Python|逆快速 Walsh Hadamard 变换

📅  最后修改于: 2022-05-13 01:54:35.561000             🧑  作者: Mango

Python|逆快速 Walsh Hadamard 变换

逆快速沃尔什哈达玛变换

它是一种Hadamard 有序高效算法,用于计算 Walsh Hadamard 逆变换 (WHT)。正常的 WHT 计算具有N = 2 m的复杂度,但使用 IFWHT 将计算减少到O(n 2 ) 。 FWHT 需要O(n logn)加减运算。它是一种分而治之的算法,它递归地分解 WHT。

sympy.discrete.transforms.ifwht():

它可以执行逆沃尔什哈达玛变换(WHT) 。该方法基于 Hadamard 序列排序。由于基数 2 FWHT 要求采样点编号为 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 Transform

示例 #1:

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


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


输出 :

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

示例 #2:

Python3

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

输出 :

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