循环矩阵的性质及其应用

§1 循环矩阵的定义及多项式表示

K 为数域. 任取 Kn 个数 a1,a2,,an,下列矩阵称为 K 上的 n 阶循环矩阵:

A=(a1a2a3anana1a2an1an1ana1an2a2a3a4a1).(1)

a2=1, a1=a3==an=0, 则可得到如下基础循环矩阵:

J=(0100001000011000).(2)

由复旦高代白皮书的例 2.1 可知, Jk=(0InkIk0)(1kn), 从而 A=a1In+a2J+a3J2++anJn1.(3)g(x)=a1+a2x+a3x2++anxn1, 则 g(x)K 上次数不超过 n1 的多项式, 使得 A=g(J), 这就是循环矩阵关于基础循环矩阵的多项式表示.

Cn(K)K 上所有 n 阶循环矩阵构成的集合, 容易验证: 在矩阵的加法和数乘下, Cn(K) 是一个 n 维线性空间, 它的一组基为 {In,J,,Jn1}. 再任取循环矩阵 B=h(J), 其中 h(x)K 上次数不超过 n1 的多项式, 则利用多项式乘法和 Jn=In 可知 AB=g(J)h(J) 仍然是一个循环矩阵 (参考高代白皮书的例 2.12). 因此, Cn(K)K 上的 n 维交换代数, 同构于 K[x]/(xn1).

§2  循环矩阵的性质

下面将依次研究循环矩阵的特征值、特征向量和可对角化等性质, 由此可得循环矩阵的行列式、秩和非异性等信息. 这些内容包含在高代白皮书的例 2.52, 例 6.9, 例 6.32 和例 6.39 的推论中.

容易计算出基础循环矩阵 J 的特征多项式 |λInJ|=λn1, 从而 J 在复数域中有 n 个不同的特征值, 即 n 次单位根 ωk=cos2kπn+isin2kπn(0kn1), 因此 J 在复数域上可对角化. 经计算可知, 特征值 ωk 的特征向量是 αk=(1,ωk,ωk2,,ωkn1). 将这些特征向量按列分块拼成一个矩阵:  P=(11111ω1ω2ωn11ω12ω22ωn121ω1n1ω2n1ωn1n1),(4) 则由 Vandermonde 行列式或特征值特征向量的性质可知, P 是非异阵, 并且满足 P1JP=diag{1,ω1,ω2,,ωn1},(5) 从而 P1AP=P1g(J)P=g(P1JP)=diag{g(1),g(ω1),g(ω2),,g(ωn1)}.(6) 由 (6) 式可知循环矩阵 A=g(J) 具有如下基本性质:

(P1) A 的特征值为 g(1),g(ω1),g(ω2),,g(ωn1), 对应的特征向量是 α0,α1,α2,,αn1;

(P2) |A|=g(1)g(ω1)g(ω2)g(ωn1);

(P3) 循环矩阵 A 可对角化;

(P4) r(A)={0kn1g(ωk)0};

(P5) A 非异当且仅当 g(ωk)0(0kn1), 也即当且仅当 (λn1,g(λ))=1.

定理 1  n 阶复循环矩阵全体 Cn(C)n 阶复对角矩阵全体 Dn(C) 之间存在一个自然的代数同构 ξ.

证明  n 阶复对角矩阵全体在矩阵的加法、数乘和乘法下成为复数域上的代数. 我们通过 (6) 式来定义映射 ξ, 即 ξ:Cn(C)Dn(C) 定义为 ξ(A)=P1AP=diag{g(1),g(ω1),g(ω2),,g(ωn1)}. 容易验证 ξ 保持矩阵的加法、数乘和乘法, 从而是一个代数同态. 对任一 Λ=diag{λ0,λ1,,λn1}, 利用 Lagrange 插值公式可知, 存在次数不超过 n1 的复系数多项式 h(λ), 使得 h(ωk)=λk (0kn1). 令 B=h(J), 则 ξ(B)=Λ, 即 ξ 是满射. 又 dimCn(C)=dimDn(C)=n, 从而 ξ 是一个线性同构, 从而是代数同构. 

推论 2  n 阶复矩阵 B 可对角化的充要条件是 B 相似于某个循环矩阵.

证明  由定理 1 中的代数同构 ξ 是通过相似变换实现的即得结论. 

推论 3  设 ACn(K), 则 A 也是循环矩阵.

证法 1  由 (6) 式可知 PA(P)1=(P1AP)=diag{g(1),g(ω1),g(ω2),,g(ωn1)} 仍为对角阵. 注意到 P=|P|P1, 故上述等式可化为 P1AP=(P1AP)=diag{g(1),g(ω1),g(ω2),,g(ωn1)}. 因此由定理 1 可知, A=ξ1(ξ(A)) 也是循环矩阵.

证法 2  由高代白皮书的例 6.62 可知, 存在多项式 h(λ)K[λ], 使得 A=h(A). 设 A=g(J), 则 A=h(A)=h(g(J)) 仍为 J 的多项式, 从而是循环矩阵.

证法 3  设 A=(aij) 的代数余子式为 Aij(1i,jn), 要证 A 是循环矩阵, 根据定义只要证明: 对任意的 1i,jn, Aij=Ai+1,j+1 成立即可, 其中若 i+1>nj+1>n, 则需要把 i+1j+1 换成 i+1nj+1n. 证明 Aij=Ai+1,j+1 只需要简单的行列式计算即可. 比如先把 Aij 的最后一列经过 n2 次相邻对换换至第一列, 再把得到行列式的最后一行经过 n2 次相邻对换换至第一行, 最后就能得到 Ai+1,j+1. 我们把验证的细节留给读者完成. 

推论 4  若 ACn(K) 是非异阵, 则 A1 也是循环矩阵.

证法 1  由定理 1 可知, A1=ξ1(ξ(A)1) 也是循环矩阵.

证法 2  由 Cayley-Hamilton 定理可知, 存在多项式 h(λ)K[λ], 使得 A1=h(A) (参考高代白皮书的例 6.61). 设 A=g(J), 则 A1=h(A)=h(g(J)) 仍为 J 的多项式, 从而是循环矩阵.

证法 3  设 A=g(J), 则由 A 非异可知 (λn1,g(λ))=1. 由互素多项式的性质可知, 存在 u(λ),v(λ)K[λ], 使得 (λn1)u(λ)+g(λ)v(λ)=1. 令 λ=J, 代入上式可得 g(J)v(J)=In, 从而 A1=v(J) 也是循环矩阵.

证法 4  由 A1=1|A|A 以及推论 3 即得结论. 

推论 5  K 上的 n 阶非异循环矩阵全体 GCn(K) 在矩阵乘法下成为一个 Abel 群.

推论 6  设 An 阶复循环矩阵, f(z) 是收敛半径等于 + 的复幂级数, 则 f(A) 也是循环矩阵.

证法 1  注意到 f(P1AP)=P1f(A)P, 从而 f(A)=ξ1(f(ξ(A))) 也是循环矩阵.

证法 2  由 15 级高代 II 每周一题第 15 题可知, 存在多项式 h(z), 使得 f(A)=h(A) 也是循环矩阵.

证法 3  设 f(z)=i=0aizi, fp(z)=i=0paizi 为 f(z) 的部分和多项式. 设 A=a1In+a2J+a3J2++anJn1, 则 fp(A)=b1(p)In+b2(p)J+b3(p)J2++bn(p)Jn1. 由于矩阵序列 limpfp(A) 收敛到 f(A), 故每个数列 limpbi(p) 都收敛. 若设 limpbi(p)=bi(1in), 则 f(A)=limpfp(A)=b1In+b2J+b3J2++bnJn1 仍为循环矩阵. 

§3  循环矩阵的应用

下面我们给出循环矩阵的一个应用.

命题 7  设有 Kn2(n2) 个不同的数, 则存在一个全排列, 记为 a1,,an2, 使得 |a1a2anan+1an+2a2nan2n+1an2n+2an2|0.

证明  对 n 进行归纳. n=2 时, 先取到 a1,a2, 使得 a1+a20, 从而 |a1a2a2a1|=(a1a2)(a1+a2)0, 于是 B={(a1,a2),(a2,a1)}K2 的一组基. 注意到 (a3,a4)0, 故由基扩张定理, 必可从基 B 中选取一个基向量, 不妨设为 (a1,a2), 使得 {(a1,a2),(a3,a4)} 成为 K2 的一组新基, 因此 |a1a2a3a4|0. 设 n1 时结论成立, 现证 n 的情形.

证法 1  先取到 a1,a2,,an, 使得 a1+a2ωk++anωkn100kn1 都成立. 这一定能做到, 比如先选定 a2,,an, 则不满足上述条件的 a1 最多只有 n 个, 从而可取到满足上述条件的 a1. 由循环矩阵的性质可知, (1) 式中的循环矩阵 A 是非异阵, 特别地, An 个行向量 {β1,β2,,βn}Kn 的一组基. 由归纳假设, 可从剩下 n2n 个数中选出 (n1)2 个数的全排列, 使得 |an+2a2nan2n+2an2|0, 后面随便选取 an+1,,an2n+1, 均可使 n1 个行向量 (an+1,an+2,,a2n), , (an2n+1,an2n+2,,an2) 线性无关 (参考复旦高代教材的习题 3.4.9). 因此由基扩张定理, 必可从基 {β1,β2,,βn} 中选出一个基向量, 不妨设为 β1, 使得 {(a1,a2,,an), (an+1,an+2,,a2n), , (an2n+1,an2n+2,,an2)} 构成 Kn 的一组新基, 从而结论得证.

证法 2  用反证法, 设对 n2 个数的所有全排列, 对应的行列式都等于零, 我们来推出矛盾. 先取到 a1,a2,,an, 使得 a1+a2++an0, 再由归纳假设, 不妨设取到的行列式中, a1 的代数余子式 A10. 设其余元素 ai 的代数余子式为 Ai(2in), 因此 a1A1+a2A2++anAn=0. 在取到的行列式中, 对换第一行的 a1ai(2in), 其余 n22 个元素保持不变, 则有 aiA1++a1Ai++anAn=0. 由此可得 (a1ai)(A1Ai)=0, 但 a1ai, 从而 A1=Ai(2in). 最后, 0=a1A1+a2A2++anAn=(a1+a2++an)A10, 矛盾. 

注 1  命题 7 的证法 1 是构造性的, 利用这一证法可以给出满足条件的全排列的总个数的一个粗略估计. 命题 7 的证法 2 由复旦数学学院 16 级本科生朱民哲提供.

注 2  本文的主要结论还可以推广到特征零的域或者特征 p>0 的域 (要求 pn) 及其分裂域或代数闭包上. 另外, 高代白皮书第二章的解答题 13 还给出了 b-循环矩阵的推广. 有兴趣的读者可以自行学习和验证这些结论.

 

参考文献

[1]  高代教材: 姚慕生, 吴泉水, 谢启鸿 编著, 高等代数学 (第三版), 复旦大学出版社, 2014.

[2]  高代白皮书: 姚慕生, 谢启鸿 编著, 学习方法指导书: 高等代数 (第三版), 复旦大学出版社, 2015.

posted @   torsor  阅读(27698)  评论(1编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示