反向循环矩阵求行列式
计算下面矩阵的行列式
Dn=123⋮n234⋮1345⋮2⋯⋯⋯⋯n12⋮n−1.
当然可以使用传统的行列变换法,但这样会很麻烦,并且不美观,下面介绍一种高效简洁的做法
这种结构让我们想到循环矩阵,为此先来回顾一下相关内容
设循环矩阵:
A=a1an⋮a2a2a1⋮a3a3a2⋮a4⋯⋯⋯anan−1⋮a1
如果我们想要计算循环矩阵的行列式,逆矩阵,特征值,特征向量,最简便的方法就是将其表示为基础循环矩阵的多项式
记
J=(O1In−1O)
则有 Jn=I,J 的特征值为:
{1,ω,ω2,…,ωn−1},其中ω=e2πi/n.
因此
A=a1In+a2J+a3J2+⋯+anJn−1.
记 f(x)=a1+a2x+⋯+anxn−1,从而 A 的特征值为 {f(1),f(w),...,f(wn−1)},行列式自然就是这些特征值的乘积
但是我们要求的 Dn 中的元素排列规律并不符合认知中的循环矩阵。一个常用的方法是将元素重新排列,我们将矩阵的列向量进行一个翻转,这相当于右乘一个矩阵 C(也可以翻转行向量,等价于左乘 C ),其中 C 为副对角元全为1,其他元素均为0的 n 阶矩阵,并且
∣C∣=(−1)2n(n−1)
于是我们不妨设一开始矩阵就是翻转后的矩阵,只需要在最后乘一个 ∣C∣ 即可。此时的 Dn 变为
Dn=n12⋮n−1⋯⋯⋯⋯345⋮2234⋮1123⋮n
这时的排列规律就与熟知的循环矩阵一致了
A=a1an⋮a2a2a1⋮a3a3a2⋮a4⋯⋯⋯anan−1⋮a1
将每个元素之间进行匹配,就有
a1=n,a2=n−1,...,an=1
于是
Dn=nIn+(n−1)J+(n−2)J2+⋯+Jn−1.
令 f(λ)=λn−1+...+(n−1)λ+n,此时的行列式就是 ∏k=0n−1f(wk). 这个式子对于一般的反向循环矩阵也适用,只需要更改元素之间的匹配关系即可,在这里由于元素为具体的数字,∏k=0n−1f(wk) 可以具体计算出来:
当 λ=1 时
f(λ)=k=1∑nkλn−k=j=0∑n−1(n−j)λj=λ−1λn−1−(λ−1)2(n−1)λn+1−nλn+λ
代入 wk:=wk(k=1,2,...,n−1),由于 wkn=1,于是
f(wk)=1−wkn
此时行列式的值为
∣Dn∣=f(1)k=1∏n−1f(wk)=2n(n+1)nn−1k=1∏n−11−wk1
另一方面,由因式分解
x−1xn−1=k=1∏n−1(x−wk)
两边同时令 x→1,左边利用洛必达法则,即可得到
k=1∏n−1(1−wk)=n
因此
∣Dn∣=2n+1nn−1
再乘以 ∣C∣=(−1)2n(n−1),就是原本要求的行列式的值
∣Dn∣=(−1)2n(n−1)2n+1nn−1
b-循环矩阵求行列式
A=a1banban−1⋮ba2a2a1ban⋮ba3a3a2a1⋮ba4⋯⋯⋯⋯anan−1an−2⋮a1.
其中 b=0,计算 ∣A∣
想法依旧是将其表示为基础循环矩阵的多项式,这里只需要在原有的 J 上做轻微改动
设 Jb=(ObIn−1O), 此时不难验证每乘一个 Jb ,在往右移动的同时会多一个 b ,最后就有 Jbn=bIn ,令 w1,w2,...,wn 是 b 的所有 n 次方根(即 Jb 的 n 个特征值), 作多项式 f(λ)=a1+a2λ+a3λ2+⋯+anλn−1, 于是 A=a1In+a2Jb+a3Jb2+⋯+anJbn−1=f(Jb),从而
∣A∣=f(w1)f(w2)⋯f(wn).