Paper 2, Section II, 41E

Numerical Analysis | Part II, 2021

(a) Let xRN\mathbf{x} \in \mathbb{R}^{N} and define yR2N\mathbf{y} \in \mathbb{R}^{2 N} by

yn={xn,0nN1x2Nn1,Nn2N1y_{n}= \begin{cases}x_{n}, & 0 \leqslant n \leqslant N-1 \\ x_{2 N-n-1}, & N \leqslant n \leqslant 2 N-1\end{cases}

Let YC2N\mathbf{Y} \in \mathbb{C}^{2 N} be defined as the discrete Fourier transform (DFT) of y\mathbf{y}, i.e.

Yk=n=02N1ynω2Nnk,ω2N=exp(πi/N),0k2N1Y_{k}=\sum_{n=0}^{2 N-1} y_{n} \omega_{2 N}^{n k}, \quad \omega_{2 N}=\exp (-\pi i / N), \quad 0 \leqslant k \leqslant 2 N-1

Show that

Yk=2ω2Nk/2n=0N1xncos[πN(n+12)k],0k2N1Y_{k}=2 \omega_{2 N}^{-k / 2} \sum_{n=0}^{N-1} x_{n} \cos \left[\frac{\pi}{N}\left(n+\frac{1}{2}\right) k\right], \quad 0 \leqslant k \leqslant 2 N-1

(b) Define the discrete cosine transform (DCT)CN:RNRN(\mathrm{DCT}) \mathcal{C}_{N}: \mathbb{R}^{N} \rightarrow \mathbb{R}^{N} by

z=CNx, where zk=n=0N1xncos[πN(n+12)k],k=0,,N1\mathbf{z}=\mathcal{C}_{N} \mathbf{x}, \text { where } z_{k}=\sum_{n=0}^{N-1} x_{n} \cos \left[\frac{\pi}{N}\left(n+\frac{1}{2}\right) k\right], \quad k=0, \ldots, N-1

For N=2pN=2^{p} with pNp \in \mathbb{N}, show that, similar to the Fast Fourier Transform (FFT), there exists an algorithm that computes the DCT of a vector of length NN, where the number of multiplications required is bounded by CNlogNC N \log N, where CC is some constant independent of NN.

[You may not assume that the FFT algorithm requires O(NlogN)\mathcal{O}(N \log N) multiplications to compute the DFT of a vector of length NN. If you use this, you must prove it.]

Typos? Please submit corrections to this page on GitHub.