1. 线性变换与矩阵
为了搞清矩阵的来历,从线性变换出发是最直观的(线性变换有很多可视化的例子,见3B1B的视频)。
定义
设做线性变换的函数为 f f f ,取向量 u , v u, v u , v 和标量 λ λ λ 。f f f 是线性的,满足两个关键性质:
f ( u + v ) = f ( u ) + f ( v ) f(u+v) = f(u) + f(v) f ( u + v ) = f ( u ) + f ( v )
f ( λ u ) = λ f ( u ) f(\lambda u) = \lambda f(u) f ( λ u ) = λ f ( u )
下面以二维空间 R 2 R^2 R 2 为例,设基向量为 e 1 , e 2 e_1, e_2 e 1 , e 2 。在空间中任取一个向量 v v v ,它可以表示为基底的线性组合:
v = v 1 e 1 + v 2 e 2 v = v_1e_1 + v_2e_2 v = v 1 e 1 + v 2 e 2
上式中 v 1 , v 2 v_1, v_2 v 1 , v 2 是标量 ,即 v v v 的坐标。现在施加任意线性函数 f f f :
f ( v ) = f ( v 1 e 1 + v 2 e 2 ) = v 1 f ( e 1 ) + v 2 f ( e 2 ) f(v) = f(v_1 e_1 + v_2 e_2) = v_1 f(e_1) + v_2 f(e_2) f ( v ) = f ( v 1 e 1 + v 2 e 2 ) = v 1 f ( e 1 ) + v 2 f ( e 2 )
上式中可以见到,结果中我们已经知道了 v 1 , v 2 v_1,v_2 v 1 , v 2 ,要得知 f ( v ) f(v) f ( v ) 的话,还需要知道 f f f 作用在两个基向量上的结果 f ( e 1 ) f(e_1) f ( e 1 ) 和 f ( e 2 ) f(e_2) f ( e 2 ) ,即这个结果完全由 f f f 在基向量上的作用 f ( e 1 ) f(e_1) f ( e 1 ) 和 f ( e 2 ) f(e_2) f ( e 2 ) 所决定。
f ( e 1 ) f(e_1) f ( e 1 ) 和 f ( e 2 ) f(e_2) f ( e 2 ) 仍在 R 2 R^2 R 2 空间中,因此可以用基向量表示:
f ( e 1 ) = a e 1 + b e 2 , f ( e 2 ) = c e 1 + d e 2 f(e_1) = a e_1 + b e_2,\quad f(e_2) = c e_1 + d e_2 f ( e 1 ) = a e 1 + b e 2 , f ( e 2 ) = c e 1 + d e 2
代入 f ( v ) f(v) f ( v ) 得 v v v 的坐标经 f f f 后变为:
v = ( v 1 , v 2 ) ↦ ( a v 1 + c v 2 , b v 1 + d v 2 ) v = (v_1, v_2) \mapsto (a v_1 + c v_2,\ b v_1 + d v_2) v = ( v 1 , v 2 ) ↦ ( a v 1 + c v 2 , b v 1 + d v 2 )
注意, e 1 e_1 e 1 在 f f f 下变更为原基下的坐标 ( a , b ) (a,b) ( a , b ) , e 2 e_2 e 2 在 f f f 下变更为原基下的坐标 ( c , d ) (c,d) ( c , d ) 。我们的向量一直用列向量书写,因此 f f f 真正本质的信息(对基的作用)由这一对列向量 传达:
M = ( a c b d ) M = \begin{pmatrix} a & c \\ b & d \end{pmatrix} M = ( a b c d )
这一列对向量包含了你想知道的、f f f 作用于任何可能向量的全部信息。它也表明:在所有可能的线性变换构成的函数空间中选一个特定的 f f f ,有四个自由变量可选——即这个函数空间是四维的 (也是一个抽象向量空间)。
矩阵中保存了这样线性变换 f f f 的信息,甚至可以将矩阵乘法看成线性变换的函数:
f ( v ) = [ a c b d ] ⋅ [ v 1 v 2 ] = [ a v 1 + c v 2 b v 1 + d v 2 ]
f(v) = \begin{bmatrix} a & c \\ b & d \end{bmatrix} \cdot \begin{bmatrix} v_1 \\ v_2 \end{bmatrix} = \begin{bmatrix} a v_1 + c v_2 \\ b v_1 + d v_2 \end{bmatrix}
f ( v ) = [ a b c d ] ⋅ [ v 1 v 2 ] = [ a v 1 + c v 2 b v 1 + d v 2 ]
在这种理解之上,f f f 的矩阵通过乘法作用到 v v v 上,而不再直接通过 f f f 作用到 v v v 上。
如图,可以想象基向量从 ( 1 , 0 ) T , ( 0 , 1 ) T (1, 0)^T , (0, 1)^T ( 1 , 0 ) T , ( 0 , 1 ) T 变换为 ( a , c ) T , ( b , d ) T (a, c)^T, (b,d)^T ( a , c ) T , ( b , d ) T 的情形。
另外,借助这个视角,可以更好的理解矩阵乘法
多次矩阵乘法实际上是几个连续的线性变换复合 的结果
矩阵乘法应当从右向左 读(最右变换是第一层变换)
矩阵乘法的结合律自然成立
2. 空间与行列式
行列式(determinant)在我们的线性代数学习中,通常用来判断线性方程组有没有唯一解。但在线性变换的视角,可以赋予行列式更直观的含义:线性变换可以将 n n n 维空间中的所有内容映射到该 n n n 维空间中的其他位置,或者将该 n n n 维空间压缩到较低维空间(如直线或平面)。在每种情况下,我们都可以进行计算来计算出总体上有多少空间被压缩或扩展 ,而不管转换的其他影响如何,这个计算的结果就是行列式。
下面仍以二维空间进行演示。在二维空间中,基向量将围成一个平行四边形 ,其面积(相较于单位基向量构成图形面积的比例)反映了空间变换的影响。例如,将基向量设定为 [ 3 , 0 ] T , [ 0 , 2 ] T [3,0]^T, [0,2]^T [ 3 , 0 ] T , [ 0 , 2 ] T ,那么恰好围成一个矩形,其面积为 6,即变成单位面积的 6 倍。
因为变换是线性的(产生的网格线保持平行且等距分布),因而所有其他的面积其变化因素跟上述比例是相同的。
如果一个线性变换对应的行列式,其值为 0,说明它将基向量张成的二维平面压缩为一条线(甚至一个点),如下图所示。
此时,矩阵代表的线性变换将空间压缩到了更低的维度 (甚至这个过程中丢失了信息,因而是不可逆的)。
上述几何意义可以用于解释初等行变换对行列式 d e t det d e t 的影响:
R i ↔ R j R_i \leftrightarrow R_j R i ↔ R j ,那么 d e t ′ = − d e t det' = -det d e t ′ = − d e t ,行列式的值变号
R i → k R i R_i \rightarrow kR_i R i → k R i ,那么 d e t ′ = k ∗ d e t det' = k * det d e t ′ = k ∗ d e t ,行列式的值被 k k k 缩放
R j → R j + k R i R_j \rightarrow R_j + kR_i R j → R j + k R i ,那么 d e t ′ = d e t det'=det d e t ′ = d e t ,行列式的值不变
对于初等行变换,我们将矩阵的每一行都看成一个向量,那么这些行向量 将张开一个线性空间。在二维情形下,此矩阵的行列式的值为这些基向量张成的平行四边形的面积。
对于交换两行,实际上没有改变面积的大小,但是行列式代表的面积(体积等)是有向的,交换两向量相当于将基向量所围的平行四边形翻个面 ,因此翻转方向后需要变号。
对于将某行向量缩放 k k k ,可以将此行向量所在的边视为平行四边形的底。那么,在高不变的情形,仅仅对底边缩放,其对整个图形的面积的缩放效果是一致的。
对于将某行向量加上另一被缩放 k k k 的行向量。我们考虑向量的加法,可以知道原行向量仅仅是在另一基向量的方向上有了一个分量 ,因此这个变换在二维即一个剪切变换(shear) ,对平行四边形的面积没有产生影响(底和高都没变,可以拿单位矩阵思考,其形状发生剪切后,将从矩形变为被拉斜的平行四边形)。
另外,对于矩阵的行操作和列操作,有常用的视角(区分于矩阵作用于列向量 如 A x \text{如}Ax 如 A x ,这可以看成用 x x x 的坐标对 A A A 的各列做线性组合):
E A EA E A ,左乘矩阵 E E E 通常对原矩阵 A A A 的各个行向量做线性组合
A E AE A E ,右乘矩阵 E E E 通常对原矩阵 A A A 的各个列向量做线性组合
行列式的一些性质也可以解释(不严谨地):
det ( α A ) = α n det A \det(\alpha A)=\alpha^n\det A det ( α A ) = α n det A
因为 n n n 维空间每个方向上的基向量均被缩放 α \alpha α 的倍数
det ( A B ) = det A det B \det(AB)=\det A\det B det ( A B ) = det A det B
因为先做 B B B 再做 A A A ,体积先缩放 det B \det B det B 倍,再缩放 det A \det A det A 倍。
上述视角都围绕二维展开,试着向三维深入一下。例如,将行列式计算从二阶扩展到三阶。
这里先引入一下叉积的概念。叉积的结果仍旧是一个向量,其:
大小等于这两个向量构成的平行四边形的面积
方向符合右手定则
借助叉积,我们可以方便的将行列式的计算(以及几何理解)从二维推向三维。
给出以下的三阶矩阵:
A = [ a b c d e f g h i ] A= \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} A = a d g b e h c f i
将其按第一行展开,我们有:
det A = a ∣ e f h i ∣ − b ∣ d f g i ∣ + c ∣ d e g h ∣ \det A = a\begin{vmatrix} e & f \\ h & i \end{vmatrix} -b\begin{vmatrix} d & f \\ g & i \end{vmatrix} +c\begin{vmatrix} d & e \\ g & h \end{vmatrix} det A = a e h f i − b d g f i + c d g e h
上式从几何上,可以认为是计算一个三维平行六面体的有向体积 。下面展示如何从叉积出发,根据 det A \det A det A 的几何意义推出上述代数式。
将矩阵 A A A 视为由行向量张开的空间,那么有行向量:
r 1 = ( a , b , c ) r 2 = ( d , e , f ) r 3 = ( g , h , i ) \begin{aligned}
\mathbf{r}_1 &= (a,b,c) \\
\mathbf{r}_2 &= (d,e,f) \\
\mathbf{r}_3 &= (g,h,i)
\end{aligned} r 1 r 2 r 3 = ( a , b , c ) = ( d , e , f ) = ( g , h , i )
三个向量张成的平行六面体的有向体积即为 det A \det A det A 的值,即:
det A = V = r 1 ⋅ ( r 2 × r 3 ) \det A = V =\mathbf{r}_1\cdot(\mathbf{r}_2\times\mathbf{r}_3) det A = V = r 1 ⋅ ( r 2 × r 3 )
其中,r 2 × r 3 \mathbf{r}_2\times\mathbf{r}_3 r 2 × r 3 的大小等于它们所张开的平行四边形的面积,方向垂直于它们所张开的平面。设 n = r 2 × r 3 ∣ r 2 × r 3 ∣ \mathbf{n}=\frac{\mathbf{r}_2\times\mathbf{r}_3}{|\mathbf{r}_2\times\mathbf{r}_3|} n = ∣ r 2 × r 3 ∣ r 2 × r 3 ,那么 r 1 ⋅ n \mathbf{r}_1\cdot \mathbf{n} r 1 ⋅ n 能够得到 r 1 \mathbf{r}_1 r 1 在底面法向量方向上的投影(即有向高度),从而得到上式(称为混合积):
V = ∣ r 2 × r 3 ∣ ( r 1 ⋅ r 2 × r 3 ∣ r 2 × r 3 ∣ ) = r 1 ⋅ ( r 2 × r 3 ) V=|\mathbf{r}_2\times\mathbf{r}_3|\left(\mathbf{r}_1\cdot\frac{\mathbf{r}_2\times\mathbf{r}_3}{|\mathbf{r}_2\times\mathbf{r}_3|}\right)=\mathbf{r}_1\cdot(\mathbf{r}_2\times\mathbf{r}_3) V = ∣ r 2 × r 3 ∣ ( r 1 ⋅ ∣ r 2 × r 3 ∣ r 2 × r 3 ) = r 1 ⋅ ( r 2 × r 3 )
将叉积 r 2 × r 3 \mathbf{r}_2\times\mathbf{r}_3 r 2 × r 3 写为分量形式,即
r 2 × r 3 = ( n x , n y , n z ) \mathbf{r}_2\times\mathbf{r}_3=(n_x,n_y,n_z) r 2 × r 3 = ( n x , n y , n z )
又 r 2 × r 3 \mathbf{r}_2\times\mathbf{r}_3 r 2 × r 3 本身既是个面积向量,又是个法向量。因此,需要找到 r 2 × r 3 \mathbf{r}_2\times\mathbf{r}_3 r 2 × r 3 其面积向量在以x , y , z x,y,z x , y , z 三个法向方向上的分量,即找到 r 2 × r 3 \mathbf{r}_2\times\mathbf{r}_3 r 2 × r 3 这个面在三个坐标平面的有向投影面积 :
r 2 × r 3 = ( S y z , S x z , S x y ) \mathbf{r}_2\times\mathbf{r}_3=(S_{yz},S_{xz},S_{xy}) r 2 × r 3 = ( S y z , S x z , S x y )
而 r 1 = ( a , b , c ) \mathbf{r}_1 = (a,b,c) r 1 = ( a , b , c ) ,那么
det A = r 1 ⋅ ( r 2 × r 3 ) = a S y z + b S x z + c S x y \det A =\mathbf{r}_1\cdot(\mathbf{r}_2\times\mathbf{r}_3)=a\ S_{yz} + b \ S_{xz} + c \ S_{xy} det A = r 1 ⋅ ( r 2 × r 3 ) = a S y z + b S x z + c S x y
这样就已经得到 d e t A det\ A d e t A 的展开式了, 有向面积 S y z , S x z , S x y S_{yz},S_{xz},S_{xy} S y z , S x z , S x y 的计算即我们已经掌握的二阶行列式的计算。例如计算 S y z S_{yz} S y z ,有投影 r 2 ′ = ( e , f ) , r 3 ′ = ( h , i ) \mathbf{r}^{'}_2 = (e,f),\mathbf{r}^{'}_3 = (h,i) r 2 ′ = ( e , f ) , r 3 ′ = ( h , i ) ,所以 S y z = ∣ e f h i ∣ = e i − f h S_{yz} = \begin{vmatrix} e & f \\ h & i \end{vmatrix} = ei-fh S y z = e h f i = e i − f h 。
注意
余子式展开的正负号交替,在三维情形下跟右手系有关(更高维的情形下,本质是排列/置换的奇偶性(这可用逆序数判断)。发生取向反转时会使有向体积变号)。
在三维坐标系下有:
e x × e y = e z \mathbf{e}_x\times\mathbf{e}_y=\mathbf{e}_z e x × e y = e z
e y × e z = e x \mathbf{e}_y\times\mathbf{e}_z=\mathbf{e}_x e y × e z = e x
e z × e x = e y \mathbf{e}_z\times\mathbf{e}_x=\mathbf{e}_y e z × e x = e y
那么,e x × e z = − e y \mathbf{e}_x\times\mathbf{e}_z=-\mathbf{e}_y e x × e z = − e y ,S x z S_{xz} S x z 跟正向 z x zx z x 方向是反的,因此展开式中此项带有负号。
3. 逆矩阵、秩、列空间与零空间
前面提到矩阵是线性变换的体现,因此逆矩阵其实代表该线性变换的逆变换。
从机器学习的角度看,矩阵 A A A 往往代表一个线性变换,求解 A x = b Ax=b A x = b 就是寻找一个输入 x x x ,使变换后的结果落在目标 b b b 上。
我们依旧可以从二维情形入手,例如:
我们如何理解这个方程的解,取决于 A A A 所对应的变换
要么把整个空间挤压到更低的维度,比如一条线或一个点
要么仍然张成原来的完整二维空间
这就与行列式相关,若行列式不为零,那么说明变换后的空间维度没变(信息未损失),那么可以通过逆变换来得到解;若行列式为零,那么说明变换后的空间被压缩了(信息已损失),那么对应的逆变换就不存在,就没法求出逆矩阵。此时,b b b 要么完全不在变换后的空间内,要么很多的 x x x 在变换后都被压到 b b b (某些维度被压到零导致的)。
对逆矩阵定义如下:
A − 1 A = A A − 1 = I A^{-1}A = AA^{-1} = I A − 1 A = A A − 1 = I
如果 A − 1 A^{-1} A − 1 存在,那么从 A x = b Ax=b A x = b 出发,左乘 A − 1 A^{-1} A − 1 就得到:
x = A − 1 b x=A^{-1}b x = A − 1 b
用行列式为零去描述降维情形,显然不够具体。为此,引入了矩阵的秩去描述变换后空间的维度信息。矩阵所有可能的输出所组成的集合——无论它是一条线、一个平面还是整个三维空间——叫作这个矩阵的列空间。矩阵的列向量告诉你各个基向量落在了哪里,而这些变换后基向量的张成空间,就给出了所有可能的输出。换句话说,列空间就是矩阵各列向量的张成空间。
因此,秩的定义为列空间的维数。对于 n × n n \times n n × n 方阵,当这个秩达到最大值时,这个矩阵就称为满秩矩阵。教材定义中,常给出一个矩阵 A A A 的列秩是 A A A 的线性无关的列的极大数目。类似地,行秩是 A A A 的线性无关的行的极大数目。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵 A A A 的秩。
注意
零向量总会包含在列空间中,因为线性变换必须保持原点不动。
对于满秩变换,唯一会落到原点的向量就是零向量本身。但对于非满秩矩阵,也就是会把空间挤压到更小维度的矩阵,可能会有大量向量都落到零向量上。
如果一个三维变换把空间挤压到一个平面,那么会有一整条直线上的向量最终落到原点
如果一个三维变换把空间挤压到一条直线,那么会有一整个平面上的向量最终落到原点
这些最终落到原点的向量所组成的集合,叫作这个矩阵的零空间 ,也叫核。根据定义,零空间就是线性齐次方程组 A x = 0 Ax = 0 A x = 0 的所有解的集合。
有结论:
A 可逆 ⟺ det A ≠ 0 ⟺ A x = 0 只有零解 ⟺ r a n k ( A ) = n A\text{可逆} \iff \det A \neq 0 \iff Ax=0\text{只有零解} \iff \mathrm{rank}(A)=n A 可逆 ⟺ det A = 0 ⟺ A x = 0 只有零解 ⟺ rank ( A ) = n
4. 非方阵
我们之前讨论的矩阵皆为方阵,方阵对应的变换,其输入空间和输出空间的维度是相同的。而常见的原始数据矩阵经常是非方阵,例如
X ∈ R m × n , X : R n → R m X\in\mathbb{R}^{m\times n},X:\mathbb{R}^n \to \mathbb{R}^m X ∈ R m × n , X : R n → R m
上述矩阵 X X X 描述了“特征空间”与“样本空间”之间的映射,其中 m m m 是样本数,n n n 是特征数。如何理解此类非方阵对应的变换呢?
我们可以将第一节 中的表述,形式化如下:
The Standard Matrix Representation 标准矩阵表示
若 L L L 是线性变换 L : R n → R m L:\mathbb{R}^n \to \mathbb{R}^m L : R n → R m ,则存在标准矩阵 A ∈ R m × n A\in\mathbb{R}^{m\times n} A ∈ R m × n ,使得
L ( x ) = A x L(\mathbf{x}) = A\mathbf{x} L ( x ) = A x
对于任意 x ∈ R n \mathbf{x}\in\mathbb{R}^n x ∈ R n 成立。该矩阵的第 j j j 列由下式给出
a j = L ( e j ) , j = 1 , 2 , … , n \mathbf{a}_j = L(\mathbf{e}_j),\quad j=1,2,\dots,n a j = L ( e j ) , j = 1 , 2 , … , n
上述定理的证明是构造性 的,即通过该证明的算法可以为我们找到这样的矩阵 A A A :
取每个标准基向量的像:a j = L ( e j ) \mathbf a_j=L(\mathbf e_j) a j = L ( e j )
把这些像作为矩阵的列:A = [ a 1 a 2 ⋯ a n ] A=[\mathbf a_1\ \mathbf a_2\ \cdots\ \mathbf a_n] A = [ a 1 a 2 ⋯ a n ]
把任意输入展开为基向量的线性组合:x = x 1 e 1 + ⋯ + x n e n \mathbf x=x_1\mathbf e_1+\cdots+x_n\mathbf e_n x = x 1 e 1 + ⋯ + x n e n
用线性性展开 L L L ,再识别为矩阵乘法:L ( x ) = x 1 a 1 + ⋯ + x n a n = A x L(\mathbf x)=x_1\mathbf a_1+\cdots+x_n\mathbf a_n=A\mathbf x L ( x ) = x 1 a 1 + ⋯ + x n a n = A x
上述过程也印证了只要知道线性变换对标准基的作用,就知道它对所有输入的作用。
注意
我们在第一节以及上述定理中讨论矩阵对应的线性变换时,始终将输入空间和输出空间的基都视为标准基 ,因此矩阵中的列向量均是标准基下的标准坐标。实际上,输入空间和输出空间的这两种基是可以选定的。所以,更严谨的说法下,矩阵第 i i i 列的向量坐标,是输入空间的第 i i i 个基向量经过线性变换 T T T 后,在输出空间所选基 下的坐标。矩阵并非线性变换本身,它是线性变换在指定输入基与输出基下的表示。
延续上述理解,那么矩阵 A ∈ R m × n A\in\mathbb{R}^{m\times n} A ∈ R m × n 所表示的线性变换 L : R n → R m L:\mathbb{R}^n \to \mathbb{R}^m L : R n → R m ,其输入空间维度为 n n n ,输出空间维度为 m m m 。从列向量视角观察矩阵 A A A ,输入空间有 n n n 个基向量 e 1 , e 2 , … , e n e_1, e_2, \dots, e_n e 1 , e 2 , … , e n ,经过线性变换 a i = L ( e i ) a_i = L(e_i) a i = L ( e i ) ,得到矩阵 A A A 的 n n n 个列向量 a 1 , a 2 , … , a n a_1, a_2, \dots, a_n a 1 , a 2 , … , a n ,而每个 a i a_i a i 向量是 m m m 维的,用 m m m 个坐标进行表示。
示例
考虑一个 3 × 2 3 \times 2 3 × 2 矩阵 A = [ 2 0 − 1 1 − 1 1 ] A=\begin{bmatrix}2&0\\-1&1\\-1&1\end{bmatrix} A = 2 − 1 − 1 0 1 1
输入 ( u , v ) (u,v) ( u , v ) 被送到:
A [ u v ] = u a 1 + v a 2 = [ 2 u − u + v − u + v ] A\begin{bmatrix}u\\v\end{bmatrix}=u\mathbf a_1+v\mathbf a_2=\begin{bmatrix}2u\\-u+v\\-u+v\end{bmatrix} A [ u v ] = u a 1 + v a 2 = 2 u − u + v − u + v
输入空间为二维,整个输入空间构成一个平面,被送到三维输出空间中满足这个方程的平面上。它通常不是整个 R 3 \mathbb{R}^3 R 3 ,因为两条输入方向最多只能张成二维对象。
考虑一个 1 × 2 1 \times 2 1 × 2 矩阵 A = [ 2 − 1 ] A=\begin{bmatrix}2&-1\end{bmatrix} A = [ 2 − 1 ]
A [ x y ] = 2 x − y A\begin{bmatrix}x\\y\end{bmatrix}=2x-y A [ x y ] = 2 x − y
它的两列分别记录 e 1 \mathbf e_1 e 1 和 e 2 \mathbf e_2 e 2 在数轴上的像。所有输入点被压缩到一条数轴上,许多不同的二维点会得到同一个数。满足 2 x − y = 0 2x-y=0 2 x − y = 0 的直线就是零空间;沿这条方向移动,输出不变。
对于矩阵 A ∈ R m × n A\in\mathbb{R}^{m\times n} A ∈ R m × n ,我们知道其对应的线性变换为 L : R n → R m L:\mathbb{R}^n \to \mathbb{R}^m L : R n → R m 。可以对其列空间与零空间再展开讨论。注意零空间指的是那些经过线性变换后被压到原点的向量,所以零空间是输入空间 R n \mathbb{R}^n R n 的子集 ;列空间指的是列向量的张成空间,所以列空间是输出空间 R m \mathbb{R}^m R m 的子集。 给出 r a n k − n u l l i t y t h e o r e m rank-nullity \space theorem r ank − n u l l i t y t h eor e m 如下(矩阵 A A A 有 n n n 列):
r a n k ( A ) + n u l l i t y ( A ) = n rank(A) + nullity(A) = n r ank ( A ) + n u l l i t y ( A ) = n
5. 内积、范数、正交与投影
待续
6. 对称矩阵、二次型与正定/半正定
待续
7. 特征值与特征向量
待续
8. SVD 与伪逆
待续
参考
线性代数的本质
https://www.bilibili.com/video/BV1ys411472E/
https://mathomablog.wordpress.com/2017/02/11/who-cares-about-matrices-why-3blue1brown-presents-linear-algebra-correctly/
线性代数 — Machine Learning From Scratch
https://machine-learning-from-scratch.readthedocs.io/zh-cn/latest/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0.html
交互式行列式教程
https://intuitive-math.club/linear-algebra/determinant/
Wichita State:Linear Transformations as Matrices
https://courses.math.wichita.edu/math511/ch6/3/LinearTransformationsAsMatrices.html
The Rank Theorem
https://textbooks.math.gatech.edu/ila/rank-thm.html