# linear algebra approach to discrete cosine transform

I understand that the discrete Fourier transform simply changes basis to the discrete Fourier basis, which is an orthonormal basis of eigenvectors for any shift-invariant linear operator on $\mathbb C^n$. The discrete Fourier basis can be easily discovered by computing the eigenvectors of the shift operator $S:\mathbb C^n \to \mathbb C^n$, which maps $\begin{bmatrix} x_0 & x_1 & x_2 & \cdots & x_{n-1} \end{bmatrix}^T$ to $\begin{bmatrix} x_{n-1} & x_0 & x_1 & \cdots & x_{n-2} \end{bmatrix}^T$.

Is there an analogous way understand the discrete cosine transform? Does the discrete cosine basis diagonalize some particular class of linear operators (as the discrete Fourier basis diagonalizes any shift-invariant linear operator)? Is there some simple and fundamental linear operator, analogous to $S$, which can be used to discover the discrete cosine basis?

How can I expand my understanding of the DFT to include the DCT? How does DCT fit into the picture?