Circulant Matrices, Eigenvectors, and the FFT

Circulant matrices are square matrices where each row is a rotation of the previous row. This post explores the connection between circulant matrices and the Fast Fourier Transform (FFT). By using the NumPy function roll in Python, a random circulant matrix can be generated. The FFT is a linear transformation that can be represented by a matrix, with each element corresponding to a rotation. Eigenvectors of circulant matrices depend only on the size of the matrix, not its elements, and are the columns of the FFT matrix. This article provides Python code to illustrate this property. The ratios of the elements in the input and output vectors represent the eigenvalues associated with each eigenvector.

https://www.johndcook.com/blog/2023/05/12/circulant-matrices/

To top