Используя следующий код, я ожидаю, что linalg.norm(y-z)
будет равно нулю. Я следую идее применить матрицу DFT вдоль каждого ось 3D-массива в NumPy?, поскольку БПФ и ДКП являются разделимыми унитарными линейными преобразованиями. Но как-то это не так.
import numpy as np
from scipy.fftpack import dct
x = np.random.rand(5,5)
D = dct(np.eye(5), norm='ortho')
y = np.dot(D,np.dot(x, D.T))
z = dct(dct(x, axis = 0 , norm = 'ortho'), axis = 1 , norm = 'ortho')