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]