# Translating SFFT expression to MATLAB code

The Symplectic Finite Fourier Transform (SFFT) of a 2D periodized sequence $$x[k,l]$$ with periods $$(M, N)$$ is defined as

$$X[n,m] = \sum_{k=0}^{M-1} \sum_{l=0}^{N-1} x[k,l] e^{-j2\pi \left(\frac{mk}{M} - \frac{nl}{N}\right)}$$

Is the above expression equivalent to an FFT performed on the rows of $$x$$ and IFFT performed on the columns? If yes, does the following code justify the observation?

function [X] = SFFT(x)

% 1. transpose the sequence x to convert rows into columns
% 2. execute fft() command to compute fft of the columns (which are originally
% rows)
% 3. transpose the matrix back to original form
% 4. execute ifft on the columns

X = ifft(fft(x.').');

• Yes That right. Commented Sep 1, 2020 at 14:14
• In another source, it is given X = ifft(fft(x).').';. Which one is correct? Commented Sep 1, 2020 at 14:54
• Both must give the same results. Do you see it different ? Commented Sep 13, 2020 at 2:18

Y = ifft(fft(X).').';

X = ifft(fft(Y.').');