Discrete Cosine and Sine Transforms Can anyone explain to me what is the point of using complex numbers to get the Discrete Fourier Transform when the Discrete Cosine Transform and Discrete Sine Transform exist and both use only real numbers. Is there not another way of having a Discrete "Cosine and Sine" Transform all in one that does not use complex numbers? After all frequencies are suppose to be physical cosines and sines, not complex numbers.
 A: If "reality" of the complex numbers troubles you, think that you are working with $1\times2$ matrices and the special multiplication rule
$$[a\ b]\times[c\ d]=[ad-bc\ \ ac+bd].$$
The compactness of complex number computations is irreplaceable,
$$e^{i(a+b+c)}=e^{ia}e^{ib}e^{ic}$$
vs
$$
\cos(a+b+c)=\\\cos(a)\cos(b)\cos(c)-\sin(a)\sin(b)\cos(c)-\sin(a)\sin(c)\cos(b)-\sin(b)\sin(c)\cos(a)\\\sin(a+b+c)=\\\sin(a)\cos(b)\cos(c)+\sin(b)\cos(a)\cos(c)+\sin(c)\cos(a)\cos(b)-\sin(a)\sin(b)\sin(c)$$
A: The solutions to Maxwell equations lead to complex functions a real event is presented not just by complex frequencies but also by negative frequencies. Suggest you will look at Digital Signal Processing field as a source to understand when complex representation is useful (Radar systems, communication, sonar...) and when DCT (compression as example). You might also benefit from reading about the Hilbert transform it the DSP field.
A: The discrete Fourier transform simply changes basis to a very special basis, the "discrete Fourier basis".
The "discrete Fourier basis" is a basis of eigenvectors for the cyclic shift operator $S$ defined by:
\begin{equation*}
S(x_0,x_1,\ldots,x_{n-1}) = (x_1,x_2,\ldots,x_{n-1},x_0).
\end{equation*}
Note that $S$ preserves norms, so $S$ is unitary, which implies that $S$ is normal.  The spectral theorem tells us that there is an orthonormal basis of eigenvectors of $S$.  You could easily find the eigenvalues and eigenvectors of $S$, and discover the discrete Fourier basis, all by yourself.  (It's a very neat exercise.)
A very important type of linear operator on $\mathbb C^n$ is a "shift-invariant" linear operator.  To say that a linear operator $T$ on $\mathbb C^n$ is shift-invariant means that if you shift the input, then the output is shifted the same way:
\begin{equation*}
T(S(x)) = S(T(x)) \quad \text{for all }x \in \mathbb C^n.
\end{equation*}
In other words, $S$ commutes with $T$.
As you might guess, from the fact that $T$ commutes with $S$, any shift-invariant linear operator on $\mathbb C^n$ is diagonalized by the discrete Fourier basis.  (A key assumption in "simultaneous diagonalization" theorems is that two linear operators commute with each other.  Because $S$ has, as it turns out, $n$ distinct eigenvalues, a particularly easy simultaneous diagonalization theorem can be applied in this case.)
This is, fundamentally, the reason that the discrete Fourier basis is so important.  Shift-invariant linear operators are important to us, and with the discrete Fourier transform we can diagonalize them, which allows us to understand them and do computations with them easily.
(Even better, there is an extremely efficient algorithm for computing the discrete Fourier transform -- the "fast Fourier transform" algorithm.)
In our quest to understand shift-invariant linear operators, we are forced to use complex numbers, because the vectors in the discrete Fourier basis unavoidably have complex components.
