一个 矩阵,其行由长度为- 列表 的循环移位版本组成。例如,在列表 上的 循环矩阵由下式给出
(1)
|
循环矩阵在数字图像处理中非常有用, 循环矩阵被实现为CirculantMatrix[l, n] 在 Mathematica 应用程序包中数字图像处理.
循环矩阵可以在 Wolfram 语言中如下实现。
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]
其中,第一个输入创建一个维度等于 的长度的矩阵,第二个输入用零填充以给出 矩阵。一种特殊类型的循环矩阵定义为
(2)
|
其中 是二项式系数。 的行列式由美丽的公式给出
(3)
|
其中 , , ..., 是第 个单位根。 n=1, 2, ... 的行列式由 1, , 28, , 3751, 0, 6835648, , 364668913756, ... (OEIS A048954) 给出,当 时为 0。
循环矩阵是拉丁方阵的例子。