This is a basic subject on matrix theory and linear algebra. Emphasis is given to topics that will be useful in other disciplines, including systems of equations, vector spaces, determinants, eigenvalues, similarity, and positive definite matrices.
Lec 16 Orthogonal Matrices and Gram-Schmidt
16.1 Overview
这一节主要是承接上节末尾的标准正交向量, 主要关于标准正交向量的性质与优点, 以及将一组普通向量转化为标准正交向量的方法: Gram-Schmidt 正交化.
16.2 Review on Orthonormal Vectors
假设 q
是标准正交向量组中的任意向量, 则向量之间相互垂直, 且长度为 1, 这也是为什么叫标准 (normal).
16.3 Orthogonal Matrix (Q)
我们现在引入一个新的概念: 正交矩阵 Q. Q 是由标准正交向量组中的 $q_1,q_2,…,q_n$ 所组成. 而且正交矩阵还有一个很好的性质.
注意这里的 Q 可以不是方阵, 而当 Q 是方阵时, 其有如下两个性质:
- $Q^TQ=I$
- $Q^T=Q^{-1}$
我们可以看几个例子, 注意我们一定不要忘了单位化 (标准化) 向量. 即将每个基的单位变成 1.
那么正交矩阵有什么作用呢? 其主要的应用就是投影矩阵.
我们在前两节的学习中已经知道投影矩阵的一般形式是: $P=A(A^TA)^{-1}A^T$. 那么当 A 是正交矩阵 Q 时, 投影矩阵很明显等于: $P=QQ^T$. 特别当 Q 为方阵时, 投影矩阵为 $I$.
至于我们之前用的拟合方程, 如果 A = Q 时就可以得以简化!
$A^TA\hat{x}=A^Tb$
$Q^TQ\hat{x}=Q^Tb$
$I\hat{x}=Q^Tb$
$\hat{x}=Q^Tb$
这样简化之后, 很明显 $\hat{x}$ 中的每个分向量都是 Q 中对应列向量与 b 的点乘结果, 即:
$\hat{x}_{i}=q^{T}_{i}b$
这个式子的意义就是, 我们已知标准正交基, 那么 b 在第 i 个基上的投影就是 $q^{T}_{i}b$. 很明显, 当我们选择标准正交向量作为基时, 投影矩阵相关公式中的 A 都可以被 Q 替换, 这样很多公式都可以被化简.
16.4 Gram-Schmidt
我们还是按照老样子, 从线性无关向量组入手, 将其标准正交化.
有两个线性无关向量 a, b. 我们试图通过某种过程得到标准正交向量 $q_1,q_2$.
我们也可以推广到三维
我们通过一个简单的例子去熟悉这个方法. $a=\left|\begin{matrix}1\\1\\1\end{matrix}\right|$, $b=\left|\begin{matrix}1\\0\\2\end{matrix}\right|$, 我们需要求正交矩阵 Q.
而且我们不难发现!!! $\left|\begin{matrix}1\ 1\\1\ 0\\1\ 2\end{matrix}\right|$是和 Q 的列空间是一样的! 因为我们在计算 B 的过程中, 所用到的就是 a 和 b, 所以列空间并没有发生改变!
注意! Gram-Schmidt 正交化十分类似矩阵 A 的 LU 分解. 在正交化的过程中, A 可以分解为 Q 和 R. 其中 R 是上三角矩阵:
具体证明过程可查阅 <线性代数及其应用(第五版)>P353.
Lec 17 Properties of Determinants
17.1 Overview
本节主要是关于行列式的一些性质, 这些性质能够帮助理解后续问题.
17.2 Properties
行列式是跟每个方阵都有关的一个数字. 这个数字包括了这个矩阵的很多性质, 例如方阵是否可逆可以根据行列式的值来进行判断, 行列式为 0, 则方阵不可逆. 行列式记法: $\left|A\right|$ 或 $det(A)$
性质一
对于单位矩阵 $I$, 有 $det(A)=1$.
性质二
交换两行之后, 行列式的值相反.由性质一和性质二, 我们可知置换矩阵的行列式值为 1 或-1.
性质三
3.a 行列式按行提取系数, 即$\left|\begin{matrix}ta&tb\\c&d\end{matrix}\right|=t\left|\begin{matrix}a&b\\c&d\end{matrix}\right|$
3.b 行列式是一个线性函数, 但这个线性单独反映在每一行上. 即 $\left|\begin{matrix}a+a’&b+b’\\c&d\end{matrix}\right|=\left|\begin{matrix}a&b\\c&d\end{matrix}\right|+\left|\begin{matrix}a’&b’\\c&d\end{matrix}\right|$
注意, 这里并不是 $det(A+B)=det(A)+det(B)$, 这里的线性运算并不作用于整个矩阵上, 而是只反映在每一行上.
性质四
如果两行相等, 那么行列式等于 0. 这条可以用性质 2 证明, 即 $det(A)=-det(A),\ det(A)=0$
性质五
从矩阵的行 k 减去行 i 的 $l$ 倍, 矩阵的行列式值不变. 你们发现没有? 这个步骤就是我们常做的矩阵的消元.
性质六
如果矩阵有一行全为零, 那么矩阵的行列式为 0. 这条可以用性质三证明.
性质七
上三角矩阵和对角矩阵的行列式等于其对角线上元素的乘积. 我们可以利用性质五进行消元得到矩阵 U 或 D, 也就是使主元 (pivot) 上下的元素为零.
性质八
若矩阵 A 可逆, 那么|A|不为零. 因为不可逆矩阵在进行消元之后会得到全零行, 其行列式一定为 0.
性质九
$det(AB)=detA\times detB$
借此, 我们通过 $AA^{-1}=I$ 可以得到:
$detA^{-1}=\frac{1}{detA}$
$detA^{2}=(detA)^{2}$
- $det(kA)=k^ndetA$
性质十
$|A^T|=|A|$, 这个性质也并不难理解, 过程如下:
- 将矩阵进行 LU 分解: $|U^TL^T|=|LU|$
- 由性质九, 我们可知: $|U^T||L^T|=|U||L|$
- 从 Lec 4 我们可知, L 是一个主对角线全是 1 的小三角矩阵, 而 U 是一个上三角矩阵. 像 U, L 这样的上/下三角矩阵, 不论转置与否, 其行列式都为对角线上各元素的乘积.
Lec 18 Determinant Formulas and Cofactors
18.1 Overview
本节主要是关于行列式公式和代数余子式 (Cofactors)
18.2 Determinant Formulas
上一节我们介绍了行列式的基本性质, 理解和掌握这些性质我们并不需要了解行列式如何求解, 但是我们可以根据这些性质推出来行列式的一般求解过程. 我们从二阶行列式讲起.
根据性质三, 我们可以得到:
$\left|\begin{matrix}a&b\\c&d\end{matrix}\right|=\left|\begin{matrix}a&0\\c&d\end{matrix}\right|+\left|\begin{matrix}0&b\\c&d\end{matrix}\right|=\left|\begin{matrix}a&0\\c&0\end{matrix}\right|+\left|\begin{matrix}a&0\\0&d\end{matrix}\right|+\left|\begin{matrix}0&b\\c&0\end{matrix}\right|+\left|\begin{matrix}0&b\\0&d\end{matrix}\right|=0+ad+(-bc)+0$
因此, $\left|\begin{matrix}a&b\\c&d\end{matrix}\right|=ab-cd$
观察上面的求解过程, 我们不难发现, 行列式其实取决于那些分解后非零的行列式的和, 这些非零行列式有这样一个特点: 各行各列均有元素.
接下来我们将问题扩展到三阶:
观察这个拆分过程, 很明显, 如果是 n 阶矩阵的话, 得到的非零行列式一共有 n!
种. 因为第一行有 n 个选择, 第二行就只有 n-1 个矩阵, 以此类推. 其实整个拆分过程就是每次从一行中选择剩余行不同列的元素相乘. 下面给出行列式计算的公式, 注意符号的正负: $|A|=\sum \pm a_{1\alpha}a_{2\beta}a_{3\gamma}\cdots a_{n\omega}$, 其中$\alpha,\beta,\gamma\cdots \omega$, 是集合 1~n 的某一种排列. n 个列标符号每个均只能用一次.
我们接下来用一个例子来理解这个式子, 求行列式: $\left|\begin{matrix}0&0&1&1\\0&1&1&0\\1&1&0&0\\1&0&0&1\end{matrix}\right|$
我们从第一行开始, 只能从 $a_{13}$和 $a_{14}$开始分解, 我们可以得到行列式:
$\left|\begin{matrix}0&0&1&0\\0&1&0&0\\1&0&0&0\\0&0&0&1\end{matrix}\right|+\left|\begin{matrix}0&0&0&1\\0&0&1&0\\0&1&0&0\\1&0&0&0\end{matrix}\right|$
为了将其调整到标准的对角线位置, 前者需要调整一次,故为-1. 后者需要调整两次, 故为+1. 因此该行列式的值为 0.
18.3 Cofactors
利用代数余子式, 我们可以更方便地求解行列式, 其作用是将 n 阶行列式化成 n-1 阶.
根据前面所讲的公式, 我们不难发现, 在选取元素进行累乘时, 例如从第一行选取第一个元素之后, 剩余的因子是在剩余的 n-1
行和n-1
列中选取. 这剩余的因子组成了一个 n-1
阶的行列式, 这就是所谓的代数余子式. 如图所示:
下面, 我们给出代数余子式的一般公式:
$a_{ij}$ 位置对应的代数余子式 (记为 $C_{ij}$), 等于去掉原行列式中第 i
行, 第 j
列后剩余元素组成的行列式的值. 且当 i+j
为偶数时取正, 奇数时为负, 可以理解为 $(-1)^{i+j} \times$剩余元素组成的行列式.
$a_{ij}$ 对应的余子式: 去掉代数余子式的正负符号就是对应的余子式.
根据之前的介绍, 我们知道计算代数余子式就是一个提取公因式的过程, 那么对应地, 使用代数余子式来展开一个行列式, 就能得到对应行列式的值:
$|A|=a_{i1}C_{i1}+a_{i2}C_{i2}+\cdots\cdots+a_{in}C_{in}$, i
为行数, 代表沿第 i
行展开.
现在我们有三种方法计算行列式:
- 将矩阵 A 化成上三角或对角线矩阵 (最简单, 也是 Matlab 使用的策略)
- 使用行列式公式完全展开计算 (很复杂)
- 使用代数余子式按一行展开进行计算 (稍复杂)
接下来我们通过一种特殊的矩阵熟悉一下按行展开行列式的计算方法:
$A_1=1,\ A_2=\left|\begin{matrix}1&1\\1&1\end{matrix}\right|,\ A_3=\left|\begin{matrix}1&1&0\\1&1&1\\0&1&1\end{matrix}\right|,\ A_4=\left|\begin{matrix}1&1&0&0\\1&1&1&0\\0&1&1&1\\0&0&1&1\end{matrix}\right|$ 我们来寻找一下这几个行列式的规律.
解:
我们先看一下 1, 2, 3 阶对应情况, 我们很容易得到: $A_1=1,A_2=0,A_3=-1$
那么 $A_4$ 展开的行列式有什么规律呢? 我们看一下
由于这个矩阵的特殊性, 我们可以得到规律:
$A_n=A_{n-1}-A_{n-2}$, 所以这个结构的一组行列式对应的值就是一个数列: 1, 0, -1, -1, 0, 1 这样的循环. 也就是其对应行列式的值以 6 为周期进行变换.
Lec 19 Cramer’s Rule, Inverse Matrix and Volume
19.1 Overview
这一节主要是关于行列式的应用, 包含三个主题: 克莱姆法则, 逆矩阵和体积.
19.2 Inverse Matrix Formula
我们先给出逆矩阵公式: $A^{-1}=\frac{1}{detA}C^T$. 这里的矩阵 C 代表代数余子式矩阵, 即其中各个元素为矩阵 A 各元素对应的代数余子式. 逆矩阵公式里面用的是矩阵 $C$ 的转置 $C^T$, 我们称之为伴随矩阵.
我们来看个简单的例子: $\left|\begin{matrix}a&b\\c&d\end{matrix}\right|^{-1}=\frac{1}{ad-bc}\left|\begin{matrix}d&-b\-c&a\end{matrix}\right|$
我们看看这个公式的结构:
我们再来研究一下公式的正确性
因为: $AA^{-1}=I$
所以在逆矩阵公式两边同时乘A, 我们可以得到: $I=\frac{1}{detA}AC^T$
因此, 我们需要验证: $AC^T=(detA)I$
我们将其展开观察:
$AC^T=\left|\begin{matrix}a_{11}&\cdots&a_{1n}\\\cdots&\cdots&\cdots\\a_{n1}&\cdots&a_{nn}\end{matrix}\right|\left|\begin{matrix}C_{11}&\cdots&C_{n1}\\\cdots&\cdots&\cdots\\C_{1n}&\cdots&C_{nn}\end{matrix}\right|=\left|\begin{matrix}detA&0&0\\0&\cdots&0\\0&0&detA\end{matrix}\right|=(detA)I$
这里有一个问题, 我们以第一行为例, 为什么 $[a_{11}\quad a_{12}\quad \cdots\quad a_{1n}]$ 这个行向量在和不属于这行元素的代数余子式构成的列向量相乘时, 得到的结果为零呢? 很简单, 就以 A 的第一行和 $C^T$ 的第二列为例:
$\left|\begin{matrix}a_{11}&a_{12}&\cdots&a_{1n}\end{matrix}\right|\left|\begin{matrix}C_{21}\\C_{22}\\\cdots\\C_{2n}\end{matrix}\right|=a_{11}C_{21}+a_{12}C_{22}+\cdots+a_{1n}C_{2n}$
我们构造一个新矩阵来看看这是个什么玩意:
这个矩阵前两行相同, 将这个矩阵按照第二行用行列式展开, 即是:
同时, 由于这个矩阵的前两行相同, 故其行列式为 0.
我们再回过头来看一下逆矩阵公式: $A^{-1}=\frac{1}{detA}C^T$
这个公式能够帮助我们理解原矩阵和逆矩阵之间的关系, 理解原矩阵变化对逆矩阵的影响.
19.3 Cramer’s Rule
基于上面的逆矩阵公式, 我们可以找到另一种解 Ax=b
的方式:
$Ax = b$
$x=A^{-1}b=\frac{1}{detA}C^Tb$
我们注意 $C^Tb$ 这个形式, 展开就是每一个代数余子式乘以 b 的各个分量. 余子式乘数字, 这让我们想到了行列式, 那么这个行列式是什么样的呢?
$x_{1}=\frac{1}{detA}(b_1C_{11}+b_2C_{21}+\cdots+b_nC_{n1})$
我们还是用构造法, 所以:
$x_{1}=\frac{detB_1}{detA}$, $x_{2}=\frac{detB_2}{detA}$, … , $x_{n}=\frac{detB_n}{detA}$
而且 $B_1=\left|\begin{matrix}b_1&a_{12}&\cdots&a_{1n}\\b_1&a_{22}&\cdots&a_{2n}\\\cdots&\cdots&\cdots&\cdots\\b_1&a_{n2}&\cdots&a_{nn}\end{matrix}\right|$, $|B_2|,|B_3|…$以此类推.
Cramer’s Rule 将计算 Ax=b
的过程给公式化了, 但是其实这公式没卵用, 成本太高, 不如用消元法.
19.4 Volume
我们可以用 $3\times3$ 矩阵的行列式来求一个六面体的体积.
例如 $A=\left|\begin{matrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{matrix}\right|$, 对应的六面体如下:
行列式的值有正负, 所以该六面体的体积即为行列式的绝对值. 而正负号的作用是告诉我们这个六面体是左手系还是右手系的. 因为当我们调换这个六面体的两边之后, 我们得到的是不同系下的立体, 其体积不会改变, 只是旋转顺序变了.
我们研究几个特别的矩阵:
单位矩阵 $I$
很明显, 单位矩阵对应的是长宽高均为 1 的立方体, 朝向即是各坐标轴的正方向.
正交矩阵 $Q$
你应该还记得正交矩阵有这个特性 $QQ^T=I$, 两面同时取行列式我们可以得到 $detQ=1$. 所以 Q 对应的也是长宽高均为 1 的立方体, 只是在坐标轴里面发生了旋转.
我们在 Lec 17 中讲了行列式的性质, 其中性质一,二,三(a)都很好证明, 我们在这里主要讲一下性质三(b): $\left|\begin{matrix}a+a’&b+b’\\c&d\end{matrix}\right|=\left|\begin{matrix}a&b\\c&d\end{matrix}\right|+\left|\begin{matrix}a’&b’\\c&d\end{matrix}\right|$
我们以二维为例:
有上面的启发, 求过原点的三角形面积就可以用行列式求解: $S=\frac{1}{2}det(\left|\begin{matrix}a&b\\c&d\end{matrix}\right|)$
而对于不过原点的三角形, 我们就需要构造新的矩阵, 并求其行列式, 比如:
需要新构建的矩阵就是: $A=\left|\begin{matrix}x_1&y_1&1\\x_2&y_2&1\\x_3&y_3&1\end{matrix}\right|$, 此三角形面积即为: $\frac{1}{2}det(A)$, 我们计算这个矩阵的行列式的时候会做一系列的消元, 这一系列消元相当于将三角形移到了原点位置.
Lec 20 Eigenvalues and Eigenvectors
20.1 Overview
本节主要介绍特征值与特征向量. 主要目的是掌握求特征值的一般步骤.
20.2 Concept of Eigenvalues and Eigenvectors
我们首先给出特征值和特征向量的定义:
对于一个矩阵 $A$, 如果有 $Ax=\lambda x$, 那么我们则称 $x$ 为特征向量, $\lambda$ 为特征值. 那么如何理解特征值与特征向量所代表的意义呢?我们来看 $Ax$ 这个式子, 对于不同的向量 $x$, $Ax$ 这个式子像是一个函数, 输入是一个向量 $x$, 输出是另外一个向量 $Ax$. 而在我们输入的众多向量 $x$ 生成的 $Ax$ 中, 会有这样的向量 $Ax$, 它们平行于 $x$,我们即用上面这个式子: $Ax=\lambda x$ 来表示这个关系.
如果特征值为 0 呢? 此时会有 $Ax=0$. 我们可以发现如果矩阵 $A$ 是不可逆的时候, 就可以找到特征向量不为零的情况.
我们再来研究一下之前提到过的投影矩阵, 如果投影矩阵是 P 的话, 那么其对应的特征值是多少呢?
- 如果对任意平面上的 $x_1$ 来说, 投影矩阵根本不会影响它的大小所以就有: $Ax_1=\lambda x_1$ 恒成立, 此时 $\lambda=1$.
- 如果对任意垂直平面的 $x_2$ 来说, 投影矩阵的会使: $Ax_2=0$ 恒成立, 此时 $\lambda=0$.
20.3 Solution
我们现在来介绍特征值和特征向量的一般求解方法, 我们需要对方程进行一些处理:
$Ax=\lambda x$ → $(A-\lambda I)x=0$ → $A-\lambda I$ 是不可逆矩阵 → $A-\lambda I$ 行列式为 0
由此我们可以求出特征值, n 阶矩阵有 n 个特征值. 在求解特征向量是, 我们只需要带入一个特征值之后, 求对应线性方程组的 Nullspace.
[例 1]
我们来看一个例子: 求解 $\left|\begin{matrix}3&1\\1&3\end{matrix}\right|$ 的特征向量和特征值
我们只需要构造矩阵 $\left|\begin{matrix}3-\lambda&1\\1&3-\lambda\end{matrix}\right|$ 并求解其行列式等于 0. 我们可以得到方程式: $\lambda^2-6\lambda+8=0$, 解得两个特征值: $\lambda_1=2, \lambda_2=4$. 我们代入特征值可以得到相应的特征向量: $x_1=\left|\begin{matrix}-1\\1\end{matrix}\right|,x_2=\left|\begin{matrix}1\\1\end{matrix}\right|$.
注:
- 我们不难发现 $\lambda_1+\lambda_2=6$, 正好是矩阵对角线上元素的和, 我们称之为迹 (trace). 也就是矩阵的特征值之和和迹相等.
同时我们发现 $\lambda_1\lambda_2=8$, 正好是矩阵的行列式. 也就是矩阵的特征值之积和矩阵的行列式相等.
[例 2]
我们在前一个例子的基础上, 如果矩阵 $A=\left|\begin{matrix}3&1\\1&3\end{matrix}\right|-3I$, 那么它的特征值和特征向量将如何变化?
原矩阵的特征值为: $\lambda_1=2,\lambda_2=4$.
新矩阵的特征值为: $\lambda_1=-1,\lambda_2=1$
我们不难发现, 新的特征值变为 $\lambda-3$, 且对应的特征向量不会改变. 即 $(A-3I)x=\lambda x-3x=(\lambda -3)x$
[例 3]
矩阵 A 有特征值 $\lambda$, 即 $Ax=\lambda x$. 矩阵 B 有特征值, 即 $Ax=\alpha x$. 那么 $(A+B)x=(\lambda+\alpha)x$ 是否成立?
答案是不成立的, 这里的 x 是不一样的.
20.4 Special Case
接下来, 我么通过两个例子来说明求解特征向量和特征值的过程很重可能遇到的特殊情况.
[例 4]
旋转矩阵 Q 使得每个向量旋转 $90^\circ$, 记为 $Q=\left|\begin{matrix}cos90^\circ&-sin90^\circ\\sin90^\circ&cos90^\circ\end{matrix}\right|=\left|\begin{matrix}0&-1\\1&0\end{matrix}\right|$ , 求特征值和特征向量.
根据上面例 1 的结论, 我们可以知道
- $\lambda_1+\lambda_2=0$
$\lambda_1\lambda_2=1$
求解我们可以得到, $\lambda_1=i,\lambda_2=-i$
启示: 我们发现 $Q$ 是反对称矩阵, 即 $A^T=-A$, 而我们之前求的都是对称矩阵的特征值, 也就是说, 对称矩阵的特征值为实数, 而反对称矩阵的特征值为虚数, 这是两个极端.
[例 5]
求矩阵 $A = \left|\begin{matrix}3&1\\0&3\end{matrix}\right|$ 的特征值和特征向量
这是个上三角矩阵, 求解 A-λI 行列式时会发现: $\lambda_1=\lambda_2=3$, 这时的 特征向量只会有一个, 也就是说, 三角矩阵的结构的特殊性导致了其行列式为对角线上元素, 而如果对角线上两个元素相等, 那么就会造成特征向量短缺情况.
Lec 21 Diagonalization and Powers of A
20.1 Overview
本节课主要是关于矩阵的对角化, 并利用了矩阵的对角化简化了矩阵的幂运算. 最后也会提一嘴差分方程的应用.
20.2 Diagonalization
所谓矩阵的对角化, 其实就是矩阵的一种分解方式. 我们之前已经学习过两种分解方式:
- LU 分解
- QR 分解
但根据我们上一节学习的特征值和特征向量, 我们能引入一种新的分解方式, 即矩阵的对角化. 若矩阵 A 有 n 个线性无关的特征向量, 那么可以将它们组成一个可逆方阵, 进而将矩阵进行分析:
假设 A 的 n 个线性无关的特征向量组成矩阵 S, 有:
$S=[x_1,\quad x_2,\quad \cdots \quad,x_n]$
构造 $AS=A[x_1,\quad x_2,\quad \cdots \quad,x_n]$
由特征值得定义我们可以知道: $AS=A[x_1,\quad x_2,\quad \cdots \quad,x_n]=[\lambda_1x_1,\quad \lambda_2x_2,\quad \cdots \quad,\lambda_nx_n]$
写成矩阵乘法形式: $AS=[\lambda_1x_1,\quad \lambda_2x_2,\quad \cdots \quad,\lambda_nx_n]=[x_1,\quad x_2,\quad \cdots \quad,x_n]\left|\begin{matrix}\lambda_1&0&0&0\\0&\lambda_2&0&0\\0&0&\cdots&0\\0&0&0&\lambda_n\end{matrix}\right|$
我们将由特征值组成的对角矩阵称为 $\Lambda$, 即 $AS=S\Lambda$
由于矩阵 S 是由线性无关的特征向量组成的, 所以矩阵 S 是可逆的, 因此我们可以得到:
- $\Lambda=S^{-1}AS$
- $A=S\Lambda S^{-1}$
如上, 我们得到了一种新的矩阵分解方式, 利用矩阵 $A$ 的 $n$ 个线性无关的特征向量构造矩阵 $S$, 再利用矩阵 $A$ 的 $n$ 个特征值 $\lambda$ 构造对角矩阵 $\Lambda$, 将 $A$ 分解为: $A=S\Lambda S^{-1}$
所以这中矩阵分解方式有什么用呢? 其实主要是用于理解矩阵的幂运算. 比如:
$A=S\Lambda S^{-1}$
$A^2=S\Lambda^2 S^{-1}$
$A^k=S\Lambda^k S^{-1}$
我们使用特征向量和特征值也可以很明显看出这个性质:
$Ax=\lambda x$
$A^2x=\lambda Ax=\lambda^2x$
$A^kx=\lambda^kx$
这说明, 矩阵的 k 次幂 $A^k$ 的特征值是 $\lambda^k$, 而特征向量 $x$ 不受次幂的影响, 即 $A^k=S\Lambda^k S^{-1}$.
我们来思考一个问题, 若矩阵 $A$ 存在 $n$ 个线性无关的特征向量, 那么什么条件下能使矩阵的幂 $A^k$ 趋近于零?
解:
由 $A^k=S\Lambda^k S^{-1}$ 可知, 当所有特征值都满足: $|\lambda_i|<1$ 时, 当 $k$ 趋近于无穷大时, 矩阵 $A^k$ 趋近于零.
另外, 注意矩阵是否能够成功对角化取决于该矩阵是否有 n 个线性无关的特征向量, 而特征向量与特征值之间有着紧密的联系:
- 如果矩阵 $A$ 没有重复的特征值, 矩阵就一定有 $n$ 个线性无关的特征向量 (这也就意味着, 不同特征值对应特征向量线性无关)
- 但是如果有重复的特征值, 结论不是完全否定的, 也就是说这时也可能存在 $n$ 个线性无关的特征向量. 例如: 10x10 的单位矩阵, 其特征值只有 1, 但是事实 上我们可以取得 10 个线性无关的特征向量.
[例 1]
看一个例子, 判定矩阵 $A=\left|\begin{matrix}2&1\\0&2\end{matrix}\right|$ 是否可以对角化?
解:
上述矩阵的特征值只有一个即: $\lambda_1=\lambda_2=2$, 再看矩阵 $A-2I$ 的零空间, 只有一个特征向量 $\left|\begin{matrix}1\\0\end{matrix}\right|$, 零空间只是一维的, 所以矩阵 $A$ 不可以对角化.
20.3 Differential Equations
有了对角化知识的储备, 我们可以开始着手解决矩阵的次幂问题了. 我们还是看几个例子:
[例 2]
有这样一种递推关系: 给定向量 $u_0$, 有 $u_{k+1}=Au_k$
解:
根据这个递推关系, 我们不难得到: $u_k=A^ku_0$
但是这种解并不具体, 根据上面学习到的知识, 由于 $u_0$ 是 $n$ 维的, 而 $A$ 又有 $n$ 个线性无关的特征向量, 所以 $u_0$ 可以写为一个由矩阵 $A$ 的 $n$ 个特征向量组成的线性组合, 类似于基:
$u_0=c_1x_1+c_2x_2+\cdots+c_nx_n$
再将 A 化为特征值形式:
$u_1= Au_0=c_1\lambda_1 x_1+c_2\lambda_2 x_2+\cdots+c_n\lambda_n x_n$
$u_2= A^2u_0=c_1\lambda_1^2 x_1+c_2\lambda_2^2 x_2+\cdots+c_n\lambda_n^2 x_n$
$\cdots\cdots$
$u_k= A^ku_0=c_1\lambda_1^k x_1+c_2\lambda_2^k x_2+\cdots+c_n\lambda_n^k x_n$
写成矩阵形式:
$u_k=S\Lambda^kC$
其中 $\Lambda$ 是特征值构成的对角矩阵, $S$ 是由特征向量构成的矩阵, $C$ 是由系数 $c_1,c_2,\cdots,c_n$ 构成.
[例 3]
斐波那契数列 0, 1, 1, 2, 3, 5, 8, 13, … 试求第 100 项的值, 以及其增长速度.
解:
同样, 由斐波那契数列的特征, 我们可以得到以下方程:
$F_{k+2}=F_{k+1}+F_k$
我们希望构造一阶差分, 但是仅仅这一个方程是无法构造矩阵形式的, 我们添加一个方程:
$F_{k+1}=F_{k+1}$
通过联立的方程组, 构造一个矩阵形式:
设 $u_k=\left|\begin{matrix}F_{k+1}\\F_{k}\end{matrix}\right|$, 则该方程组可以矩阵化为 $u_{k+1}=\left|\begin{matrix}1&1\\1&0\end{matrix}\right|u_k=\left|\begin{matrix}F_{k+1}+F_{k}\\F_{k+1}\end{matrix}\right|$
这样我们成功将一个二阶方程化为一个一阶方程组, 也就是我们在例 1中提到的 $u_{k+1}=Au_k$ 的形式.
对于矩阵 $A=\left|\begin{matrix}1&1\\1&0\end{matrix}\right|$, 我们知道其特征值为:
$\lambda_1=\frac{1}{2}(1+\sqrt{5})=1.618,\lambda_2=\frac{1}{2}(1-\sqrt{5})=-0.618$
根据上面的介绍, $u_k=A^ku_0=c_1\lambda_1^k x_1+c_2\lambda_2^k x_2+\cdots+c_n\lambda_n^k x_n$. 而对于斐波那契这个数列而言, n = 2, 有:
$u_k=c_1\lambda_1^k x_1+c_2\lambda_2^k x_2$
而 $\lambda_2=-0.618$, 其绝对值比 1 小, 所以 $u_k$ 后一项趋于 0, 所以影响数列变化只剩下了 $\lambda_1$. 这样根据上面公式, 可以初步估算第 100 项近似为:
$F_{100}\approx c_1\lambda_1^{100}=c_1(\frac{1+\sqrt{5}}{2})^{100}$
接下来我们求 C 的对应值, 这需要从 $u_0$ 的展开式入手, 所以我们需要先得到矩阵 A 的两个特征向量:
$x_1=\left|\begin{matrix}\lambda_1\\1\end{matrix}\right|,x_2=\left|\begin{matrix}\lambda_2\\1\end{matrix}\right|$
本例中的初始向量 $u_0$ 为: $u_0=\left|\begin{matrix}1\\0\end{matrix}\right|$
将之代入 $u_0$ 的式子: $u_0=c_1x_1+c_2x_2+\cdots+c_nx_n$, 即可求得 $c_1$ and $c_2$.
我们来回顾一下解题的思路:
- 首先将方程组构造成动态增长的一阶方程组, 此时它的初始向量为 $u_0$.
- 此后关键在于确定 $A$ 的特征值, 因为特征值决定了增长的趋势, 发散至无穷还是收敛至 0 全由特征值决定.
- 接着需要找到对应的 $u_k$ 的展开式, 确定数列变化过程以及对应值.
- 求 $A$ 的特征向量, 代入 $u_0$ 来确定 c 的值, 而且各个特征向量必须是独立的.