def IFFT2D(X): ifft_rows = [IFFT(row) for row in X] return dft.transpose(IFFT(row) for row in dft.transpose(ifft_rows))
def FFT2D2(x): fft_rows = [FFT(row) for row in x] return dft.transpose(FFT(row) for row in dft.transpose(fft_rows))