Linear Algebra Cheatsheet

linear-algebra

Linear Algebra Cheatsheet

行向量与列向量相乘

行向量 a1×na_{1 \times n} 与列向量 bn×1b_{n \times 1} 相乘,结果是一个数值 cc

以矩阵与列向量相乘的角度来考虑,可以将这种相乘方式看作是维度为 1×n1 \times n 的矩阵与列向量(也是 nn 维)相乘,因此结果是矩阵各列基于列向量作为系数的线性组合

c=[a1a2an][b1b2bn]\begin{aligned} c &= \begin{bmatrix} a_{1}& a_{2}& \cdots & a_{n} \end{bmatrix} \begin{bmatrix} b_{1}\\ b_{2}\\ \vdots\\ b_{n} \end{bmatrix} \end{aligned}

c=k=1nakbkc = \sum_{k=1}^{n} a_{k}b_{k}

注意

向量 aabb 的元素数量需要相同。

列向量与行向量相乘

列向量 am×1a_{m \times 1} 与行向量 b1×pb_{1 \times p} 相乘,结果是一个矩阵 Cm×pC_{m \times p}

[234][16]=[212318424]\begin{aligned} \begin{bmatrix} 2\\ 3\\ 4 \end{bmatrix} \begin{bmatrix} 1&6 \end{bmatrix} &= \begin{bmatrix} 2 &12\\ 3 & 18\\ 4 & 24 \end{bmatrix} \end{aligned}

可以将这种相乘方式看作是维度为 m×1m \times 1 的矩阵与维度为 1×p1 \times p 的矩阵相乘。

结果矩阵的维度由这两个向量决定(列维度是基于列向量 aa,行维度是基于行向量 bb 的)

所以结果矩阵的列空间 column space 是一条线(与列向量 aa 共线);行空间 row space 也是一条线(与行向量 bb 共线)

矩阵与列向量相乘

矩阵以列形式来思考,向量作为系数,矩阵与之相乘,相当于矩阵的每一列基于该系数(向量的各元素)进行线性组合,得到的结果是一个列向量

[2112][12]=1[21]+2[53]=[03]\begin{aligned} \begin{bmatrix} 2&-1 \\ -1&2 \end{bmatrix} \begin{bmatrix} 1\\ 2 \end{bmatrix} &= 1\begin{bmatrix} 2\\1 \end{bmatrix} + 2\begin{bmatrix} 5\\3 \end{bmatrix} &= \begin{bmatrix} 0\\3 \end{bmatrix} \end{aligned}

行向量与矩阵相乘

矩阵以行形式来思考,而行向量作为系数,与矩阵相乘,相当于矩阵的每一行基于该系数(向量的各元素)进行线性组合,得到的结果是一个行向量

[12][2112]=1×[21]+2×[12]=[03]\begin{aligned} \begin{bmatrix} 1&2 \end{bmatrix} \begin{bmatrix} 2&-1 \\ -1&2 \end{bmatrix} &= 1 \times \begin{bmatrix} 2&-1 \end{bmatrix} + 2 \times \begin{bmatrix} -1&2 \end{bmatrix} &= \begin{bmatrix} 0&3 \end{bmatrix} \end{aligned}

矩阵与矩阵相乘

有多种角度来看待矩阵与矩阵相乘,具体参考 《Lesson 3 矩阵的乘法和逆

矩阵相乘法则

矩阵相乘 顺序不可变 但相乘次序(先后顺序)可变(可以通过添加括号实现)

  • 满足结合律 associative lawABC=A(BC)ABC = A(BC)
  • 满足交换律 commutative lawABBAAB \neq BA
  • 满足分配律 distributive lawAB+AC=A(B+C)AB+AC=A(B+C)
    注意

    但相乘时,因子顺序不可变,即 A(B+C)A(B+C) 只能拆分为 ABABACAC 之和,不能拆分为 BABACACA 之和)

差异矩阵与求和矩阵

当矩阵 AA[100110011]\begin{bmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 0 & -1 & 1 \end{bmatrix} 则有 Ax=bAx=b

Ax=[100110011][x1x2x3]=[x1x2x1x3x2]=b\begin{aligned} Ax & = \begin{bmatrix} 1 & 0 & 0 \\ -1 & 1 & 0 \\ 0 & -1 & 1 \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2} \\ x_{3} \end{bmatrix} & = \begin{bmatrix} x_{1} \\ x_{2} - x_{1} \\ x_{3} - x_{2} \end{bmatrix} & = b \end{aligned}

得出的向量元素是由原向量的元素相减产生的,因此称这类型的矩阵 AA差异矩阵 Difference Matrix,上述示例矩阵 AA 为一阶差矩阵 First Difference Matrix。

类似地,求和矩阵就是使得结果向量的元素是由原向量的元素相加产生的,记作 SS

当矩阵 AA[100110111]\begin{bmatrix} 1&0 &0 \\ 1&1 &0 \\ 1&1 &1\end{bmatrix} 则有 Ax=bAx=b

Ax=[100110111][x1x2x3]=[x1x1+x2x1+x2+x3]=b\begin{aligned} Ax &= \begin{bmatrix} 1&0 &0 \\ 1&1 &0 \\ 1&1 &1 \end{bmatrix} \begin{bmatrix} x_{1} \\ x_{2}\\ x_{3} \end{bmatrix} &= \begin{bmatrix} x_{1}\\ x_{1} + x_{2}\\ x_{1} + x_{2} + x_{3} \end{bmatrix} &= b \end{aligned}

初等矩阵

初等矩阵 Elimination Matrix,也称为消元矩阵 Elementary Matrix,记作 EE,由于该矩阵的作用是在使用消元法求解方程组时,左乘目标矩阵,以行向量和矩阵相乘的角度来考虑,以对目标进行基本的变换(行之间进行加减组合,以依次在每一行实现消除一个元),实现将目标矩阵变换为上三角矩阵 UU 的目的。

E×A=[100310001][121381041]=[121022041]\begin{aligned} E\times A &= \begin{bmatrix} 1&0 &0 \\ {\color{Red} -3}&{\color{Red} 1} &{\color{Red} 0} \\ 0&0 &1 \end{bmatrix} \begin{bmatrix} 1&2 &1 \\ 3&8 &1 \\ 0&4 &1 \end{bmatrix} &= \begin{bmatrix} 1&2 &1 \\ 0&2 &-2 \\ 0&4 &1 \end{bmatrix} \end{aligned}

示例的初等矩阵 EE 对目标矩阵 AA 第二行进行变换,以 第一行 x -3 + 第二行 的结果作为目标矩阵 AA 新的第二行。

置换矩阵

置换矩阵 Permutation Matrix,记为 PP,该矩阵与目标矩阵相乘,实现对矩阵两行互换的功能。

行向量与矩阵相乘的角度来考虑置换矩阵 x 目标矩阵,并从单位矩阵的作为的作用(相当于单位 1,左乘目标矩阵,矩阵不变,当然右乘目标矩阵也不变)来类比,可以「解读」置换矩阵究竟对目标矩阵的哪两行进行置换

P×A=[0110][abcd]=[cdab]\begin{aligned} P \times A &= \begin{bmatrix} 0& 1\\ 1& 0 \end{bmatrix} \begin{bmatrix} a& b\\ c& d \end{bmatrix} &= \begin{bmatrix} c&d \\ a&b \end{bmatrix} \end{aligned}

以上示例中,置换矩阵 PP 对目标矩阵 AA 进行行置换。

说明

置换矩阵 PP 可以看作是由单位矩阵 II 调换相应的行而得到的,当该置换矩阵与相应的矩阵相乘时,作用就是对调目标矩阵相应的行。

提示

对于 n×nn \times n 方阵共有 n!n! 种不同的置换矩阵(单位矩阵各行重排列得到的所有可能的情况)

类似地,可以通过右乘(以矩阵与列向量的角度来考虑)实现列置换

A×M=[abcd][0110]=[badc]\begin{aligned} A \times M &= \begin{bmatrix} a& b\\ c& d \end{bmatrix} \begin{bmatrix} 0& 1\\ 1& 0 \end{bmatrix} &= \begin{bmatrix} b&a \\ d&c \end{bmatrix} \end{aligned}
提示

所有置换矩阵都有逆矩阵(将行置换操作「还原」),置换矩阵的逆矩阵是其转置矩阵 P1=PTP^{-1}=P^{T},因此 PTP=P1P=IP^{T}P=P^{-1}P=I

增广矩阵

增广矩阵 Augmented Matrix 是在求解方程组时间系数矩阵 AA 与方程组等号右侧的结果向量 bb 结合在一起构成的矩阵,便于以矩阵的形式使用消元法求解方程组,💡 虽然软件使用消元法进行求解方程组时,实际是将系数矩阵和结果向量分开变换的。

对于方程组 {2xy=0x+2y=3\begin{aligned}\begin{cases}2x-y=0\\-x+2y=3\\\end{cases}\end{aligned}

其系数矩阵为 A=[2112]\begin{aligned}A&=\begin{bmatrix}2&-1 \\-1&2\end{bmatrix}\end{aligned},结果向量 b=[03]\begin{aligned}b&=\begin{bmatrix} 0\\3\end{bmatrix}\end{aligned}

则其增广矩阵为

[210123]\begin{aligned} \begin{bmatrix} 2&-1&0 \\ -1&2&3 \\ \end{bmatrix} \end{aligned}
提示

有时候会在增广矩阵中使用一条竖线分隔系数部分 AA 和结果部分 BB,并将矩阵命名为 (AB)(A|B)

三角矩阵

上三角矩阵

上三角矩阵 Upper Triangular Matrix,记作 UU,它是在使用消元法求解方程组过程中,通过置换和(或)基本变换得到的对角线左下方全部为零的方阵

在使用消元法(如高斯消元法)求解方程组时,当系数矩阵 AA 变换为 UU 时,就可以从最底层一行求得对应的一个未知数,并通过从下到上依次回代替换 backwards substitution 的方法解出所有的未知数。

提示

有时候为了统一(与下三角矩阵 LL 形式对应),会将上三角矩阵 UU 对角线上的主元「提出」,作为对角矩阵 DD,分解为 U=DUU=DU 形式,这样就可以使得上三角矩阵的对角线元素都为 11

U=[2103]U=\begin{bmatrix} 2&1\\ 0&3 \end{bmatrix} 分解为 DUDU 形式

U=[2103]=[2003][11201]=DU\begin{aligned} U= \begin{bmatrix} 2&1\\ 0&3 \end{bmatrix}= \begin{bmatrix} 2&0\\ 0&3 \end{bmatrix} \begin{bmatrix} 1&\frac{1}{2} \\ 0&1 \end{bmatrix}= DU \end{aligned}

下三角矩阵

下三角矩阵 Lower Triangular Matrix,记作 LL,它其实是在使用消元法求解方程组过程中产生的各个消元矩阵的逆矩阵的(逆序)乘积,可以将上三角矩阵 UU 「还原」为目标矩阵 AA 的一种矩阵,或可以理解为将矩阵分解为 A=LUA=LU 形式。

下三角矩阵是对角线上的元素都是 11,且右上方全部为零的方阵。

阶梯形式

如果矩阵中有些列与其他列线性相关(非独立),则通过消元变换得到的矩阵 UU 在对角线或上三角部分也可能存在 00,这种更一般形式被称为阶梯形式 Echelon Form,因为矩阵右上角的非零元素以一种类似阶梯的形式出现。

A=[1222246836810]E[122200240024]E[122200240000]=U\begin{aligned} A= \begin{bmatrix} 1 &2 &2 &2\\ 2 &4 &6 &8\\ 3 &6 &8 &10\\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} &2 &2 &2\\ 0 &0 &2 &4\\ 0 &0 &2 &4\\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} &2 &2 &2\\ 0 &0 &{\color{Red}2} &4\\ 0 &0 &0 &0\\ \end{bmatrix} =U \end{aligned}
提示

消元得到矩阵 UU 根据主元的位置可以将各列分为两种:

  • 主列:主元所在的列,在求解方程组 Ux=0Ux=0 回代替换过程中,这些列所对应的未知数 xix_{i} 可以求出确定值,这些未知数称为主变量
  • 自由列:主元不存在的列,在求解方程组 Ux=0Ux=0 回代替换过程中,这些列所对应的位置数 xix_{i} 可以指定为任意值(由于无法通过等式确定它们的值,即它们取任意值也不响应方程组等式关系的成立),这些未知数称为自由变量

秩 Rank 是矩阵(在求解方程组时,通过消元法将矩阵变换为 echelon form 阶梯形式)所含有的主元数量,记作 rr

秩表示方程组 Ux=0Ux=0可以基于确定的等式关系求出值的未知数的数量(并非所有的未知数都可以求出确定值,这是由于方程组中部分等式是「非独立」的)。

提示

在方程组 Am×nx=0A_{m \times n}x=0,其中未知数(或变量)的维度就是 nn,所以当秩为 rr 时,则自由变量的数量就为 nrn-r 个。

提示

矩阵 AA 的秩与其转置矩阵 ATA^{T} 的秩相同(主元数量相同)。

简化行阶梯形式

简化行阶梯形式 Reduce Row Echelon Form 是使用消元法(方程组中各等式之间作差,或等式内初一系数进行化简)进一步将阶梯形式的矩阵 UU 化简为主元为 11,主元所在列上下元素都为 00 的形式,记作 RR

U=[122200240000]E[120200240000]E[120200120000]=R\begin{aligned} U= \begin{bmatrix} {\color{Red}1} &2 &2 &2\\ 0 &0 &{\color{Red}2} &4\\ 0 &0 &0 &0\\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} &2 &0 &-2\\ 0 &0 &{\color{Red}2} &4\\ 0 &0 &0 &0\\ \end{bmatrix} \xrightarrow{E} \begin{bmatrix} {\color{Red}1} &2 &0 &-2\\ 0 &0 &{\color{Red}1} &2\\ 0 &0 &0 &0\\ \end{bmatrix} =R \end{aligned}
提示

在求解方程组 Ax=0Ax=0 的零空间时,该形式的矩阵 RR 可以更方便地在指定自由变量后,回代替换求出主变量,得到特解;或者可以直接根据矩阵 RR 上自由列和主列写出零空间矩阵 N=[FI]N=\begin{bmatrix}-F\\I\end{bmatrix}

主元

主元 Pivot 是指以矩阵形式使用消元法求解方程组时,通过矩阵变换得到的一种矩阵形式里的元素,在矩阵的一列中除了该元素以外,其下方的元素都为 00 的形式,则该元素就是主元,它主要是用于特定计算(求解主元所在列对应的未知数的值)。

消元法是为了便于回代替换,需要将矩阵变换为上三角矩阵 UU,因此直观来说各行的主元就是基于上一行主元往后「缩」一个位置,即每一行第一个非零元素就是主元,而且基于这个规则主元所在列的下方元素都是零。

可逆矩阵/非奇异矩阵

可以通过几个角度理解可逆矩阵/非奇异矩阵 Invertible/Non-Singular Matrix

  • 几何的角度:矩阵各列(向量)都「独立」independent,具体是如果 Ax=bAx=b 有唯一解,为 x=A1bx=A^{-1}b,有且只有一个 A1A^{-1} 使得等式成立
    提示

    如果矩阵是不可逆的,则矩阵 A 的各列向量并不是完全独立的,则由矩阵 AA 的各列向量只能张成其所在维度的子空间 subspace。

    提示

    类似地,对于方程组 Ax=0Ax=0 而言也是一样,如果 AA 是可逆矩阵时,则方程组只有一个唯一解,为零向量(即矩阵 AA 的零空间中只有零向量);如果 AA 为不可逆矩阵,则该方程组也是无法求得唯一解(即会有多个解)

    因为对于方程组 Ax=0Ax=0 从矩阵与列向量相乘的角度来考虑,列向量 xx 是使矩阵 AA 各列进行线性组合的系数,当矩阵是可逆的则表示矩阵的各列都是独立,为了使得线性组合得到零向量,只能 xx 本身就是 00;而如果 AA 是不可逆矩阵,则可能存在非零的系数,使得矩阵 AA 各列的线性组合为零向量

  • 消元法的角度不可逆矩阵就是矩阵通过置换和初等变换等方法,无法得到相应数量的主元。由于方程组中的部分等式并不「独立」,因此存在在消元法求解过程中会在一个消元步骤会同时消除多个元的情况。则原系数矩阵 A 是不可逆的,方程组也无法求得唯一解
  • 行列式的角度:可逆矩阵的行列式不为 00

不可逆矩阵

对于矩阵 AA,若存在列向量 xxx0x \neq 0 不为零向量(即向量中各元素不全为零),使得 Ax=0Ax=0 成立,则 AA 为不可逆/奇异矩阵 No-Inverse/Singular Matrix。

证明

方法一:

使用反证法证明:若矩阵 AA,若存在列向量 xx(且 x0x \neq 0 不为零向量)使得 Ax=0Ax=0 成立,且 AA 为可逆矩阵,则存在 A1Ax=Ix=0A^{-1}Ax=Ix=0,必得到 x=0x=0,这与条件 x0x \neq 0 矛盾。

方法二:

以矩阵各列线性组合的角度考虑 AxAx,当矩阵(至少存在两列)某些列并非「独立」(或对矩阵的空间维度无「贡献」),就存在非零的 xx(线性组合系数)使得矩阵 AA 各列进行线性组合时,利用非「独立」的列相互抵消,使得 Ax=0Ax=0 成立

例如对于矩阵 A=[1326]A=\begin{bmatrix} 1 & 3 \\ 2 & 6 \end{bmatrix} 假如存在逆矩阵,则满足 AA1=IAA^{-1}=I(或 A1A=IA^{-1}A=I)。

以矩阵与列向量相乘的角度考虑 AA1AA^{-1} 两矩阵相乘,结果矩阵各列都是由矩阵 AA 各列的线性组合得到的,而 AA 的列 [12]\begin{bmatrix} 1 \\ 2 \end{bmatrix}[36]\begin{bmatrix} 3 \\ 6 \end{bmatrix} 是同一向量,其所有的线性组合依然在同一线上,即这两个列向量的线性组合无法得到 [10]\begin{bmatrix} 1 \\ 0 \end{bmatrix}[01]\begin{bmatrix} 0 \\ 1 \end{bmatrix},因此矩阵 A=[1326]A=\begin{bmatrix} 1 & 3 \\ 2 & 6 \end{bmatrix} 是不可逆的。

逆矩阵

若矩阵 AA 是可逆矩阵/非奇异矩阵 Invertible/Non-Singular Matrix,假设其左逆矩阵为 A1A^{-1},则满足 A1A=IA^{-1}A=I

提示

如果 AA方阵,则满足 A1A=IA^{-1}A=IAA1=IAA^{-1}=I即(可逆)方阵的左逆和右逆相同

注意

L3-矩阵的乘法和逆 课堂上所介绍的算法来求解逆矩阵,只能针对方阵,因为需要将原矩阵 AA 与单位矩阵 II 构造为一个增广矩阵,需要保证它们的维度相匹配

一般的情况下,说一个矩阵有逆矩阵/可逆,都以该矩阵为方阵为前提的。

所以有一些教程会直接通过观察矩阵的维度(是否为方阵)就断定该矩阵是否为可逆矩阵,而不是根据定义(即通过考察矩阵的各列向量是否为线性独立),也有一定的道理

求解逆矩阵

算法求解

可以使用消元算法一步一步地求解

例如以下演示的是求解一个 2×22 \times 2 可逆矩阵 AA 的步骤

A=[abcd]A= \begin{bmatrix} a & b \\ c & d \end{bmatrix}

通过与相同维度的单位矩阵 II 构成增广矩阵

[abcd1001]\begin{bmatrix} \begin{array}{c:c} \begin{matrix} a & b \\ c & d \end{matrix} & \begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix} \end{array} \end{bmatrix}

再使用消元矩阵对增广矩阵左侧的部分进行变换,使其转换为单位矩阵

  • 通过 d×row1b×row2{\color{Orange}d } \times {\color{Red}row1 } - {\color{Violet}b } \times {\color{Blue}row2 } 消元变换,再除以相减的差值,可以将左侧矩阵的第一行变成单位矩阵的第一行
  • 通过 a×row2c×row1{\color{Violet}a } \times {\color{Blue}row2 } - {\color{Orange}c } \times {\color{Red}row1 } 消元变换,在除以相减的差值,可以将左侧矩阵的第二行变成单位矩阵的第二行
[abcd1001][adbcbdbdacacadbcdbca][adbc00adbcdbca][1001dadbcbadbccadbcaadbc]\begin{aligned} \begin{bmatrix} \begin{array}{c:c} \begin{matrix} {\color{Red}a } & {\color{Red}b } \\ {\color{Blue}c } & {\color{Blue}d } \end{matrix} & \begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix} \end{array} \end{bmatrix} \Rightarrow \begin{bmatrix} \begin{array}{c:c} \begin{matrix} {\color{Red}a }{\color{Orange}d } - {\color{Violet}b }{\color{Blue}c } & {\color{Red}b }{\color{Orange}d } - {\color{Violet}b }{\color{Blue}d } \\ {\color{Violet}a }{\color{Blue}c } - {\color{Red}a }{\color{Orange}c } & {\color{Violet}a }{\color{Blue}d } - {\color{Red}b }{\color{Orange}c } \end{matrix} & \begin{matrix} {\color{Orange}d } & -{\color{Violet}b } \\ -{\color{Orange}c } & {\color{Violet}a } \end{matrix} \end{array} \end{bmatrix} \\ \Rightarrow \begin{bmatrix} \begin{array}{c:c} \begin{matrix} {\color{Red}a }{\color{Orange}d } - {\color{Violet}b }{\color{Blue}c } & 0 \\ 0 & {\color{Violet}a }{\color{Blue}d } - {\color{Red}b }{\color{Orange}c } \end{matrix} & \begin{matrix} {\color{Orange}d } & -{\color{Violet}b } \\ -{\color{Orange}c } & {\color{Violet}a } \end{matrix} \end{array} \end{bmatrix} \\ \Rightarrow \begin{bmatrix} \begin{array}{c:c} \begin{matrix} 1 & 0 \\ 0 & 1 \end{matrix} & \begin{matrix} \cfrac{{\color{Orange}d }}{ad-bc} & \cfrac{-{\color{Violet}b }}{ad-bc} \\ \cfrac{-{\color{Orange}c }}{ad-bc} & \cfrac{{\color{Violet}a }}{ad-bc} \end{matrix} \end{array} \end{bmatrix} \end{aligned}

则增广矩阵右侧部分就是逆矩阵

[dadbcbadbccadbcaadbc]\begin{bmatrix} \cfrac{d}{ad-bc} & \cfrac{-b}{ad-bc} \\ \cfrac{-c}{ad-bc} & \cfrac{a}{ad-bc} \end{bmatrix}

代数表达式求解

可以使用逆矩阵的代数表达式来求解

A1=1detACTA^{-1}=\cfrac{1}{detA}C^{T}

其中 detAdetA 是矩阵 AA 的行列式,矩阵 CTC^{T} 各元素都是由矩阵 AA 相应位置的元素的代数余子式构成,并进行转置得到

相乘矩阵的逆矩阵

已知矩阵 AA 和矩阵 BB 具有逆矩阵 A1A^{-1}B1B^{-1},则相乘 ABAB 得到的结果矩阵的逆矩阵是 B1A1B^{-1}A^{-1}

由于 (AB)(B1A1)=A(BB1)A1=AIA1=AA1=I(AB)(B^{-1}A^{-1})=A(BB^{-1})A^{-1}=AIA^{-1}=AA^{-1}=I 所以 B1A1B^{-1}A^{-1}ABAB 结果矩阵的逆矩阵。另一侧 (B1A1)(AB)=I(B^{-1}A^{-1})(AB)=I 也成立。

转置矩阵的逆矩阵

对于可逆矩阵 AA,则其转置矩阵 ATA^{T} 也是可逆的,转置矩阵 ATA^{T} 的逆矩阵是原矩阵的逆矩阵的转置 (A1)T(A^{-1})^{T}

由于已知 AA1=IAA^{-1}=I,根据相乘矩阵的转置规则和单位矩阵的转置矩阵是其本身,可知 (A1)TAT=I(A^{-1})^{T}A^{T}=I,因此 (A1)T(A^{-1})^{T} 是矩阵 ATA^{T} 的逆矩阵。

💡 对于单位矩阵 II,其转置矩阵是本身,且转置矩阵的逆矩阵也是其本身。

置换矩阵的逆矩阵

置换矩阵 PP 的逆矩阵是其转置矩阵 P1=PTP^{-1}=P^{T}

正交矩阵的逆矩阵

正交矩阵的逆矩阵就是其转置矩阵 Q1=QTQ^{-1}=Q^{T}

证明

由于正交矩阵 QQ 是一个方阵,且各列向量都是线性独立的(因为它们是相互垂直/正交的),所以它是可逆矩阵

则根据可逆矩阵的作用/定义可知 Q1Q=IQ^{-1}Q=I

而正交矩阵是标准正交矩阵的子集,那么它也满足 QTQ=IQ^{T}Q=I

所以 Q1=QTQ^{-1}=Q^{T}

左右逆

  • 当矩阵 Am×nA_{m \times n} 满秩(行满秩和列满秩 r=m=nr=m=n)时,它具有左右逆 2-sided inverse 且它们是相同的 Aleft1=Aright1A_{left}^{-1}=A_{right}^{-1}
    提示

    当矩阵同时存在左右逆时,表示 r=m=nr=m=n 矩阵行满秩和列满秩,则矩阵必为方阵

  • 当矩阵 Am×nA_{m \times n} 列满秩时 r=n<mr=n<m,则矩阵存在左逆 left inverse Aleft1A_{left}^{-1}(但不存在右逆,因为行不满秩),它满足 Aleft1A=IA_{left}^{-1}A=I。左逆可以用矩阵 AA 及其转置 A1A^{-1} 所构成的表达式来表示 Aleft1=(ATA)1ATA_{left}^{-1}=(A^{T}A)^{-1}A^{T}
  • 当矩阵 Am×nA_{m \times n} 行满秩时 r=m<nr=m<n,则矩阵存在右逆 right inverse Aright1A_{right}^{-1}(但不存在左逆,因为列不满秩),它满足 AAright1=IAA_{right}^{-1}=I。右逆可以用矩阵 AA 及其转置 A1A^{-1} 所构成的表达式来表示 Aright1=AT(AAT)1A_{right}^{-1}=A^{T}(AA^{T})^{-1}

伪逆

所有矩阵都存在伪逆,其作用和逆矩阵类似,与原矩阵相乘的结果近似于单位矩阵。

求解伪逆的其中一种方法是通过 SVD 奇异值分解 A=UΣVTA=U \Sigma V^{T} 对矩阵进行拆分,只对可逆矩阵求逆,而对于不可逆的矩阵求伪逆

A+=(UΣVT)1=(VT)1Σ1U1=VΣ+UT\begin{aligned} A^{+}&=(U \Sigma V^{T})^{-1} \\ &=(V^{T})^{-1}\Sigma^{-1}U^{-1} \\ &=V\Sigma^{+}U^{T} \end{aligned}

其中 UUVTV^{T} 都是正交矩阵,它们都是可逆的,可以直接求出逆矩阵;而 Σ\Sigma 是对角矩阵,它可能是不可逆的

矩阵 Σ\Sigma 对角线上的元素是矩阵 AA 的特征值(最后可能还有 00 元素,当矩阵 r<nr<n 时,则对角线上的右下角会有 nrn-r 个零元素)

如果矩阵 Σ\Sigma 是满秩(列满秩和行满秩),则它存在逆矩阵 Σ1\Sigma^{-1};如果它不满秩,则它的伪逆 Σ+\Sigma^{+} 表达式如下(对角线上的元素取倒数)

Σ+=[1/σ10000001/σ20000001/σr000000000000]\Sigma^{+}= \begin{bmatrix} 1/\sigma_{1} & 0 & 0 & 0 & 0 & \dots & 0 \\ 0 & 1/\sigma_{2} & 0 & 0 & 0 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \vdots \\ 0 & \dots & 0 & 1/\sigma_{r} & 0 & \dots & 0 \\ 0 & \dots & 0 & 0& 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & \dots & 0 & 0 & 0 & \dots & 0 \end{bmatrix}

转置矩阵

通过对调矩阵的所有元素的行和列位置就可以得到矩阵相应的转置矩阵,即矩阵 AA 中第 ii 行、第 jj 列元素 aija_{ij} 转置矩阵 ATA^{T}jj 行、第 ii 列元素 ajia^{'}_{ji}

(AT)ij=Aji\begin{aligned} (A^{T})_{ij}=A_{ji} \end{aligned}

相加矩阵的转置

根据矩阵转置的定义(或运算方式),可知两个矩阵相加的转置,等于各自进行转置后再相加 (A+B)T=AT+BB(A+B)^{T}=A^{T}+B^{B}(也适用于多个矩阵相加减的情况)

相乘矩阵的转置

矩阵相乘 ABAB 得到的结果矩阵的转置矩阵是 BTATB^{T}A^{T}

对称矩阵

对称矩阵 Symmetric matrices 置换后矩阵不变 A=ATA=A^{T}

可以通过矩阵与其置换矩阵相乘 ATAA^{T}AAATAA^{T} 构建对称矩阵

特性

(各元素都是实数的)对称矩阵会满足以下两条特性:

  • 特征值都是实数
  • 特征向量相互垂直/正交

谱定理

对称矩阵可分解为 A=QΛQTA=Q \Lambda Q^{T}(其中 QQ 是正交矩阵,其中各个列向量由矩阵 AA 的特征向量构成;矩阵 Λ\Lambda 是对角矩阵,对角线上的元素是矩阵 AA 的特征值,其他元素都是 00

主元与特征值的符号

对称矩阵的一系列主元的(正负)符号(数量)与一系列特征值的(正负)符号(数量)一样

number(positive pivots)=number(positive λs)number(positive \ pivots)=number(positive \ \lambda^{'}s)

正定矩阵

正定矩阵 Positive definite 是指特征值 λi\lambda_{i} 都为正数对称矩阵

以下是四个判定矩阵为正定矩阵的完整条件

说明

完整条件是指矩阵满足其中任何一个条件就可以证明是正定矩阵

所以这四个判定条件是平行等价的

  • 特征值 λi\lambda_{i} 均为正数
  • 除了矩阵自身的行列式 detAdetA 为正数,沿着对角线向上的 n1n-1 个「子方阵」的行列式也都为正数
    注意

    根据矩阵的特征值的积等于行列式 detA=i=1nλidetA=\prod_{i=1}^{n} \lambda_{i} 所以正定矩阵的行列式也是正数

    但是反过来则不一定成立,即矩阵的行列式为正数并不能推断它就是正定矩阵

    例如矩阵 A=[1003]A=\begin{bmatrix} -1 & 0 \\ 0 & -3 \end{bmatrix} 的行列式是 detA=1×3=3detA=-1 \times -3=3 是正数,但是它的特征值都是负数,所以它不是正定矩阵

    如果要根据特征值的正负判断方阵 An×nA_{n \times n} 是否为正定矩阵,则除了要验证矩阵自身的行列式是否为正,还需要验证(沿着对角线向上的)n1n-1(其中 1kn1 \le k \le n)个「子方阵」的行列式是否都为正

  • 主元均为正数
  • 对于任意向量 xx(除了 x=0x=0 零向量),公式/函数 xATx>0xA^{T}x>0 均为正数
提示

正定矩阵源自于最小二乘法,在该算法/求解步骤中出现了 ATAA^{T}A,其作用是将长方形的矩阵 Am×nA_{m \times n} 构造/变成了 n×nn \times n 的方阵吗,那么这个方阵是半正定矩阵(只有当矩阵 AA 列满秩时,即矩阵 AA 各列向量都是线性独立的/可逆的,此时 ATAA^{T}A 矩阵才是正定矩阵)

另外还有一些特殊的运算可以得到正定矩阵

  • 对于正定矩阵 AA 的逆矩阵 A1A^{-1},也是正定矩阵
  • 矩阵 AABB 都是正定矩阵,则它们的和 A+BA+B 的结果矩阵也是正定矩阵

向量空间

向量空间 Vector Space 指由向量的加法数乘两种运算求出的所有可能的向量集合,即通过基向量线性组合得到的向量集合。即对于向量空间中任意两个向量 v\overrightarrow{v}w\overrightarrow{w},当 ccdd 是任意实数,都满足(线性组合)cv+dwc\overrightarrow{v}+d\overrightarrow{w} 仍在向量空间中。

根据定义向量空间是一群向量的集合,它们对线性组合封闭,即取向量空间中任意两个向量相加得到的结果仍在这个集合中,取向量空间中的任意向量进行数乘得到的结果仍在这个集合中。

提示

由于向量空间对于向量的加法和数乘运算是封闭的,而数乘的因数可以取 00,因此零向量是所有向量空间的元素

基 Base 是张成一个向量空间所需的最少向量,通过它们所有可能的线性组合构成向量空间。

对于矩阵 AA 的列空间 C(A)C(A) 的基具有以下 2 个特性:

  • 它们线性无关
  • 它们可以张成列空间

基(向量组)的数量与其所在向量空间的维度 Dimension 相同。

提示

基是相对于向量空间而言的,而不是矩阵而言的

子空间

子空间 Subspace 是指在一个向量空间中取出部分向量,这些向量构成的子集对于加法数乘也是封闭的,如只由零向量组成的矩阵子空间,其几何形式为原点。

假设向量空间存在两个子空间 SSTT,则它们的交集 STS \cap T 得到的向量集合仍构成子空间。

4 种基本子空间

对于矩阵 AA 有 4 种基本的子空间:

  • 列空间 C(A)C(A):由矩阵 AA 的列向量张成的向量空间
  • 零空间 N(A)N(A):由方程组 Ax=0Ax=0 所有可能的解 XX 构成的向量空间
  • 行空间 C(AT)C(A^{T}):由矩阵 AA 的行向量张成的向量空间(也就是由目标矩阵 AA 的转置矩阵 ATA^{T} 的列向量张成的向量空间
  • 左零空降 N(AT)N(A^{T}):由方程组 ATy=0A^{T}y=0 所有可能的解 yy 构成的向量空间
列空间 C(A)C(A)零空间 N(A)N(A)行空间 C(AT)C(A^{T})左零空间 N(AT)N(A^{T})
区别基于方程组 Ax=bAx=b 的系数矩阵 AA 的列向量(所有可能的线性组合)张成的空间基于方程组 Ax=0Ax=0 所有解 xx 构成的空间基于矩阵 AA 的行向量(所有可能的线性组合)张成的空间基于方程组 ATy=0A^{T}y=0yTA=0y^{T}A=0 所有解 yy 构成的空间
该空间的维度rr(秩)nrn-r(列自由变量的数量)rr(秩)mrm-r(行「自由变量」的数量)
所在的「父」空间(即该空间的向量的维度)Rm\mathbb{R^{m}}(即向量 bb 的维度,bb 在列空间中时,方程组 Ax=bAx=b 有解)Rn\mathbb{R^{n}}(即向量 xx 的维度,所有方程组 Ax=0Ax=0可能的解 xx 构成了零空间)Rn\mathbb{R^{n}}Rm\mathbb{R^{m}}

列空间

列空间 Column Space 是基于矩阵各列的所有可能的线性组合得到的向量集合,记作 C(A)C(A)

注意

但是矩阵各列组成的向量组并不一定构成列空间的基。因为当矩阵中「独立」(线性无关的)列向量数量少于矩阵列维度(即矩阵是一个不可逆矩阵时),则矩阵的列空间就是一个真子空间(列空间维度低于矩阵原来可以表示的最大维度空间)

矩阵列空间 C(A)C(A) 的维度 = 矩阵的秩 rank(A)rank(A)

即矩阵的主列的数量才是该矩阵的列空间 C(A)C(A) 的基的数量,因此这些主列(简化行阶梯形式的主列所对应回原矩阵 AA 的向量)构成的向量组也是其中一种基。

零空间

零空间 Null Space 是指使得方程组 Ax=0Ax=0 成立的所有 xx 构成的向量集合,记作 N(A)N(A)

提示

其中零向量是必然使等式 Ax=0Ax=0 成立,因此所有零空间都含有零向量(其实对于向量空间也成立)

矩阵零空间 N(A)N(A) 的维度 = nrn-r(其中 nn 是矩阵 Am×nA_{m \times n} 的列维度,rr 是矩阵 AA 的秩)

即矩阵阶梯形式的自由变量的数量 free value number 是矩阵零空间的维度,根据维度可以知道基所需的向量组的数量,求出相应数量的特解,就可以得到其中一种基。

行空间

行空间 Row Space 是基于矩阵各行的所有可能的线性组合得到的向量集合,记作 C(AT)C(A^{T})

提示

使用转置矩阵 ATA^{T} 是为了可以使用列向量来表示行向量

注意

矩阵的各行组成的向量组同样不一定构成行空间的基,因为矩阵的各行向量之间可能并不是线性独立的。

矩阵行空间 C(AT)C(A^{T}) 的维度 = 矩阵的秩 rank(A)rank(A)

即矩阵 ATA^{T} 中也是只有主列才构成 C(AT)C(A^{T}) 的基,其实也是矩阵 AA 中主变量所在的行才构成基,因此行空间 C(AT)C(A^{T}) 的维度也是矩阵 AA 的秩 rr

左零空间

左零空间 Left Null Space 是指使方程组 ATy=0A^{T}y=0yTA=0y^{T}A=0 成立的所有 yy 构成的向量集合,记作 N(AT)N(A^{T})

矩阵左零空间 N(AT)N(A^{T}) 的维度= mrm-r(其中 mm 是矩阵 Am×nA_{m \times n} 的行维度,rr 是矩阵 AA 的秩)

类似于矩阵 AA 的零空间和列空间的关系,列空间的维度是秩 rr(由主列/主变量的数量决定),而零空间的维度则是 nrn-r(由自由变量的数量决定);对于矩阵 AA 的左零空间和行空间,实际也是转置矩阵 ATA^{T} 的零空间和列空间的关系,由于矩阵 ATA^{T} 的列空间的维度也是秩 rr,同样类比可知 ATA^{T} 的零空间的维度是 mrm-r,即矩阵 AA 的左零空间 N(AT)N(A^{T}) 的维度是 mrm-r

线性相关性

线性相关性是针对向量组(「一堆」向量)而言的,例如对于两个向量,如果它们不在一条线上,则它们是线性无关的;而对于三个向量,如果它们不在一个平面上,则它们是线性无关的。

判定一个向量组 v1\overrightarrow{v_{1}}v2\overrightarrow{v_{2}}……vn\overrightarrow{v_{n}} 是否线性相关或线性独立,将这些向量组作为列,构成一个矩阵 AA

根据矩阵 Am×nA_{m \times n} 的零空间 N(A)N(A) 的情况判定:

  • 线性独立/线性无关 linearly independent:零空间中只有零向量 N(A)=0N(A)={0}。此时对于方程组 Ax=0Ax=0 的系数矩阵的阶梯形式必然没有自由变量,即秩 rank=nrank=n
  • 线性相关 linearly dependent:零空间中存在一些非零向量。一般是由于方程组 Ax=0Ax=0 的系数矩阵的阶梯形式中的秩 rank<nrank<n,存在自由变量。
提示

向量组的线性相关性可以考虑相应的矩阵的零空间是否有非零向量,可以从线性相关的定义来理解。向量组构成矩阵 AA 各列,AxAx 从矩阵与列向量相乘的角度思考(即矩阵各列根据向量 xx 进行线性组合),当存在非零解使得 Ax=0Ax=0 成立,即矩阵的其中一列可以被其他列的通过特点的线性组合得出,因此这些列向量组线性相关。

秩 1 矩阵

秩为 11 的矩阵 Rank 1 Matrix,即矩阵只有一个主元

提示

在视觉上,秩为 r=1r=1 的矩阵其简化阶梯形式 RR 除了第一行,其他行元素为 00

对于秩 rank=1rank=1 的矩阵,都可以「分解」为 A=uvTA=uv^T 的形式(其中 uuvv 都是列向量,所以 vTv^T 是行向量)

例如秩 r=1r=1 的矩阵 AA 可以「分解」写成列向量 ×\times 行向量的形式

A=[12][145]=[1452810]\begin{aligned} A= \begin{bmatrix} 1 \\ 2 \end{bmatrix} \begin{bmatrix} 1 & 4 & 5 \end{bmatrix}= \begin{bmatrix} 1 & 4 & 5 \\ 2 & 8 & 10 \end{bmatrix} \end{aligned}

关联矩阵

关联矩阵 Incidence Matrix 是用于描述具有方向的图

例如以下的图 graph 具有 n=4n=4 个结点 nodes 和 m=5m=5 条连线 edges

mermaid

用矩阵来表示

Am×n=[11000110101010010011]\begin{aligned} A_{m \times n}= \begin{bmatrix} -1 & 1 & 0 & 0 \\ 0 & -1 & 1 & 0 \\ -1 & 0 & 1 & 0 \\ -1 & 0 & 0 & 1 \\ 0 & 0 & -1 & 1 \\ \end{bmatrix} \end{aligned}

该矩阵的每一行相当于图的一条连线 edge,每一列相当于图的一个结点 node

例如矩阵 AA 的第一行就是表示连线 edge 1图中结点 node1 指向结点 node2,矩阵中相应的元素分别为 1-111(而与结点 node3 和结点 node4 无关,相应的元素为 00

该矩阵在结构上的特点:

  • 矩阵大部分元素都是零,每行只有 22 个非零元素(对应于图中该连线的两个结点),以上实例的矩阵中只有 2m=2×5=102m=2 \times 5=10 个非零元素(其中 mm 表示矩阵的行,对应于图中的连线 edges 数量),所以矩阵看起来很「稀疏」 sparse
  • 矩阵中线性相关的行,所对应图中的连线会组成 loop 环形回路。例如矩阵的第 1 行、第 2 行和第 3 行向量是线性相关的 row1+row2=row3row1 + row2= row3,则对应于图中连线 edge 1edge 2edge 3 构成闭合回路

正交

如果两个子空间正交 orthogonal,其含义是两个空间的向量相互垂直

提示

两个向量正交有一个很重要的结论,即它们的内积 inner product(即点乘 dot product)为零,反之亦然

xTy=0x^{T}y=0

其中 xxyy 都是列向量,要计算两者的内积,需要将其中一个转置,则 xTx^{T} 为行向量

将一个空间 Rn\mathbb{R}^n 分成两个不重叠的子空间,那么它们称为 nn 维空间内的正交补 orthogonal complements

注意

如果两个空间垂直,则它们的交集就只有零向量

对于矩阵的四个特别的子空间,其中行空间 C(AT)C(A^{T}) 与零空间 N(A)N(A) 正交,而列空间 C(A)C(A) 与左零空间 N(AT)N(A^{T}) 正交向量与正交子空间

mermaid

投影

Projection 投影在现实中是指将一个物体轮廓映射到一个平面上。

投影到直线(一维)

在直角平面坐标系中,将向量 bb 投影到由向量 aa 所指定的直线上,得到投影结果向量 pp

关于该投影过程的一些重要的式子

  • 系数 xx(在投影结果向量 p=xap=xa 中的系数)
x=aTbaTax=\frac{a^{T}b}{a^{T}a}
  • 投影结果向量 p=xap=xa
p=aaTbaTap=a\frac{a^{T}b}{a^{T}a}
  • 投影矩阵 PP
P=aaTaTaP=\frac{aa^{T}}{a^{T}a}

投影矩阵 PP 具有以下特性:

  • PT=PP^{T}=P
  • P2=PP^{2}=P

投影到平面(高维)

平面 AA 由向量 a1a_{1} 和向量 a2a_{2} 张成,向量 bb 并不在平面上,将该向量投影到平面上,投影结果向量是 pp

关于该投影过程的一些重要的式子

  • 系数 xx(在投影结果向量 p=Ax^p=A\hat{x} 中的系数):
x^=(ATA)1ATb\hat{x}=(A^{T}A)^{-1}A^{T}b
  • 投影结果向量 p=Ax^p=A\hat{x}
p=Ax^=A(ATA)1ATbp=A\hat{x}=A(A^{T}A)^{-1}A^{T}b
  • 投影矩阵 PP
P=A(ATA)1ATP=A(A^{T}A)^{-1}A^{T}

投影矩阵 PP 具有以下特性:

  • PT=PP^{T}=P(即投影矩阵是对称矩阵)
  • P2=PP^{2}=P
判定投影矩阵

也可以通过验证一个矩阵是否同时满足以上的两个特性,来判定/证明该矩阵是一个投影矩阵

也可以通过验证一个矩阵是否为对称矩阵,而且它的特征值是否为 λ=0\lambda=0λ=1\lambda=1,来判定/证明该矩阵是一个投影矩阵

投影矩阵

一般情况下,向量 bb 会有两个分量 b=p+eb=p+e 其中一个分量是投影到列空间 C(A)C(A) 的向量 pp;另一个是分量是误差向量 ee,它是向量 bb 投影到左零空间 N(AT)N(A^{T}) 的结果

  • 投影矩阵 P=A(ATA)1ATP=A(A^{T}A)^{-1}A^{T} 将向量 bb 投影到列空间 C(A)C(A)
  • 投影矩阵 IPI-P 将向量 bb 投影到左零空间 N(AT)N(A^{T})

正交矩阵

标准正交矩阵 orthonormal matrices 是指由一系列的标准正交(列)向量 qiq_{i} 所构成的矩阵 Q=[q1qn]Q=\begin{bmatrix}q_{1} \dots q_{n} \end{bmatrix}

该矩阵满足(其中 II 表示单位矩阵)

QTQ=IQ^{T}Q=I
标准正交向量

正交的向量/基 orthogonal basis 是指一系列相互垂直/正交的向量

标准正交向量则是指这些正交的向量的模长都是 11

用数学表达式来描述它们

qiTqj={0,if ij1,if i=jq_{i}^{T}q_{j}=\begin{cases} 0, & if \ i \ne j \\ 1, & if \ i = j \end{cases}

如果标准正交矩阵是方阵时,则称为正交矩阵 orthogonal matrix

正交矩阵的逆矩阵就是其转置矩阵 Q1=QTQ^{-1}=Q^{T}

证明

由于正交矩阵 QQ 是一个方阵,且各列向量都是线性独立的(因为它们是相互垂直/正交的),所以它是可逆矩阵

则根据可逆矩阵的作用/定义可知 Q1Q=IQ^{-1}Q=I

而正交矩阵是标准正交矩阵的子集,那么它也满足 QTQ=IQ^{T}Q=I

所以 Q1=QTQ^{-1}=Q^{T}

行列式

行列式是一个与矩阵相关的数字,行列式常见用途是判断矩阵是否为可逆矩阵。如果行列式为非零,表示该矩阵为可逆矩阵;相应地,如果行列式为零,则表示该矩阵是奇异的/不可逆的

注意

行列式与矩阵的可逆性相关,因此所研究的矩阵都有一个默认预设的前提,即它们都需要是方阵

矩阵 AA 的行列式写作 detAdetAA\begin{vmatrix}A\end{vmatrix}

说明

对于三角矩阵(包括上三角矩阵和下三角矩阵)和对角矩阵的行列式就是其对角线上元素的乘积

所以对于一般的矩阵的行列式也可以表述为行列式是主元 pivots 的乘积

因为一般的矩阵需要通过消元转换为上三角矩阵的形式,才可以得到它的主元,也就是说主元是相对于上三角矩阵而言的

求解方法

有多种方式求解矩阵的行列式

方法一(推荐)

通过主元求解行列式的算法:

  1. 通过消元变换将一般的矩阵 AA 转换上三角矩阵 UU
  2. 上三角矩阵的对角线上的元素(主元 pivots)乘积就是行列式的值
注意

需要留意在 AEU\begin{vmatrix}A\end{vmatrix} \xrightarrow{E} \begin{vmatrix}U\end{vmatrix} 消元转换的过程中,是否(通过置换矩阵)进行了行互换操作,根据 特性二 会影响行列式的符号

方法二

使用通用公式求解 An×nA_{n \times n} 矩阵行列式

detA=n!±a1αa2βa3γanωdetA=\sum_{n!}\pm a_{1\alpha }a_{2\beta }a_{3\gamma }\dots a_{n\omega }

其中 α\alphaβ\betaγ\gamma\dotsω\omega 互不相同,而且它们是 1,2,3,,n1, 2, 3, \dots, n 的某种排列(因为它们分别表示在从每一行取一个元素的列下标,需要保证对应的列并不重复)

这些求和的式子中,其正负值各占一半,具体哪一项是正,哪一项是负,可以直接观察如果将该项的元素的列标变成 1,2,3,,n1, 2, 3, \dots, n 的顺序,需要调换元素多少次(即将矩阵变成对角矩阵),如果是奇数次则该项为负,否则为正

提示

根据上述的求和各项前面的正负号判定规则,可以与 置换矩阵 PP 相关联

所以就矩阵的行列式的通用公式也可以表示为

detA=n!(detPα,β,γ,,ω)a1αa2βa3γanωdetA=\sum_{n!}(detP_{\alpha, \beta, \gamma, \dots, \omega}) a_{1\alpha }a_{2\beta }a_{3\gamma }\dots a_{n\omega }

方法三(较方法二更优)

代数余子式 Cofactor 可以将复杂的矩阵行列式通用表达式进行「化简」,写成由维度更小的矩形的行列式构成的形式

例如针对第 ii 行的元素,如果选取了第 jj 列的元素 aija_{ij},那么它的代数余子式 CijC_{ij} 就是指从原矩阵剔除aija_{ij} 这个元素所在的后,剩余的元素所构成的 (n1)×(n1)(n-1) \times (n-1) 矩阵的行列式

Cij=±detA(n1)×(n1)C_{ij}=\pm detA_{(n-1) \times (n-1)} 其中 A(n1)×(n1)A_{(n-1) \times (n-1)} 是原矩阵 AA 抹去第 ii 行和第 jj 列后剩余元素构成的矩阵

所以复杂的矩阵行列式的通用公式可以「简化」为

detA=n!±aijCijdetA=\sum_{n!}\pm a_{ij}C_{ij}

求和的各式子的符号的正负由 i+ji+j 的奇偶性决定,当 i+ji+j 为奇数时取负;当 i+ji+j 为偶数时取正

例如对于一个 3×33 \times 3 矩阵,对于行列式的通用表达式中的一个式子 a11(a22a33a23a32){\color{Blue}a_{11} }{\color{Green}(a_{22}a_{33}-a_{23}a_{32})} 其示意图如下

a11a22a23a32a33\begin{vmatrix} {\color{Blue} a_{11}} & {\color{Red} \otimes } & {\color{Red} \otimes } \\ {\color{Red} \otimes } & {\color{Green} a_{22}} & {\color{Green} a_{23}} \\ {\color{Red} \otimes } & {\color{Green} a_{32}} & {\color{Green} a_{33}} \end{vmatrix}

其中选取的作为公因子的元素是第一行第一列的元素 a11{\color{Blue} a_{11}}

那么代数余子式 (a22a33a23a32){\color{Green}(a_{22}a_{33}-a_{23}a_{32})} 就是上图所示的那些绿色元素构成所构成的(低一阶)2×22 \times 2 矩阵的行列式

提示

虽然从运算转换的角度而言,就是执行了提取公因式操作;但是从降低矩阵的维度复杂度而言代数余子式的十分有用,即可以将一个 nn 阶矩阵的行列式,展开为一系列 (n1)(n-1) 阶矩阵的行列式;而对于每一个 (n1)(n-1) 阶矩的行列式,则可以再进一步展开为一系列的 (n2)(n-2) 阶矩阵的行列式;依此类推可以继续展开(但是式子会越来越长)

特性

行列式具有一些特性

提示

其实通过 特性 1特性 2特性 3 (作为基础特性)可以推导出余下的 7 条特性

再次强调以下特性成立的默认预设前提是矩阵为方阵,如果不是方阵则需要具体讨论

例如矩阵 AA 是长方形矩阵,但是通过 ATAA^{T}AAATAA^{T} 构造出方阵符合以下特性,但是原本的矩阵 AA 并不一定符合以下特性

  1. 单位矩阵的行列式为 detI=1detI=1
  2. 如果交换矩阵的两行,则行列式的正负符号会改变
  3. 该特性分为两小条,主要针对矩阵的某一行的操作(数乘或相加)
    a. 如果矩阵的其中一行数乘 tt(其他行保持不变),则所得的矩阵的行列式为原矩阵的行列式的 tttatbcd=tabcd\begin{vmatrix} ta & tb \\ c & d \end{vmatrix}= t \begin{vmatrix} a & b \\ c & d \end{vmatrix}
    b. 在矩阵的其中一行进行相加操作(其他行保持不变),则所得的矩阵的行列式可以进行相应的拆分 a+ab+bcd=abcd+abcd\begin{vmatrix} a+a^{\prime} & b+b^{\prime} \\ c & d \end{vmatrix}= \begin{vmatrix} a & b \\ c & d \end{vmatrix}+ \begin{vmatrix} a^{\prime} & b^{\prime} \\ c & d \end{vmatrix}
  4. 如果矩阵有两行相等,则行列式为 00
  5. 如果将矩阵的第 jj 行减去 kk 倍的第 ii 行,其中 iji \ne j,则所得的矩阵的行列式不变
    以上操作常见于矩阵的消元变换
  6. 如果矩阵中具有一行元素全为零,则行列式为 00
  7. 三角矩阵 triangular matrix 的行列式为对角线上各元素(主元 pivot)的乘积(该特性对于上三角矩阵、下三角矩阵、对角矩阵都是适合的)
  8. 当矩阵为奇异矩阵/不可逆矩阵时,它的行列式为 00
  9. 两个矩阵相乘,所得的矩阵的行列式是原来的两个矩阵的行列式的乘积 det(AB)=(detA)(detB)det(AB)=(detA)(detB)
  10. 转置矩阵的行列式和原来矩阵的行列式一样detAT=detAdetA^{T}=detA
提示

2×22 \times 2 矩阵的行列式通用表达式

detA2×2=abcd=adcbdetA_{2 \times 2}= \begin{vmatrix} a & b \\ c & d \end{vmatrix}= ad-cb

特征向量与特征值

对于矩阵 AA 其特征向量是指那些使得 AxxAx \parallel x 成立的向量 xx,也可以表示为 Ax=λxAx=\lambda x 则系数 λ\lambda 为特征值(所以特征向量和特征值伴随出现)

说明

行列式、特征值、特征向量都是针对方阵而言的,即讨论一个矩阵的行列式、特征值、特征向量时,假定了该矩阵就是 n×nn \times n 方阵

特征向量 xx 是指一种特殊的向量,矩阵(以相乘的方式)作用于向量 xx 所得的结果向量 AxAx,与原向量 xx 平行,方向可以是相同,也可以是相反

特性

特征向量和特征值具有以下特性:

  • 当特征值为 λ=0\lambda =0 时,矩阵 AA 的零空间中的向量就是特征向量(或者说特征向量构成了零空间)
  • 当矩阵 AA 是奇异矩阵时,00 必然是该矩阵的特征值之一(由于奇异的 singular 矩阵 AA 中存在非线性独立的列向量,所以 Ax=0Ax=0 必有解)
  • 对于 n×nn \times n 矩阵,具有 nn 个特征值(可能会存在相同的值)
  • 特征值之和称为迹 trace,也正好等于矩阵对角线上元素之和,即 i=1nλi=i=1naii\sum_{i=1}^{n}\lambda_{i}=\sum_{i=1}^{n}a_{ii}
  • 特征值的积等于矩阵的行列式 i=1nλi=detA\prod_{i=1}^{n} \lambda_{i}=detA
  • 若矩阵 AA 的特征值为 λ\lambda,则矩阵 A2A^{2} 的特征值为 λ2\lambda^{2}
    证明

    因为特征值 λ\lambda 和特征向量 xx 满足 Ax=λxAx=\lambda x

    所以 A2x=A(Ax)=Aλx=λAx=λλx=λ2xA^{2}x=A(Ax)=A\lambda x=\lambda Ax=\lambda \cdot \lambda x=\lambda^{2}x

    λ2\lambda^{2} 是矩阵 A2A^{2} 的特征值(而且矩阵 AA 的特征向量 xx 也是矩阵 A2A^{2} 的特征向量)

  • 特征值与矩阵的对称性相关:
    • 若矩阵是对称矩阵 symmetric,即矩阵满足 BT=BB^{T}=B,那么它的特征值都是实数(而且特征向量相互垂直 ❓)
    • 若矩阵是反对称矩阵 anti-symmetric,即矩阵满足 BT=BB^{T}=-B,那么它的特征值是虚数(即复数中没有实数的部分)
    • 若矩阵的对称性介于完全对称和反对称之间,那么它的特征值是复数(每个特征值都是由实数和虚数构成 ❓)
  • 三角矩阵 triangular matrix 的特征值(nn 个)和矩阵对角线上的元素一样
  • 逆矩阵 A1A^{-1} 的特征值为 1λ\cfrac{1}{\lambda}(原矩阵 AA 特征值的倒数)
  • 转置矩阵 ATA^{T} 与原矩阵 AA 具有相同的特征值
  • 投影矩阵是 PP 的特征值是 λ=0\lambda=0λ=1\lambda=1
    证明

    可以由投影矩阵的特性 P2=PP^{2}=P 得到 λ2=λ\lambda^{2}=\lambda 则特征值为 1100

    提示

    矩阵 AA 的投影矩阵是 P=A(ATA)1ATP=A(A^{T}A)^{-1}A^{T}

    • 特征值为 λ=1\lambda =1 对应的特征向量 xx 是位于原矩阵 AA 的列空间中,所以投影结果向量等于 xx 自身
    • 特征值为 λ=0\lambda =0 对应的特征向量 xx 是垂直于原矩阵 AA 的列空间,所以投影结果向量等于 00
  • 正交矩阵的特征值的绝对值是 λ=1\vert \lambda \vert= 1
    证明

    根据特征值和特征向量的定义,可得 Qx=λxQx=\lambda x

    两边同时求向量的模长,可得 Qx=λx\Vert Qx \Vert=\Vert \lambda x \Vert

    如果所求的是模长的平方,则可以用矩阵来表示为 Qx2=(Qx)T(Qx)=λ2xTx=λx2\Vert Qx \Vert^{2}=(Qx)^{T}(Qx)=\lambda^{2} x^{T}x=\Vert \lambda x\Vert^{2}

    由于 QQ 是正交矩阵,所以满足 QTQ=IQ^{T}Q=I

    所以等式的左边可以化简为 Qx2=(Qx)T(Qx)=xTQTQx=xTIx=xTx\Vert Qx \Vert^{2}=(Qx)^{T}(Qx)=x^{T}Q^{T}Qx=x^{T}Ix=x^{T}x

    结合等式的右边可得 Qx2=xTx=λ2xTx=λx2\Vert Qx \Vert^{2}=x^{T}x=\lambda^{2} x^{T}x=\Vert \lambda x\Vert^{2}

    所以 λ2=1\lambda^{2}=1λ=1\vert \lambda \vert= 1

  • 当矩阵 AA 满足 AAT=ATAAA^{T}=A^{T}A 则它的特征向量是正交的(相互垂直),例如对称矩阵(它满足 A=ATA=A^{T}),反对称矩阵(它满足 AT=AA^{T}=-A),正交矩阵(它满足 QQT=IQQ^{T}=I

求解算法

根据以下算法步骤求解特征值和特征向量:

  1. 首先求出 λ\lambda 特征值

求解 det(AλI)=0det(A-\lambda I)=0 可以得到矩阵的所有特征值(对于 n×nn \times n 的矩阵,有 nn 个特征值,即以上方程会有 nn 个解,虽然可能出现解的值相同的情况,但实际上数量依然是 nn 个)

说明

det(AλI)=0det(A-\lambda I)=0 被称为 key equation 关键方程/ characteristic equation 特征方程/ eigenvalue equation 特征值方程

  1. 接着求解 xx 特征向量

将上一步骤中所求出的 nnλ\lambda 值分别代入到等式中 (AλI)x=0(A-\lambda I)x=0 则得到 nn 个关于 xx 的方程

求解每个方程 (AλI)x=0(A-\lambda I)x=0 则可以按照求解矩阵 AλIA-\lambda I 零空间的步骤进行(消元法找出矩阵的主元 ➡️ 为其中的自由变量赋值 ➡️ 求出特解/特征向量)

矩阵对角化

对于 n×nn \times n 矩阵 AA 如果具有 nn 个线性独立的特征向量,则可以通过以下公式将矩阵「变成」对角矩阵,该过程称为矩阵的对角化 diagonalization

S1AS=ΛS^{-1}AS=\Lambda
  • 特征向量矩阵 eigenvector matrix:以上公式中矩阵 SS 是由 nn 个线性独立的特征向量作为列向量所构成的
  • 特征值矩阵 eigenvalue matrix:以上公式中矩阵 Λ\Lambdann 个特征值作为对角线上的元素的方阵(其他元素为 00
注意

矩阵的对角化需要满足一个前提:矩阵 AA 具有 nn 个线性独立的特征向量

这样由 nn 个线性独立的特征向量作为列向量所构成的矩阵 SS 才是可逆矩阵,才存在矩阵 S1S^{-1},以上公式才成立

以上公式也可以写成矩阵分解的形式 A=SΛS1A=S \Lambda S^{-1}

提示

当矩阵 AA 的特征值 λi\lambda_{i} 互不相同时(即没有重复的特征值),则矩阵 AA 必有 nn 个相互线性独立的特征向量(该矩阵 AA 可以对角化 diagonalizable)

而对于矩阵存在重复特征值时,则矩阵 AA 不一定存在 nn 个线性独立的特征向量,需要计算出具体的特征向量才可以判断

矩阵对角化(分解形式)使得对理解/计算/分析对于求解方程有更好的方法

  • 对于高阶矩阵可以分解为 Ak=SΛkS1A^{k}=S \Lambda^{k} S^{-1},可以用于求解(一阶)差分方程(等比递推关系式)
    马尔可夫矩阵

    马尔可夫矩阵是满足以下两条性质的一种特殊矩阵

    • 每个元素都是非负数(大于或等于 00
    • 每列元素之和为 11

    这种矩阵与概率相关,可用于描述随时间变化的系统

    马尔可夫矩阵具有以下一些特性

    • 马尔可夫矩阵 AA 的平方 A2A^{2}(或更高次幂 AkA^{k}),其结果矩阵依然是马尔科夫矩阵
    • λ=1\lambda = 1 是马尔科夫矩阵的其中一个特征值
    • 除此之外,其他特征是都比 11λi<1\left |\lambda_{i} \right | < 1

    利用以上特性可以更快地求出这类型矩阵的特征值和特征向量,以便对系统的变化趋势进行研究

  • 对于指数矩阵可以分解为 eAt=SeΛtS1e^{At}=Se^{\Lambda t}S^{-1},可以用于求解(一阶)微分方程

复向量

复向量 complex vector 是指构成向量的元素中含有复数

复向量 z=[z1z2zn]z=\begin{bmatrix} z_{1} \\ z_{2} \\ \vdots \\ z_{n} \end{bmatrix}nn 维复数向量空间 Cn\mathbb{C}^{n} 中,而不是 Rn\mathbb{R}^{n} 实数向量空间中

模长

它的模长(平方)计算方式需要进行「修整」为共轭向量(的转置)与向量本身相乘

提示

实数向量 vv 模长与向量的平方的关系 v2=vTv\|v\|^{2}=v^{T}v(从矩阵相乘的角度考虑,其中一个向量需要转置)

z2=zTz=z12+z22++zn2\begin{aligned} \|z\|^{2}&=\overline{z}^{T}z \\ &=\|z_{1}\|^{2}+\|z_{2}\|^{2}+\dots+\|z_{n}\|^{2} \end{aligned}

可以使用更简单的符号 zHz^{H} 表示共轭向量的转置 zT\overline{z}^{T}(包含两种运算),该符号读作 Hermitian 埃尔米特

所以复向量的模长平方也可以表示为 z2=zHz\|z\|^{2}=z^{H}z

内积

复向量的内积计算公式也需要进行「修整」为共轭向量

提示

实数向量的内积 inner product/dot product 计算公式 yTxy^{T}x

yTx=y1x1+y2x2++ynxn\overline{y}^{T}x=\overline{y}_{1}x_{1}+\overline{y}_{2}x_{2}+\dots+\overline{y}_{n}x_{n}

内积也可以使用 hermitian 符号表示 yHxy^{H}x

复矩阵

复矩阵 complex matrix 是指构成矩阵的元素中含有复数。

埃尔米特矩阵

在复矩阵中,对称矩阵称为 Hermitain Matrix 埃尔米特矩阵,所满足的等式是 AT=A\overline{A}^{T}=A 也可以简写为 AH=AA^{H}=A

提示

在复矩阵中的 Hermitain Matrix 埃尔米特矩阵,与实数矩阵中的对称矩阵具有类似的特性,即它的特征值 eigenvalue 是实数,特征向量 eigenvector 相互垂直/正交

酉矩阵

在复矩阵中,标准正交矩阵称为 Unitarty Matrix 酉矩阵,所满足的等式可以简写为 QHQ=IQ^{H}Q=I

酉矩阵的各个列向量相互垂直/正交,且各列向量的模长为 11

提示

傅里叶矩阵 FnF_{n} 是一个重要的矩阵,它属于酉矩阵(正交矩阵),用于傅里叶变换中

Fn=[111111ww2wn11w2w4w2(n1)1wn1w2(n1)w(n1)2]F_{n}= \begin{bmatrix} 1 & 1 & 1 & 1 & 1 \\ 1 & w & w^{2} & \dots & w^{n-1} \\ 1 & w^{2} & w^{4} & \dots & w^{2(n-1)} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ 1 & w^{n-1} & w^{2(n-1)} & \dots & w^{(n-1)^{2}} \end{bmatrix}

其中各元素的通式是 (Fn)ij=wij(F_{n})_{ij}=w^{ij}(其中 i,j=0,,n1i,j=0, \dots, n-1,索引值从 00 开始)

以上通过将傅里叶矩阵进行分解而降低运算复杂度的算法/步骤,称为快速傅里叶变换 Fast Fourier Transform,简称为 FFT

相似矩阵

如果存在一个矩阵 MM 它具有可逆矩阵 M1M^{-1},使得 B=M1AMB=M^{-1}AM 成立,则两个方阵 AABB 相似

相似矩阵都具有相同的特征值,且线性无关/独立的特征向量的数量也一样

若尔当形

若尔当块 Jordan block 是一个矩阵 jij_{i} 它在对角线上是重复的特征值,左下方元素都是 00,右上方紧挨着对角线的元素都是 11,其余都是 00

Ji=[λi1000λi1000λi1000λi]J_{i}= \begin{bmatrix} \lambda_{i} & 1 & 0 & \dots & 0 \\ 0 & \lambda_{i} & 1 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & \dots & \lambda_{i} & 1 \\ 0 & 0 & \dots & 0 & \lambda_{i} \end{bmatrix}

若尔当理论是指每一个方阵 AA相似于一个若尔当矩阵 JJ,而这个若尔当矩阵是由若干个若尔当块 Jordan Blocks 构成的。

J=[J1000J2000Jd]J= \begin{bmatrix} J_{1} & 0 & \dots & 0 \\ 0 & J_{2} & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \dots & J_{d} \end{bmatrix}

可以对原矩阵按照若尔当块进行划分,如果两个矩阵是由不同的若尔当块构成的,那么即使它们矩阵相同的特征值和特征向量,也不能说明它们是相似矩阵

计算若尔当矩阵的思路:

  • 如果方阵 An×nA_{n \times n} 含有 nn 个线性独立的特征向量,则它是可对角化的,那么它所对应的若尔当矩阵 JJ 是特征值矩阵(对角矩阵)J=ΛJ=\Lambda
  • 如果方阵 An×nA_{n \times n}nn 个重复的特征指,则相应地会有 nn 个「缺失」的特征向量(这里指的是特征向量线性相关),则在若尔当矩阵 JJ 中将会有 ndn-d11 位于对角元素的右上方

奇异值分解

奇异值分解 singular value decomposition,简称为 SVD,是将矩阵分解的一种方式

A=UΣVTA=U \Sigma V^{T}

其中 AA 是任意矩阵,Σ\Sigma 是对角矩阵,UUVV 是正交矩阵

奇异值分解的目的作用

奇异值分解的作用是通过矩阵 AA 将向量 viv_{i} 线性变换为向量 uiu_{i},该操作将四个基本子空间联系起来了

其中这些向量是位于四个基本子空间的正交基:

  • 向量 v1,v2,vrv_{1}, v_{2}, \dots v_{r} 是行空间的标准正交基(行空间的维度是 rr),而向量 vr+1,vnv_{r+1}, \dots v_{n} 是零空间的标准正交基(零空间的维度是 nrn-r
  • 向量 u1,u2,uru_{1}, u_{2}, \dots u_{r} 是列空间的标准正交基(列空间的维度是 rr),而向量 ur+1,umu_{r+1}, \dots u_{m} 是左零空间的标准正交基(左零空间的维度是 mrm-r

奇异值分解的步骤

在求解(奇异值分解后的)各个矩阵时,通过对等式 A=UΣVTA=U \Sigma V^{T} 的变换,消去部分的矩阵,以降低求解的难度

提示

根据等式 A=UΣVTA=U \Sigma V^{T} 可得矩阵 AA 的转置为 AT=(UΣVT)T=(VT)TΣTUT=VΣTUTA^{T}=(U \Sigma V^{T})^{T}=(V^{T})^{T} \Sigma^{T} U^{T}=V \Sigma^{T} U^{T}

  • 求解矩阵 VV 时,可以在等式两边同时乘上 AT=VΣTUTA^{T}=V \Sigma^{T} U^{T}ATA=VΣTUTUΣVTA^{T}A=V \Sigma^{T} U^{T} U \Sigma V^{T}
    由于矩阵 UU 是正交矩阵,则 UT=U1U^{T}=U^{-1} 所以以上等式可以进一步化简ATA=VΣTUTUΣVT=VΣTU1UΣVT=VΣTΣVT\begin{aligned} A^{T}A&=V \Sigma^{T} U^{T} U \Sigma V^{T} \\ &=V \Sigma^{T} U^{-1} U \Sigma V^{T} \\ &=V \Sigma^{T} \Sigma V^{T} \end{aligned}
    由于矩阵 Σ2×2\Sigma^{2 \times 2} 是对角矩阵(除了对角线上的元素,其他元素都是 00),则 Σ=ΣT\Sigma=\Sigma^{T} 所以以上等式可以进一步化简ATA=VΣTΣVT=VΣ2VT=V[σ1200σ22]VT\begin{aligned} A^{T}A&=V \Sigma^{T} \Sigma V^{T} \\ &=V \Sigma^{2} V^{T} \\ &=V \begin{bmatrix} \sigma_{1}^{2} & 0 \\ 0 & \sigma_{2}^{2} \end{bmatrix} V^{T} \end{aligned}
    由于 ATAA^{T}A 是对称矩阵,所以以上等式其实就是对称矩阵的对角化 QΛQTQ \Lambda Q^{T} 形式
    所以矩阵 VV 就是对称矩阵 ATAA^{T}A 的特征向量矩阵
  • 求解矩阵 UU 时,类似地,可以通过构造矩阵 AATAA^{T} 来消去矩阵 VV,矩阵 UU 是对称矩阵 AATAA^{T} 的特征向量矩阵
  • 矩阵 Σ2\Sigma^{2} 是对称矩阵 ATAA^{T}A(或 ATAA^{T}A)的特征值矩阵。
    所以矩阵 Σ\Sigma 是对角矩阵,其对角线上的元素是对称矩阵 ATAA^{T}A(或 ATAA^{T}A)的特征值矩阵对角线上元素的正平方根
    AB 与 BA 具有相同特征值

    矩阵 Σ2\Sigma^{2} 是对称矩阵 ATAA^{T}AATAA^{T}A 的特征值矩阵,也就是说矩阵 ATAA^{T}AATAA^{T}A 具有相同的特征值。

    其中对于任意可逆矩阵 BB,矩阵 ABABBABA 都是具有相同特征值

    证明方法参考这一篇文章

    分别通过特征方程 det(ABλI)=0det(AB-\lambda I)=0det(BAλI)=0det(BA-\lambda I)=0 求出矩阵 ABABBABA 的所有特征值

    由于矩阵 BB 是可逆矩阵,所以存在 B1B^{-1},且 det(B1)0det(B^{-1}) \neq 0

    根据行列式特性9可知 det(ABλI)det(B1)=det((ABλI)B1)=det(AλB1)det(AB-\lambda I)det(B^{-1})=det((AB-\lambda I)B^{-1})=det(A-\lambda B^{-1}),同理可知 det(B1)det(BAλI)=det(B1(BAλI))=det(AλB1)det(B^{-1})det(BA-\lambda I)=det(B^{-1}(BA-\lambda I))=det(A-\lambda B^{-1})

    所以 det(ABλI)det(B1)=det(AλB1)=det(B1)det(BAλI)det(AB-\lambda I)det(B^{-1})=det(A-\lambda B^{-1})=det(B^{-1})det(BA-\lambda I)

    由于 det(B1)0det(B^{-1}) \neq 0 所以 det(ABλI)=det(BAλI)det(AB-\lambda I)=det(BA-\lambda I) 所以对于任意满足特征方程 det(ABλI)=0det(AB-\lambda I)=0 的特征值 λi\lambda_{i} 也满足特征方程 det(BAλI)=0det(BA-\lambda I)=0 即矩阵 ABABBABA 具有相同的特征值

另一种解法

也可以先通过构造矩阵 ATAA^{T}A 求出矩阵 VVΣ\Sigma

然后再通过 AV=UΣAV=U\Sigma 来求出矩阵 UU

线性变换

线性变换 linear Transformation 操作记作 TT,它需要满足以下两个公式

  • T(v+w)=T(v)+T(w)T(v+w)=T(v)+T(w)
  • T(cv)=cT(v)T(cv)=cT(v)

其中 vv 为输入值,经过线性变换 TT 的转换,得到输出值 ww(可以将 vvww 看作自变量和因变量,则 TT 就是函数)

提示

可以将线性变换理解为对于 相加(公式一)数乘(公式二) 的操作运算是「闭合/封闭」的

将以上定义中的两个公式整合为一个公式 T(cv+dw)=cT(v)+dT(w)T(cv+dw)=cT(v)+dT(w),其中 ccdd 是标量,表示 scalar 变量的缩放系数

零点

对于任何线性变换,如果它们的输入值可以为 00,则经过线性转换后其结果必然为 00

因为线性变换需要满足公式 T(c0)=cT(0)T(c0)=cT(0) 解得 T(0)=0T(0)=0

构建矩阵描述线性变换

每个线性变换都可以生成/对应到一个矩阵,相应地每一种线性变换都是对一个矩阵乘法运算 T(v)=AvT(v)=Av 的一种抽象描述

使用一个矩阵 AA 表示/描述一种线性变换 T:RnRmT: \mathbb{R}^{n} \longrightarrow \mathbb{R}^{m} 需要执行以下步骤:

  • 首先需要引入坐标系(即将向量表示为坐标值形式)
    根据以上「坐标系」的介绍,需要分别为空间 Rn\mathbb{R}^{n} 和空间 Rm\mathbb{R}^{m} 选取一组基向量,以表示空间中的任意向量
    • Rn\mathbb{R}^{n} 空间中的一组基向量为 v1vnv_{1} \dots v_{n}
    • Rm\mathbb{R}^{m} 空间中的一组基向量为 w1wmw_{1} \dots w_{m}

    则这两个空间中的任意向量的坐标值形式为
    • Rn\mathbb{R}^{n} 空间中的任意向量 v=c1v1++cnvnv=[c1cn]v=c_{1}v_{1}+\dots+c_{n}v_{n} \Leftrightarrow v=\begin{bmatrix} c_{1} \\ \vdots \\ c_{n} \end{bmatrix}
    • Rm\mathbb{R}^{m} 空间中的任意向量 w=d1w1++dmwmw=[d1dm]w=d_{1}w_{1}+\dots+d_{m}w_{m} \Leftrightarrow w=\begin{bmatrix} d_{1} \\ \vdots \\ d_{m} \end{bmatrix}
  • 构建出表示线性变换的矩阵
    由于线性变换的作用是将原向量 vv 映射到 Rm\mathbb{R}^{m} 空间中,那么所得的结果向量 T(v)T(v) 可以使用 Rm\mathbb{R}^{m} 空间中的一组基向量 w1wmw_{1} \dots w_{m} 来表示,例如对于第一个基向量 v1v_{1} 进行线性变换,可以将结果向量表示为 T(v1)=a11w1+a21w2++a1mwmT(v_{1})=a_{11}w_{1}+a_{21}w_{2}+ \dots + a_{1m}w_{m}
    根据前面「补充知识」里的分析,为了描述一个线性变换,需要确定一组基向量,并知道它们相应的变换结果,所以还需要计算 Rn\mathbb{R}^{n} 空间中的一组基向量为 v1vnv_{1} \dots v_{n} 的线性变换结果(用 Rm\mathbb{R}^{m} 空间中的一组基向量表示){T(v1)=a11w1+a21w2++am1wmT(v2)=a12w1+a22w2++am2wmT(vi)=a1iw1+a2iw2++amiwmT(vn)=a1nw1+a2nw2++amnwm\begin{aligned} \left\{\begin{matrix} T(v_{1})={\color{Blue}a_{11} }w_{1}+{\color{Blue}a_{21} }w_{2}+ \dots + {\color{Blue}a_{m1} }w_{m} \\ T(v_{2})={\color{Green}a_{12} }w_{1}+{\color{Green}a_{22} }w_{2}+ \dots + {\color{Green}a_{m2} }w_{m} \\ \vdots \\ T(v_{i})={\color{Red}a_{1i} }w_{1}+{\color{Red}a_{2i} }w_{2}+ \dots + {\color{Red}a_{mi} }w_{m} \\ \vdots \\ T(v_{n})=a_{1n}w_{1}+a_{2n}w_{2}+ \dots + a_{mn}w_{m} \\ \end{matrix}\right. \end{aligned}
    类比向量「坐标化」的方法,提取各个基向量的系数构成了矩阵 AA 中各个元素的值,其规则是
    • 第一个基向量 v1v_{1} 线性变换所得的结果表达式中的系数作为矩阵 AA第一列[a11a21am1]\begin{bmatrix} {\color{Blue}a_{11} } \\ {\color{Blue}a_{21} } \\ {\color{Blue}\vdots } \\ {\color{Blue}a_{m1} } \end{bmatrix}
    • 第二个基向量 v1v_{1} 线性变换所得的结果表达式中的系数作为矩阵 AA第一列 [a12a22am2] \begin{bmatrix} {\color{Green}a_{12} } \\ {\color{Green}a_{22} } \\ {\color{Green}\vdots } \\ {\color{Green}a_{m2} } \end{bmatrix}
    • 依此类推
    A=[a11a12a1ia1na21a22a2ia2nam1am2amiamn]A= \begin{bmatrix} {\color{Blue}a_{11} } & {\color{Green}a_{12} } & \dots & {\color{Red}a_{1i} } & \dots & a_{1n} \\ {\color{Blue}a_{21} } & {\color{Green}a_{22} } & \dots & {\color{Red}a_{2i} } & \dots & a_{2n} \\ {\color{Blue}\vdots } & {\color{Green}\vdots } & \vdots & {\color{Red}\vdots } & \vdots & \vdots \\ {\color{Blue}a_{m1} } & {\color{Green}a_{m2} } & \dots & {\color{Red}a_{mi} } & \dots & a_{mn} \end{bmatrix}
提示

如果所选取的一组基向量正好是该矩阵的特征向量,则线性变换所对应的矩阵是对角矩阵 Λ\Lambda,其对角线上的元素就是特征值

提示

如果线性变换是存在「可逆操作」的,则表示该线性变换的矩阵就是可逆的(具有逆矩阵

提示

两个线性变换的乘积,可以对应于两个矩阵的乘积

基变换

可以通过公式 x=Wcx=Wc 对向量 xx 进行基变换,其中矩阵 WW 是由一组新的基向量构成(作为矩阵的列向量),列向量 cc 为这一组新的基向量的线性组合的系数构成

基变换与线性变换

当基向量为 v1,v2,,v8v_{1}, v_{2}, \dots, v_{8} 时,线性变换 TT 对应的矩阵为 AA;而选择基向量为 w1,w2,,w8w_{1}, w_{2}, \dots, w_{8} 时,则同样的线性变换 TT 所对应的矩阵为 BB,那么这两个矩阵的关系时相似矩阵,即存在一个可逆矩阵 MM 使得等式成立 B=MAM1B=MAM^{-1},其实 MM实现基变换矩阵(即新的一组基向量作为列向量构成的矩阵)

如果使用线性变换所对应的矩阵的特征向量作为该空间的一组基向量,则该线性变换所对应的矩阵就是一个对角矩阵,该矩阵(对角线上的)元素是特征值 A=ΛA=\Lambda 那么这一组基向量可以称得上是一组 good base 「好」的基向量,因为进行基变换时(x=Acx=Ac 所乘的矩阵是一个对角矩阵)易于计算。


Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes