CP.22对角化和矩阵幂

1.对角化

如果矩阵 A A A具有 n n n个线性无关的特征向量,那么这些向量可以组成一个 n × n n\times n n×n可逆方阵 S = [ x 1 x 2 . . . x n ] n × n S=\begin{bmatrix}x_1&x_2&...&x_n\end{bmatrix}_{n\times n} S=[x1x2...xn]n×n
A S = A [ x 1 x 2 . . . x n ] = [ λ 1 x 1 λ 2 x 2 . . . λ n x n ] AS=A\begin{bmatrix}x_1&x_2&...&x_n\end{bmatrix}=\begin{bmatrix}\lambda_1x_1&\lambda_2x_2&...&\lambda_nx_n\end{bmatrix} AS=A[x1x2...xn]=[λ1x1λ2x2...λnxn]
A S = A [ x 1 x 2 ⋯ x n ] = [ λ 1 x 1 λ 2 x 2 ⋯ λ n x n ] = S [ λ 1 0 ⋯ 0 0 λ 2 ⋯ 0 ⋮ ⋱ ⋮ 0 … 0 λ n ] = S Λ \begin{aligned} AS&=A\begin{bmatrix}x_1&x_2&\cdots&x_n\end{bmatrix}\\ &=\begin{bmatrix}\lambda_1x_1&\lambda_2x_2&\cdots&\lambda_nx_n\end{bmatrix}\\ &=S\begin{bmatrix}\lambda_1&0&\cdots&0\\0&\lambda_2&\cdots&0\\ \vdots&&\ddots&\vdots\\ 0&\dots&0&\lambda_n\end{bmatrix}\\ &=S\Lambda \end{aligned} AS=A[x1x2xn]=[λ1x1λ2x2λnxn]=Sλ1000λ2000λn=SΛ
总结来说就是 A S = S Λ AS=S\Lambda AS=SΛ,因为 S S S是可逆矩阵,将前面这个式子同时左乘 Λ − 1 \Lambda^{-1} Λ1可以得到: S − 1 A S = Λ S^{-1}AS=\Lambda S1AS=Λ同样也可以推出 A = S Λ S − 1 A=S\Lambda S^{-1} A=SΛS1这显然又是一种矩阵分解的方式,用 S S S矩阵将 A A A变换得到的矩阵 Λ \Lambda Λ称为相似标准型,之所以叫这个名字是因为 Λ \Lambda Λ保留了 A A A的全部特征值。

2.矩阵的幂

如果要计算矩阵 A 2 A^2 A2我们可以直接利用 A ∗ A A*A AA,但是如果幂次太高,那就需要利用公式求解,我们从二次幂入手:
A x = λ x   → A 2 x = λ A x = λ 2 x Ax=\lambda x\,\rightarrow A^2x=\lambda Ax=\lambda^2x Ax=λxA2x=λAx=λ2x
从上式可以看出, A 2 A^2 A2 A A A拥有相同的特征向量,而特征值是其的2次方。这是一个有趣的结果,我们可以联想到第一节讲到的对角矩阵 Λ \Lambda Λ,它跟原矩阵 A A A的特征向量也是一致的,是否也可以使用对角化来计算矩阵的幂呢?
A 2 = S Λ S − 1 S Λ S − 1 = S Λ 2 S − 1 \begin{aligned} A^2&=S\Lambda S^{-1}S\Lambda S^{-1}\\ &=S\Lambda^2S^{-1} \end{aligned} A2=SΛS1SΛS1=SΛ2S1
进一步地,可以推出
A k = S Λ k S − 1 A^k=S\Lambda^k S^{-1} Ak=SΛkS1
说明 A k A^k Ak拥有和 A A A一样的特征向量,而特征值为 λ k \lambda^k λk
如果矩阵 A A A拥有 n n n个线性无关的特征向量,且满足 ∣ λ i ∣ < 1 |\lambda_i|<1 λi<1,当 k → ∞ k\rightarrow \infty k时, A k → 0 A^k\rightarrow0 Ak0

3.重复特征值

如果矩阵 A A A没有重复特征值,则其一定具有 n n n个线性无关的特征向量。
从公式 A x = λ x Ax=\lambda x Ax=λx可知,线性无关的特征向量等同于 ( A − λ I ) x = 0 (A-\lambda I)x=0 (AλI)x=0 n n n个解,我们好像只知道齐次线性方程组的解的判别条件:
1. d e t ( A ) = 0 det(A)=0 det(A)=0,方程组有非零解;
2. d e t ( A ) ≠ 0 det(A)\neq0 det(A)=0 ,方程组只有零解。
很明显要让特征方程有 n n n个解只能是让 d e t ( A − λ I ) = 0 det(A-\lambda I)=0 det(AλI)=0
如果矩阵 A A A有重复特征值,那它有可能具备 n n n个线性无关的特征向量,也可能没有。

4.差分方程

差分方程通常用在连续离散化中,从初始时刻向量 u 0 u_0 u0出发,可以对其乘以矩阵 A A A得到下一时刻的状态: u k + 1 = A u k u_{k+1}=Au_{k} uk+1=Auk,这是一个一阶差分方程,其解为 u k = A k u 0 u_k=A^ku_0 uk=Aku0但是这种简洁形式的方程并没有给出足够多的信息,因此需要通过特征向量和矩阵的幂运算给出更精确的解的结构。
u 0 u_0 u0写成特征向量的线性组合:这里的 x i x_i xi u 0 u_0 u0的特征向量, λ i \lambda_i λi是A的特征值。
u 0 = c 1 x 1 + c 2 x 2 + ⋯ + c n x n = S c A u 0 = c 1 λ 1 x 1 + c 2 λ 2 x 2 + ⋯ + c n λ n x n u k = A k u 0 = c 1 λ 1 k x 1 + c 2 λ 2 k x 2 + ⋯ + c n λ n k x n = S Λ k c \begin{aligned}u_0&=c_1x_1+c_2x_2+\dots+c_nx_n=Sc\\ Au_0&=c_1\lambda_1 x_1+c_2\lambda_2x_2+\dots+c_n\lambda_nx_n\\ u_k&=A^ku_0=c_1\lambda_1^kx_1+c_2\lambda_2^kx_2+\dots+c_n\lambda_n^kx_n=S\Lambda^kc\end{aligned} u0Au0uk=c1x1+c2x2++cnxn=Sc=c1λ1x1+c2λ2x2++cnλnxn=Aku0=c1λ1kx1+c2λ2kx2++cnλnkxn=SΛkc

4.1斐波那契数列求解

斐波那契数列为 0 , 1 , 1 , 2 , 3 , 4 , 8 , 13 , … 0,1,1,2,3,4,8,13,\dots 0,1,1,2,3,4,8,13,通项公式为 F k + 2 = F k + 1 + F k F_{k+2}=F_{k+1}+F_k Fk+2=Fk+1+Fk F 100 F_{100} F100
若以矩阵形式来理解数列,那么矩阵的特征值可以直观的告诉我们数列的增长速度
u k = [ F k + 2 F k + 1 ] u_k=\begin{bmatrix}F_{k+2}\\F_{k+1}\end{bmatrix} uk=[Fk+2Fk+1],则可以推出
F k + 2 = F k + 1 + F k F k + 1 = F k + 1 \begin{aligned}F_{k+2}&=F_{k+1}+F_k\\ F_{k+1}&=F_{k+1}\end{aligned} Fk+2Fk+1=Fk+1+Fk=Fk+1
写成矩阵形式为 u k + 1 = [ 1 1 1 0 ] u k u_{k+1}=\begin{bmatrix}1&1\\1&0\end{bmatrix}u_k uk+1=[1110]uk
这里的矩阵是个对称矩阵,因此拥有实数特征值,且特征向量正交。
λ 1 = 1 + 5 2 , λ 2 = 1 − 5 2 \lambda_1=\frac{1+\sqrt5}{2},\lambda_2=\frac{1-\sqrt5}{2} λ1=21+5 λ2=215
绝对值大于1的特征值 λ 1 \lambda_1 λ1控制着斐波那契数列的增长。
u k = A k u 0 = c 1 λ 1 k x 1 + c 2 λ 2 k x 2 u_k=A^ku_0=c_1\lambda_1^kx_1+c_2\lambda_2^kx_2 uk=Aku0=c1λ1kx1+c2λ2kx2因为 ∣ λ 2 ∣ < 1 |\lambda_2|<1 λ2<1,所以当乘方次数较高时有 k → ∞ , λ 2 k → 0 k\rightarrow\infty,\lambda_2^k\rightarrow0 kλ2k0所以 λ 1 \lambda_1 λ1才是数列增长的决定性因素。
利用上述的特征值可以求出特征向量 x 1 = [ λ 1 1 ] , x 2 = [ λ 2 1 ] x_1=\begin{bmatrix}\lambda_1\\1\end{bmatrix},x_2=\begin{bmatrix}\lambda_2\\1\end{bmatrix} x1=[λ11],x2=[λ21]

u 0 = [ F 1 F 0 ] = [ 1 0 ] = c 1 x 1 + c 2 x 2 u_0=\begin{bmatrix}F_1\\F_0\end{bmatrix}=\begin{bmatrix}1\\0\end{bmatrix}=c_1x_1+c_2x_2 u0=[F1F0]=[10]=c1x1+c2x2
求出 c 1 = 1 5 , c 2 = − 1 5 c_1=\frac{1}{\sqrt5},c_2=-\frac{1}{\sqrt5} c1=5 1,c2=5 1
[ F 100 F 99 ] = A 99 [ F 1 F 0 ] = [ λ 1 λ 2 1 1 ] [ λ 1 99 λ 2 99 ] [ c 1 c 2 ] = c 1 λ 1 100 + c 2 λ 2 100 \begin{bmatrix}F_{100}\\F_{99}\end{bmatrix}=A^{99}\begin{bmatrix}F_{1}\\F_{0}\end{bmatrix}=\begin{bmatrix}\lambda_1&\lambda_2\\1&1\end{bmatrix}\begin{bmatrix}\lambda_1^{99}& \\ &\lambda_2^{99}\end{bmatrix}\begin{bmatrix}c_1\\c_2\end{bmatrix} =c_1\lambda_1^{100}+c_2\lambda_2^{100} [F100F99]=A99[F1F0]=[λ11λ21][λ199λ299][c1c2]=c1λ1100+c2λ2100
因此 F 100 = c 1 λ 1 100 F_{100}=c_1\lambda_1^{100} F100=c1λ1100

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值