符号与表达方式声明
1、所有矩阵的行列编号都从0开始。如 n阶方阵的行,称为第0行至第 n-1行。
解释:这么做的目的是因为循环矩阵的元素索引,需要用到取余运算,而从0开始编号,会方便取余工作。
2、对矩阵 A,用A[i][j]表示其第i行第j列的元素值。用a[j]表示A[0][j]的值。
3、使用到C/C++中的%运算符——取余运算,如5%3=2。注意,-5%3=-2,从“同余”的定义来看,-5%3=(-5+3*2)%3=1才对。故下文中,对于(-i+j)%n,为了防止i>j出现负值,通常写为(n-i+j)%n,此处的i,j都是小于n的自然数,故n-i+j一定是非负数。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
定义
对于n阶方阵 C,若C[i][j] = c[(n-i+j)%n],则称C为循环矩阵。记为
通俗点说,循环矩阵就是每一行元素都可以由上一行元素向右移动一个单位得到,其视觉效果如下:
另外可以知道,单位阵也是特殊的循环矩阵。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
循环矩阵的性质
1、循环矩阵的线性运算及乘积仍是循环矩阵。
2、满足乘法交换律:AB=BA。
3、循环矩阵的逆矩阵也是循环矩阵。
下面,给出循环矩阵的乘积仍是循环矩阵的证明。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
引理
要严格证明该结论,要使用“完全剩余系“的概念。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
证明:若A、B是n阶循环矩阵,则C=AB也是循环矩阵。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
参考资料
1、作者不详,《矩阵论》第七章,百度网盘下载:http://pan.baidu.com/s/1kT7H4f9