MIT 线性代数导论 第二十二讲:矩阵对角化和幂

本讲的主要内容

  • 对角化矩阵的概念以及方法
  • 计算矩阵的幂的对角化方法
  • 几个例子

对角化矩阵、计算矩阵的幂

对于一个有 n n n 个不同特征向量(其实就是说所有的特征值均不同)的矩阵 A A A,讲它的 n n n 个特征向量组成一个矩阵 S S S ,如果我们计算 A S AS AS 可以有如下过程:
A S = A ( x 1 , x 2 , x 3 . . . x n ) = ( λ 1 x 1 , λ 2 x 2 , . . . . λ n x n ) = ( x 1 , x 2 , x 3 . . . x n ) ( λ 1 . . . 0 . . . . . . . . . 0 . . . λ n ) = S Λ AS = A(x_{1}, x_{2}, x_{3}...x_{n}) = (\lambda_{1}x_{1},\lambda_{2}x_{2},....\lambda_{n}x_{n})=(x_{1}, x_{2},x_{3}...x_{n})\begin{pmatrix} \lambda_{1} &... & 0\\ ... & ... & ...\\ 0 &... & \lambda_{n} \end{pmatrix}=S\Lambda AS=A(x1,x2,x3...xn)=(λ1x1,λ2x2,....λnxn)=(x1,x2,x3...xn)λ1...0.........0...λn=SΛ

一定注意上面的式子成立的条件是矩阵有 n n n 个不同的特征向量,如果我们将上面的结论继续做变化:
A = S Λ S − 1 A = S\Lambda S^{-1} A=SΛS1

那么现在就可以拿到这个形式很好看的等式了。使用这个等式我们可以简化很多矩阵的幂的计算,例如计算 A 2 A^{2} A2:
A 2 = ( S Λ S − 1 ) 2 = S Λ S − 1 S Λ S − 1 = S Λ 2 S − 1 A^{2} = (S\Lambda S^{-1})^{2} =S\Lambda S^{-1}S\Lambda S^{-1} = S\Lambda^{2}S^{-1} A2=(SΛS1)2=SΛS1SΛS1=SΛ2S1

利用对角化计算差分方程

对于矩阵 A A A ,如果有列向量 u i u_{i} ui 总有 u i + 1 = A u i u_{i+1} = Au_{i} ui+1=Aui,现在已知 A , u 0 A, u_{0} A,u0,如何求解 u k u_{k} uk
首先展开这个递推式:
u k = A u k − 1 = . . . = A k u 0 u_{k} = Au_{k-1}=... = A^{k}u_{0} uk=Auk1=...=Aku0
然后把矩阵对角化(当然,这个问题的前提是矩阵可以对角化),有: u k = S Λ k S − 1 u 0 u_{k} = S\Lambda^{k}S^{-1}u_{0} uk=SΛkS1u0,这时候,前提条件中的 n n n 个线性无关的特征向量就有用了, 对于 u 0 u_{0} u0 这个 n n n维向量,可以用这 n n n 个特征向量来表示,可以有:
u 0 = c 1 x 1 + c 2 x 2 + . . . + c n x n = ( x 1 , x 2 , . . . , x n ) ( c 1 c 2 . . . c n ) = S C u_{0} = c_{1}x_{1} + c_{2}x_{2} +...+c_{n}x_{n} = (x_{1}, x_{2}, ...,x_{n})\begin{pmatrix} c_{1}\\ c_{2}\\ ... \\ c_{n} \end{pmatrix}= SC u0=c1x1+c2x2+...+cnxn=(x1,x2,...,xn)c1c2...cn=SC
其中 S S S 跟前面对角化中的矩阵是一样的,都是特征向量组成的矩阵,把这个式子代入前面的 A k u 0 A^{k}u_{0} Aku0,就可以得到最终的结论:
u k = A k u 0 = S Λ k C u_{k} = A^{k}u_{0} = S\Lambda^{k}C uk=Aku0=SΛkC
计算这个表示线性组合的向量 C C C 还是比较简单的,所以计算的过程简单了一些。

计算Fibonacci 数列

这一个例子是上面的一个应用,首先我们知道斐波那契数列是:
0 , 1 , 1 , 2 , 3 , 5...... 0,1,1,2,3,5...... 0,1,1,2,3,5......
也就是:
F ( n ) = F ( n − 1 ) + F ( n − 2 ) , ( n > = 3 ) F(n) = F(n-1) + F(n-2) ,(n>=3) F(n)=F(n1)+F(n2),(n>=3)
为了使用对角化的知识计算,令 u k = ( F k + 1 F k ) u_{k} = \begin{pmatrix} F_{k+1}\\ F_{k} \end{pmatrix} uk=(Fk+1Fk),构造差分方程组:
{ F ( k + 2 ) = F ( k + 1 ) + F ( k ) F ( k + 1 ) = F ( k + 1 ) \left\{\begin{matrix} F(k+2) = F(k+1) + F(k)\\ F(k+1) = F(k+1) \end{matrix}\right. {F(k+2)=F(k+1)+F(k)F(k+1)=F(k+1)
这时候,我们可以得到:
u k + 1 = A u k , A = ( 1 1 1 0 ) u_{k+1} = Au_{k},A=\begin{pmatrix} 1 &1 \\ 1&0 \end{pmatrix} uk+1=AukA=(1110)
这样,我们就构造了上面一样的递推形式,接下来按照对角化矩阵 A A A 然后就可以计算 S Λ k C S\Lambda^{k}C SΛkC就可以快速计算了。

用线性代数解决斐波那契数列,感觉真的是…Amazing!,学数学的人真厉害啊。

以上~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值