For each \(j\) compute discrete Fourier transform in \(x\) of \(f^n(x_i,\upsilon_j)\) yielding \(f_k^n(\upsilon_j)\),
For $ k $
\[f^{n+1}_k(\upsilon_j) = e^{−2i\pi k \upsilon \Delta t/L} f_n^k(\upsilon_j),\]
\[\rho_k^{n+1} = \Delta \upsilon \sum_j f^{n+1}_k(\upsilon_j),\]
\[E^{n+1}_k = \rho^{n+1}_k L/(2i\pi k \epsilon_0),\]
For \(k = 0\) do nothing:
\[f_{n+1}(\upsilon_j) = f^n_k(\upsilon_j), E^{n+1}_k = E^n_k\].