Wolfram Function Repository
Instant-use add-on functions for the Wolfram Language
Function Repository Resource:
Construct a circulant matrix from a vector
ResourceFunction["CirculantMatrix"][{c1,c2,…,cn}] gives the circulant matrix whose first column consists of entries c1,c2, …. |
Compute a circulant matrix:
| In[1]:= |
| Out[1]= | ![]() |
Multiplying a circulant matrix with a vector can be expressed as a cyclic convolution:
| In[2]:= |
| Out[2]= |
Multiplying a vector with a circulant matrix can be expressed as a cyclic correlation:
| In[3]:= |
| Out[3]= |
Circulant matrices can be diagonalized by the Fourier matrix:
| In[4]:= |
| Out[5]= | ![]() |
The diagonal elements of the resulting diagonal matrix are the same as the product of the Fourier matrix and the starting vector, up to a constant scaling factor:
| In[6]:= |
| Out[6]= |
Wolfram Language 13.3 (June 2023) or above
This work is licensed under a Creative Commons Attribution 4.0 International License