Circulant Matrix

Author

Eric W. Weisstein
March 31, 2003

This notebook downloaded from http://mathworld.wolfram.com/notebooks/LinearAlgebra/CirculantMatrix.nb.

For more information, see Eric's MathWorld entry http://mathworld.wolfram.com/CirculantMatrix.html.

©2005 Wolfram Research, Inc. except for portions noted otherwise

Initialization

Image processing definition

<<ImageProcessing`;

My definition

circulantMatrix[l_List?VectorQ]:=NestList[RotateRight,RotateRight[l],Length[l]-1]

circulantMatrix[l_List?VectorQ,n_Integer]:=NestList[RotateRight,RotateRight[Join[Table[0,{n-Length[l]}],l]],n-1]/; n≥Length[l]

Integers

MatrixForm/@{CirculantMatrix[Range[4],4],circulantMatrix[Range[4]]}

MatrixForm/@{CirculantMatrix[{1,4,1},3],circulantMatrix[{1,4,1},3]}

MatrixForm/@{CirculantMatrix[{1,4,1},5],circulantMatrix[{1,4,1},5]}

Binomial Coefficients

BinomialCirculant[n_]:=Module[{k},
CirculantMatrix[Table[Binomial[n,k],{k,n}],n]
]

BinomialCirculant2[n_]:=Table[Binomial[n,Mod[n+j-k,n]],{k,n},{j,n}];

BinomialCirculant[4]//MatrixForm

CirculantDet[n_]:=Det[CirculantMatrix[n]];

CirculantDet2[n_]:=Module[{x,l,i},
l=x/.{ToRules[Roots[x^n==1,x]]};
Product[(1+l[[i]])^n-1,{i,n}]
]

Det/@Table[BinomialCirculant[n],{n,10}]

Position[Table[CirculantDet[n],{n,70}],0]

Table[6n,{n,11}]

Table[{CirculantDet[n],FullSimplify[CirculantDet2[n]]},{n,6}]

Table[CirculantDet2[n],{n,6}]

N[Table[CirculantDet2[n],{n,20}]]

N[CirculantDet2[9],20]