======Matrix Algebra for Engineers======
//Week 4 Notes//
----
====Determinants====
===2阶 / 3阶矩阵的秩===
之前提到过:[[math:linear_algebra:matrix_engineers:week1#inverse_matrix|二阶逆矩阵的秩]]为 $ad-bc$。**秩**(//Determinants//)的意义在于判断矩阵 $A$ 是否可逆;而我们可以通过矩阵是否可逆判断出 $Ax=b$ 是否存在**独特解**,即:
\[
\begin{align*}
&detA = ad - bc \neq 0 \\
\Rightarrow & Ax =b \\
\Rightarrow & x = A^{-1}b
\end{align*}
\]
重要推论:当 $Ax = 0$ 时,如果 $A$ 可逆($Det(A)\neq0$),那么 可知 $x=0$.
==三阶矩阵的秩==
三阶矩阵的秩可以按下面的方式快速记忆:
* 正对角线方向,三元素为一组的乘积的和,减去
* 反对角线方向,三元素为一组的乘积的和
{{ :math:linear_algebra:matrix_engineers:det_a_d3.svg?300 |}}
* 推论1:三阶矩阵的头两行互换,其 $Det(A)$ 的值为原来秩的负数。
* 推论2:二阶矩阵中:$Det(AB) = Det(A) \cdot Det(B)$
===Laplace Expansion===
//Laplace Expansion// 是一种求矩阵秩的通用方法。
\\ \\
以之前已知秩结果的 $3\times3$ 矩阵为例。如果对该结果分别提取公因数进行整理:
\[
\begin{align*}
&aei + bfg + cdh - ceg -bdi +afh \\
=&a(ei-fh) - b(di-fg)+c(dh-eg)
\end{align*}
\]
经过观察,我们发现公因数对应括号里的结果实际上是二阶矩阵的秩
因此上面的结果可以改写为:
\\
\[
\begin{align*}
&a(ei-fh) + b(di-fg)+c(dh-eg) \\
=&a\begin{vmatrix}
e&f \\
h&i
\end{vmatrix}{\color{Red} -} b\begin{vmatrix}
d&f \\
g&i
\end{vmatrix}+
c\begin{vmatrix}
d&e \\
g&h
\end{vmatrix}
\end{align*}
\]
\\
对上面的结果进行进一步的观察:
\\
{{ :math:linear_algebra:matrix_engineers:laplace_expension_1_.svg?400 |}}
\\
可以发现的是,公因数对应的矩阵,实际上是将目标矩阵中公因数所在的行列元素全去掉后,剩下的元素组成的矩阵。这意味着,较大矩阵的秩,可以分解求更小矩阵秩的问题。
==公因数的正负==
在 //Laplace Expansion// 的过程中,项的符号有正有负。这个正负性可以通过以下办法解决:
$$
(-1)^{(x+y)}
$$
其中 $(x,y)$ 是公因数元素所在矩阵的位置。比如 $b$ 在 $(1,2)$,其符号为 $(-1)^3$,因此 $b$ 所在项符号为负。
==行列的选择==
//Laplace Expalnsion// 支持选择**任意行** & **任意列** 作为计算的起点。这也就意味着,选择 $0$ 最多的行或者列,是最易于计算的。
==实例==
计算下面矩阵的秩:
\\
\[
\begin{bmatrix*}
1& 0 & 0&-1 \\
3 & 0 & 0 & 5\\
2 & 2 & 4 & -3\\
1& 0& 5&0
\end{bmatrix*}
\]
* 首先观察 $0$ 所在的最多行&列:
\[
\begin{bmatrix*}
1& {\color{Red} 0} & 0&-1 \\
3 & {\color{Red} 0} & 0 & 5\\
2 & {\color{Red} 2} & 4 & -3\\
1& {\color{Red} 0} & 5&0
\end{bmatrix*}
\]
\\ \\
由于这一列只有第三行不为 $0$,因此只需要计算第三行元素与其对应的矩阵的秩的乘积。其位置为第2列第3行,系数为负。因此可得:
\\ \\
\[
\begin{bmatrix}
1& {\color{Blue} 0} & 0&-1 \\
3 & {\color{Blue} 0} & 0 & 5\\
{\color{Blue} 2} & {\color{Red} 2} & {\color{Blue} 4} & {\color{Blue} -3} \\
1& {\color{Blue} 0} & 5&0
\end{bmatrix}
=0+0-2 \begin{vmatrix}
1& 0& -1\\
3& 0& 5\\
1& 5&0
\end{vmatrix} +0
\]
\\ \\
再接着对得到的三阶矩阵进行进一步的扩展。这里选取第二列作为起始。该列只有 $(3,2)$ 处元素不为零,因此系数为 $-5$:
\\ \\
\[
-2 \begin{vmatrix}
1& {\color{Blue} 0} & -1\\
3& {\color{Blue} 0} & 5\\
{\color{Blue} 1} & {\color{Red} 5} &{\color{Blue} 0}
\end{vmatrix}
= -2(0+0-5\begin{vmatrix}
1& -1\\
3&5
\end{vmatrix})
\]
\\ \\
根据二阶矩阵的秩公式,可得最后结果为 $-2\times-5\times8 = 80$
===Leibniz Formula===
//Leibniz Formula//,又称 //Big Formula//,是另一种计算秩的方法。该方法通过按照指定规则排列出所有的 term,并使用该 term 的 permutation 的次数来计算 term 的正负;最终得到的所有 term 的**和**即为矩阵的秩。
==term 的列举==
如果是 $n$ 阶矩阵,那么每个 term 的组成为矩阵的 $n$ 个元素的乘积。term 的列举遵循一个规则:当前元素所在行列不能有其他的元素。因此如果以行优先来计算组合(term 的数量):第一行有 $n$ 种选择,第二行有 $n-1$ 中选择... 容易观察出,$n$ 阶矩阵存在 $n!$ 个 term。
以之前的三阶矩阵为例:
\\
\[
\begin{bmatrix}
a & b & c\\
d& e& f\\
g& h&i
\end{bmatrix}
\]
第一行有 $a,b,c$ 三种选择,那么第二行就只能有两种选择,第三行就只能有一种选择。比如以 $a$ 开头,那么第二行就不能选与 $a$ 同列的;因此选择只有 $e,f$,那么第三行中,如果 term 选了 $e$ 就不能再选 $h$,同理 $f$ 与 $i$ 只能二选一。因此,$a$ 开头有两种组合方式:$aei, afh$。同理,$b$ 开头有两种:$bdi, bfg$,$c$ 开头有两种:$cdh,ceg$。一共 6 种组合,正好是 $3!$ 。
==term 的正负==
列举出所有的 term 之后,我们还需要知道每个 term 的正负。本方法使用当前 term 的**列**顺序转换到**升序**排列所需要的 permutation 的次数,来判定其正负:
* 当 permutation 的次数为偶数时,term 为正
* 反之为负
还是以刚才的三阶为例,其列的升序排列为 $123$。以 $aei$ 为例,$a$ 在第一列,$e$ 在第二列,$i$ 在第三列,因此其列顺序为 $123$,与升序一致。因此 permutation 次数为 $0$,因此 $aei$ 是 $+aei$。其他 term 可以参考下面表格:
^term^column order^permutation tlmes(flips)^type^sign(result)^
|aei|1,2,3|0|even|+|
|afh|1,3,2|1|odd|-|
|bfg|2,3,1|2|even|+|
|bdi|2,1,3|1|odd|-|
|cdh|3,1,2|2|even|+|
|ceg|3,2,1|1|odd|-|
所以最终结果为:
$$
Det(A)=aei+bfg+cdh-afh-bdi-ceg
$$
===Properties of a Determinant===
$Det(A)$ 可以被视作一个接收矩阵为参数,返回一个标量的函数。
==三个基本性质==
* $Det(I) = 1$
\[
\begin{vmatrix}
1 & 0\\
0&1
\end{vmatrix}=1
\]
* 矩阵 $A$ 两行互换后,$Det(A) = -Det(A)$
\[
\begin{vmatrix}
a & b\\
c&d
\end{vmatrix}=-
\begin{vmatrix}
c & d\\
a&b
\end{vmatrix}
\]
* $Det(A)$ 是矩阵的第一行的线性函数
\[
\begin{align}
\begin{vmatrix}
ka & kb\\
c&d
\end{vmatrix}&=k
\begin{vmatrix}
c & d\\
a&b
\end{vmatrix} \\
\begin{vmatrix}
a + a' & b + b'\\
c&d
\end{vmatrix}&=
\begin{vmatrix}
a & b\\
c&d
\end{vmatrix}+
\begin{vmatrix}
a' & b'\\
c&d
\end{vmatrix}
\end{align}
\]
==其他推广性质==
* $Det(A)$ 是**任意行**的线性函数(第三条的推广)
* 若矩阵两行相同,则 $Det(A) = 0$
* $k \times row-i + row-j$ 的运算不会改变 $Det(A)$ 的值
* 若矩阵中某行全为 $0$,则 $Det(A) = 0$
* 若 $Det(A) = 0$,则矩阵**不可逆**
* 对角矩阵,上三角矩阵,下三角矩阵的秩均为**对角线元素的乘积**(高斯消元法求秩)
* $Det(AB) = Det(A)Det(B)$
* $Det(A^{-1}) = \frac{1}{Det(A)}$
* $Det(A^T) = Det(A)$(这条证明了适用于行的性质也适用于列)
====The Eigenvalue Problem====
假设有矩阵 $A$ 与列向量 $x$ 的乘积 $Ax$。假设该结果可以用一个常量 $\lambda$ 与 $x$ 表示,那么我们称 $\lambda$ 为 $A$ 的 //Egenvalue//,$x$ 为 //Eigen Vector//:
\\ \\
{{ :math:linear_algebra:matrix_engineers:eigen.svg?250 |}}
===Eigenvalue 的计算方法===
* 首先,对 $Ax=\lambda x$ 的右边乘上一个单位矩阵 $I$,等式依然成立:$$Ax=Ax=\lambda Ix$$
* 将等式进行变形:\[\begin{align*} &Ax = \lambda Ix \\ &\Rightarrow (A-\lambda I)x = 0 \end{align*}\]
此时,如果 $Det(A-\lambda I)$ 不为零,则该矩阵可逆。如果对上面等式两边都乘以该逆矩阵,得到的结果为 $x=0$,也就是 //trivial solution//。我们无法通过这种解来求得 $\lambda$ 以及其对应的 $x$,因此需要:
>$$Det(A-\lambda I) = 0$$
这个等式被我们称为 //Characteristic Equation//。
==二阶矩阵的 Eigenvalue==
令二阶矩阵 $A$ 为:
\[\begin{bmatrix}
a &b \\
c&d
\end{bmatrix}
\]
根据单位矩阵的定义,$\lambda I$ 是对角线上所有元素都为 $\lambda$ 的矩阵;因此有:
$$
A- \lambda I =\begin{bmatrix}
a-\lambda &b \\
c&d-\lambda
\end{bmatrix}
$$
根据二阶矩阵秩的公式:
$$
Det(A- \lambda I) = (a-\lambda)(d-\lambda) + ad - bc = 0
$$
此时我们得到一个多项式等式。将其展开以后,可得:
$$
\lambda^2 -(a+d)\lambda + (ad - bc)= 0
$$
可以注意到几点:
* ''a + d'' 是矩阵 $A$ 对角元素之和,也就是 $T_r(A)$
* ''ad-bc'' 是矩阵 $A$ 的秩
因此二阶矩阵的 //Eigenvalue// 的通用计算公式可以写成:
>$$\lambda^2 -T_r(A)\lambda + Det(A) = 0$$
可见的是,该等式会有三种类型的根,也就是有三种不同类型的 $\lambda$:
* 判别式大于 $0$,$\lambda$ 为实数
* 判别式小于 $0$,$\lambda$ 为复数
* 判别式等于 $0$,$\lambda$ 为**单一**实数。这种情况我们称 //Eigenvalue// is //Degenerate//。
==求解特征值和特征向量:实例1==
现有如下矩阵 $A$:
$$
\begin{bmatrix}
0 & 1\\
1 &0
\end{bmatrix}
$$
求其 //Eigenvalue// 和 //Eigenvector//。\\ \\
由 $Det(A + \lambda I) = 0$ 可得:
\\
\[
\begin{align*}
\begin{vmatrix}
-\lambda & 1 \\
1& -\lambda
\end{vmatrix} & = 0 \\
\Rightarrow \lambda^2-1=0
\end{align*}
\]
\\
可以得到 $\lambda = -1$ 和 $lambda = 1$ 两个特征值。每个值都有其对应的特征向量,因此需要分别讨论。令 $x$ 的分量为 $(v1, v2)$,由 $A + \lambda Ix = 0$:
* 当 $\lambda = -1$ 时:\[ \begin{align*}
\begin{pmatrix}
1&1 \\
1 &1
\end{pmatrix}\begin{pmatrix}
v_1\\v_2
\end{pmatrix}
=\begin{pmatrix}
0\\0
\end{pmatrix} \\
\Rightarrow v_1 +v_2 = 0 \\
\Rightarrow v_1=-v_2
\end{align*}\] 可以看到只要满足上述关系的 $v_1,v_2$ 都可以作为特征值 $-1$ 的特征向量。在这里我们对其进行 normalize,因此:$$x=\begin{pmatrix}
1\\-1
\end{pmatrix} $$
* $\lambda = 1$ 时也按照上面的步骤重新来一遍即可。
上述的例子是对称矩阵(//symmetric matrix//)。对称矩阵的特征值都是实数特征值;特征向量的数量为 $n$ 个,且都为线性无关的向量。
====Matrix Diagonalization====
如果矩阵 $A$ 的 //Eigenvector// 都是线性无关的,那么该矩阵可以进行**对角化**(//Diagonalization//)。
===对角化的推导===
以二阶矩阵为例。假设有二阶矩阵 $A$,其特征值和特征向量为:
\[
\begin{align*}
\lambda_1,x_1 =
\begin{pmatrix}
x_{11}\\x_{21}
\end{pmatrix} \\
\lambda_2,x_2 =
\begin{pmatrix}
x_{21}\\x_{22}
\end{pmatrix}
\end{align*}
\]
根据特征化等式,有:
$$
Ax_1=\lambda_1x_1\\
Ax_2=\lambda_1x_2
$$
将上式以矩阵的乘积表示,有:
\[
A\begin{pmatrix}
x_{11} & x_{12}\\
x_{21}&x_{22}
\end{pmatrix}
=
\begin{pmatrix}
\lambda_1x_{11} & \lambda_2x_{12}\\
\lambda_1x_{21}&\lambda_2x_{22}
\end{pmatrix}
\]
等式的右边实际上可以写成如下的矩阵乘积:
\[
\begin{pmatrix}
\lambda_1x_{11} & \lambda_2x_{12}\\
\lambda_1x_{21}&\lambda_2x_{22}
\end{pmatrix}
=\begin{pmatrix}
x_{11} & x_{12}\\
x_{21}&x_{22}
\end{pmatrix}
\begin{pmatrix}
\color{Red}\lambda_1 & \color{Red}0\\
\color{Red}0&\color{Red}\lambda_2
\end{pmatrix}
\]
\\
令特征向量组成的矩阵为 $S$,特征值组成的对角矩阵为 $\Lambda$;因此可以得到等式:
>$$
AS=S\Lambda
$$
也就是说,矩阵与其特征向量矩阵的乘积,等于其特征向量矩阵与特征值组成的对角矩阵的乘积。该结论可以推广到 $n \times n$ 矩阵,前提是**特征向量矩阵中的向量线性无关**。
==两个重要的关系==
由于 $S$ 是可逆的(向量线性无关),对 $AS=S\Lambda$ 两边同时乘以 $S^{-1}$ 可得:
>\[
A=S\Lambda S^{-1}
\]
对 $AS=S\Lambda$ 去掉右边的 $S$ 可得:
>\[
\Lambda = S^{-1}AS
\]
第一个等式被称为 $A$ 的 //Factorization//,第二个等式被称为 $A$ 的 //Diagonalization//。
==Matrix Diagonalization workflow==
根据 $\Lambda = S^{-1}AS$,要想将 $A$ 对角化,首先要求出其特征化矩阵 $S$。之前的步骤为:
* 根据 $Det(A-\lambda Ix) = 0$ 分别求出特征值与其对应的特征向量
* 将特征向量组成矩阵 $S$
* 之后只需求出 $S^{-1}$ 即可
求 $S^{-1}$ 的时候需要查看矩阵 $S$ 是否是 //Orthagonal Matrix//。如果是的话:
* 将特征向量进行单位化
* 应用 //Orthagonal Matrix// 的特性 $S{-1} = S^T$,可以简化求 $S^{-1}$ 的过程。
===Powers of a Matrix===
如果矩阵 $A$ 的特征向量是线性无关的话,那么 $A^n$ 会非常好计算。首先,由 $A=S\Lambda S^{-1}$,那么可知:
\\ \\
\[
\begin{align*}
A^2 & = (S\Lambda S^{-1})(S\Lambda S^{-1}) \\
&=S\Lambda (S^{-1}S)\Lambda S^{-1} \\
&=S\Lambda I\Lambda S^{-1} \\
&=S\Lambda^2 S^{-1}
\end{align*}
\]
根据上面的推导,非常容易就可以得到 $A^n$ 的表达式:
>$$
A^n=S\Lambda^n S^{-1}
$$