线性代数的本质
本文最后更新于:16 天前
学习自 3b1b 线性代数的本质
向量
可看做点,这里统一竖着写(列向量)。
线性变换
对空间中的每个点作变换后,轴保持平行等距,原点不变。
矩阵
表达一种一种线性变换,这里我们统一将向量竖着写,向量左乘一个矩阵即应用一个变换。
矩阵中一列的意义是:一个基向量变换后的新位置,因为是线性变换,我们只需要指定变换后的基向量,写入矩阵即可构建一个这样的变换矩阵。
对空间中一点变换时,可以直接将基向量代换掉,即可计算向量变换后的位置。
非方阵
非方阵同样代表着线性变换,但它还涉及维数的改变。
非方阵中的列同样代表着变换后的新基向量位置,但这些新的基向量可能少维或者多维。
回忆矩阵乘法中,$n\times m$ 的矩阵只能和 $m$ 维的向量相乘,它将 $m$ 维向量的每个基代换为一个新的 $n$ 维向量(系数不变),这样得到的新向量便从 $m$ 维变到了 $n$ 维。
$n\times m$ 的矩阵将 $m$ 维标准基向量变换为了 $m$ 个 $n$ 维向量,这 $m$ 个 $n$ 维向量也许会平行或重合,变换后空间的实际维度(矩阵的秩)等于这 $m$ 个向量的极大线性无关组中向量的个数。
行列式
等于相应矩阵对应的变换下,空间内任意物体缩放的比例。若行列式为负,则空间发生翻转,行列式为0,则变换将压缩至少一个维度。
我们已经知道,将矩阵看做线性变换后,其每一列都可以看做一个基向量变换后的位置。故矩阵对应行列式的值,即该矩阵各列向量拼出来的空间大小(二维的平行四边形面积,三维的平行六面体体积等)。
矩阵的秩
按此矩阵变换后,空间的维度,不降维的变换矩阵(必须是方阵)满秩。
逆矩阵
显然,只有不降维(满秩)的变换才可逆。
线性方程组
线性方程组可以看做对一个由未知量组成的向量 $x$,施加以变换矩阵 $A$ 后得到一个已知向量 $y$,即 $Ax=y$。如果这个矩阵可逆,则可以反推出所有未知量,否则要么无解(变换降维了,$y$ 在变化后的维度之外),要么有无穷多解($y$ 恰好在变换后的维度之内)。
列空间
即变换后的空间,叫列空间即矩阵每一列(变换后每个基)的张成空间。秩精确定义为列空间的维数。$y$ 在列空间内,方程才有解。
零空间
使 $Ax=0$ 成立的 $x$ 的集合,即变换后会变为零向量的向量集,对于满秩矩阵,零空间中只有零向量。
点积
点积在数值上等于两个向量对应位相乘之和,几何上等于一个向量投影到另一个向量上之后模相乘。
这两者可以得以联系,是因为可以将点积的两个向量,一个看做向量 $[a,b]^T$,另一个转置后看做线性变换 $[x, y]$。这个显然这是一个将二维降至一维的线性变换,它的含义恰恰就是将向量投影到一维空间。
更进一步,我们会发现每一种二维到一维的线性变换都与一个某个向量一一对应(转置即可)。应用此变换等价于与该向量点乘。
叉积
通常在三维空间下讨论叉积,我们都知道的是:两个向量叉积得到一个与它们都垂直的向量,模长等于两向量张成的平行四边形面积,方向取决于右手定则,叉积公式即将 $i,j,k$ 与两向量放入一个行列式。
叉积的几何意义很明朗,但问题在于为什么计算会和行列式相关。
考虑三个向量 $u,v,m$,把它们放入一个三阶行列式,结果显然为张成的平行六面体体积。
如果我们固定其中两个,任选第三个,这就相当于是一个变换函数,输入向量 $[x,y,z]^T$,得到一个标量输出:
$$
f\begin{pmatrix}
x\
y\
z\
\end{pmatrix}=
\begin{vmatrix}
x,v_1,m_1\
y,v_2,m_2\
z,v_3,m_3
\end{vmatrix}
$$
可以证明,这同样是一个三维到一维的线性变换。既然是线性变换,可以表示为矩阵 $P\times [x,y,z]^T$,其中 $P$ 为1x3的降维变换矩阵。
根据点积中提到的对偶性,这个变换等价于 $P^T\cdot [x,y,z]^T$
什么样的 $P^T$ 点乘任意一个向量,都能得到它与 $v,m$ 组成的平行六面体体积?
画图,根据点积的投影计算方式,容易发现,$P^T$ 模长为 $v,m$ 平行四边形面积,方向与它们都垂直,正是我们需要叉积结果。
那么要计算这个 $P^T$,可以用一点运算小技巧,取 $(x,y,z)$ 为单位向量,并且把它们的方向 $(i,j,k)$ 写出来,就能化标量为矢量了。
$$
P^T\cdot [i,j,k]^T=
\begin{vmatrix}
i,v_1,m_1\
j,v_2,m_2\
k,v_3,m_3
\end{vmatrix}
$$
基变换
基变换的逻辑容易理解,但方向很容易搞反,关键在于弄清向量的实际位置是否改变。
如:坐标系 $A$ 的基向量为 $[0,1],[1,0]$,坐标系 $B$ 的基向量为 $b1,b2$,根据之前的知识,我们可以将其看做变换矩阵 $[b1,b2]$,让向量乘上这个矩阵,即进行等同于 $B$ 的变换,向量的实际位置无疑改变了,变换后相对于 $B$ 的位移,即变换前相对于 $A$ 的位移。这个矩阵可以进行局部坐标-全局坐标的转换。
其他情况下,我们知道了向量在 $A$ 坐标系下的表示,希望知道这个向量在 $B$ 下的表示如何(而非变换向量本身),其实就是上述过程的逆,让向量乘上 上述矩阵逆矩阵即可
相似矩阵
相似矩阵实际上表达的是相同的变换,只不过在不同的坐标系下表示。
理解相似矩阵实际上对空间的变换是一样的,我们就能轻易得出:
- 相似矩阵具有相同的秩和行列式
- 相似矩阵具有相同的特征值,特征向量其实也是同样的向量,只不过在不同的坐标系下表示。
特征值/特征向量
按某矩阵进行变换后,会发现有些向量只是缩放,并没有离开原来的直线
这些向量便是矩阵的特征向量,其缩放比例即为对应的特征值。
相似对角化(特征分解)
指矩阵 $A$ 能够相似与一个对角矩阵 $B$,在求幂时有意义:$A^m = PB^mP^{-1}$,转化为对角矩阵的求幂。
矩阵可相似对角化的充要条件是,矩阵有 $n$ 个线性无关的特征向量。
我们知道相似矩阵实际上表达的是相同的变换,那么如果直接把 $A$ 的特征向量构成的基作为新坐标系的话——
相似矩阵的特征向量一定都在坐标轴上!也就是说相似矩阵一定是对角矩阵了。
二次型
一个每项均为二次项的多元多项式(称为二次型)可以写为 $f(x_1,x_2..x_n)=x^TAx$,对于原式中的项 $kx_ix_j$,有 $A_{i,j} = A_{j,i} = \frac{k}{2}$(对角线除外),也即 $A$ 是二次型唯一对应的实对称矩阵。
由于实对称矩阵的特征向量彼此正交,$A$ 一定可相似对角化,那么
$$
x^TAx &=& x^TQBQ^{-1}x\
&=& x^TQBQ^Tx \
&=& (Q^Tx)^TB(Q^Tx)
$$
其中 $Q$ 是 $A$ 的特征基,为正交矩阵,$B$ 为对角矩阵
也就是可以利用 $y = Q^Tx$ 这个变化,将其变成一个标准型(只含有平方项的二次型)。
几何意义上:以三维空间为例,若 $A$ 是一个对角矩阵,则这个标准型可写作 $d_1x^2+d_2y^2+d_3z^3 = 1$,它可以轻松地定义三维空间中的一个圆锥曲面;同样的,二次型也可以定义曲面,是相应标准型施加了变换 $Q^{-1}$ 的效果。
当标准型的所有系数均大于0时,这是一个椭圆;当有系数小于0时,这是一个双曲面或者别的什么奇特曲面;正交变换 $Q$ 不会改变他们的形状,描述椭圆的二次型对应的实对称矩阵A称为正定矩阵。
正定矩阵的定义通常是:对于任意非零向量 $x$,有 $x^TAx >0$。正定矩阵的特征值都大于0
一个正定矩阵判定的充分条件是:每一行(或列)的对角元素都大于这一行(或列)的其他元素之和(对角占优)。
Cholesky-factorization
正定矩阵必然可以分解为 $A = LL^T$,$L$ 是一个下三角矩阵,对角线上元素均大于0。
不难发现 $A_{uv} = \sum_{k=1}^{n} L_{uk}L_{vk}$
我们可以从左到右、从上到下地计算 $L$
$$
L_{vv}^2 =A_{vv} - \sum_{k=1}^{v-1} L_{vk} \
L_{vv}L_{uv} = A_{vv} - \sum_{k=1}^{v-1} L_{uk} L_{vk},(u\ge v)
$$
奇异值分解
特征值和特征向量是方阵的概念,非方阵则可以求出奇异值。
有非方阵 $A(m\times n)$,它可以分解为 $A = U\sum V^T$
$A^TA$ 是一个 $n\times n$ 的对称矩阵,它可以特征分解,得到的特征向量张成的基为 $V$;同理 $AA^T$ 为 $m\times m$ 的对称矩阵,特征向量张成为 $U$。$U,V$ 都为正交矩阵
$\sum$ 中主对角线元素为奇异值,其他都为0
类似特征分解,可以将 $A$ 看做旋转 - 按轴缩放 - 旋转的一个变化,区别在于这里的缩放可能改变维度。奇异值的意义类似特征值,是特定轴上的缩放比例。
用特征向量张成为正交矩阵时,可以控制顺序,使得特征值(奇异值)有序。实际应用中,排序后往往前面少数几个奇异值就占据了99%以上的比例,那么我们可以仅取前 $k$ 个奇异值(以及相应部分左右矩阵,具体见下图)来近似原矩阵 $A$,实现压缩。
协方差矩阵
这个东西在很多地方都有应用,因此也在这里提及
协方差表达了两个随机变量的线性相关性,$cov(x,y)=E((x-\overline x)(y-\overline y))$
协方差可以为正或者负,两变量线性不相关时,协方差为0(注意不相关不等于独立,它们还可以有非线性的相关性)
协方差矩阵,即对于 $m$ 个随机变量 $x_1,..x_m$,$C_{i,j} = cov(x_i, x_j)$,包含了所有随机变量的两两协方差,显然,协方差矩阵是一个实对称矩阵,它的特征向量彼此正交。
我们令 $A = X - \overline X$,于是 $C = \frac{1}{m} A^TA$。有以下推导:
$$
A^TAx = \lambda x \
(Ax)^T(Ax) = \lambda x^Tx = \lambda
$$
$Ax$ 实际上是所有点与 $x$ 作点乘,$(Ax)^T(Ax)$ 表示所有点在 $x$ 方向的投影的平方和,而它恰好就是特征向量。
结论是:协方差矩阵的最大特征值对应的特征向量即为点集分布方差最大的方向(点云朝向);最小的方向即为法向。
Jacobin矩阵
Jacobin矩阵是偏导数的矩阵,考虑一个 $n$ 元输入($\bold x = x_1,…x_n$),$m$ 元输出($\bold y = y_1,…y_m$)的函数,Jacobin矩阵包含了其中两两变量之间的偏导。
函数 $f(\bold x) \rarr \bold y$,则 Jacobin 矩阵 $J_{i,j} = \frac{\part y_j}{\part x_i}$,有 $\bold y = J \bold x$
它是两个参数空间的变换矩阵,相应的,$J$ 的行列式即为这一变化对应的参数空间缩放的比例。
因此,在各种积分问题中,如果涉及了积分域的变换,一定要乘上对应的雅可比行列式,以确保积分正确。