我已经从 matlab 到 python 重新创建了 Haar Tranform 矩阵的代码,在输入 2 和 4 的 n 值时成功,但是当我尝试输入 8 时出现错误
“回溯(最近一次调用最后一次):文件“python”,第 20 行,在 ValueError 中:形状太大而不能成为矩阵。”
这是我的代码
import numpy as np
import math
n=8
# check input parameter and make sure it's the power of 2
Level1 = math.log(n, 2)
Level = int(Level1)+1
#Initialization
H = [1]
NC = 1 / math.sqrt(2) #normalization constant
LP = [1, 1]
HP = [1,-1]
for i in range(1,Level):
H = np.dot(NC, [np.matrix(np.kron(H, LP)), np.matrix(np.kron(np.eye(len(H)), HP))])
print H