In linear algebra, a circulant matrix is a special kind of Toeplitz matrix where each row vector is shifted one element to the right relative to the preceding row vector. In other words a circulant matrix is an example of a Latin square. In numerical analysis circulant matrices are important because they can be quickly solved using the discrete fourier transform.
Definition
An
matrix C of the form
is called a circulant matrix.
Properties
Circulant matrices form an algebra, since for any two given circulant matrices A and B then the sum A+B is circulant, product AB is circulant, and AB = BA.
The eigenvectors of a (square) circulant matrix of given size is fixed, that is, the eigenmatrix of a circulant matrix is the Fourier transform matrix of the same size. Consequently, the eigenvalues of a circulant matrix can be readily calculated by the Fast Fourier transform (FFT).
If the FFT of the first row of a circulant matrix is performed then the determinant of the circulant matrix is the multiplication of the spectral values.
- C = WΛW - 1 by eigendecomposition
where
- C is an N by N circulant matrix
- W is the Fourier transform matrix
- Λ is a diagonal matrix of eigenvalues λk.
The last term,
, is the same thing as multiplication of the spectral values.
Solving circulant matrices
Given a matrix equation
where C is a circulant square matrix of size n we can write the equation as the cyclic convolution
where c is the first row of the circulant matrix C and the vectors c, x and b are cyclically extended in each direction. Using the discrete Fourier transform we can transform the cyclic convolution into component-wise multiplication
so that
Depending on the fast Fourier transform used this algorithm is much faster than the standard Gaussian elimination.
External link
Toeplitz and Circulant Matices: A Review, by R. M. Gray