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