线性代数

向量

线性代数的本质:缩放,相加。

张成(span):向量的线性组合所能覆盖的空间

对于单个向量,可以将其想象为一个从原点出发的箭头。对于一组向量,可以将它们想象成空间中的点。这样有利于理解线性代数中的很多概念。

线性相关:一组向量中,有一个或多个向量可以用组里的其他向量表示,那么这个“多余”向量就与其他向量线性相关。

参考:Linear combinations, span, and basis vectors | 3Blue1Brown

矩阵与线性变换

线性变换的特点:

  • 线段在变换之后依然是线段
  • 原点位置不变

线性变换是“保持网格线平行且等距分布的变换”。

可以将线性变换理解为移动输入向量而得到输出向量的函数。由于线性变换对整个输入空间的所有向量的变换是等价的,所以可以对线性变换输入单位向量 \(\begin{bmatrix} i \\ j \end{bmatrix}\),并用得到的输出向量 \(\begin{bmatrix} \hat i \\ \hat j \end{bmatrix}\) 代表该线性变换。

例如,对于输入向量 \(v = \begin{bmatrix} -1 \\ 2 \end{bmatrix}\),可以写作 \(v = \begin{bmatrix} -1i \\ 2j \end{bmatrix}\)\(i\)\(j\) 分别是横纵坐标轴的单位向量)。当应用一个线性变换 \(A\) 时,得到 \(\hat v = \begin{bmatrix} -1Ai \\ 2Aj \end{bmatrix} = \begin{bmatrix} -1\hat i \\ 2\hat j \end{bmatrix}\)。可以想象线性变换相当于对整个坐标系进行了变换。因此,只需记录 \(e = \begin{bmatrix} i \\ j \end{bmatrix}\)\(\hat e = \begin{bmatrix} \hat i \\ \hat j \end{bmatrix}\) 的转变,即可表示对应的线性变换。

更具体地,假设我们有线性变换 \(i \to \begin{bmatrix}{\color{green} 1} \\ {\color{green}-2 }\end{bmatrix},\ j \to \begin{bmatrix}{\color{red} 3} \\ {\color{red}0} \end{bmatrix}\),那么对于输入向量 \(v = x + y\),有 \(\begin{bmatrix} x \\ y \end{bmatrix} \to x \begin{bmatrix} {\color{green}1} \\ {\color{green}-2} \end{bmatrix} + y \begin{bmatrix} {\color{red}3} \\ {\color{red}0} \end{bmatrix} = \begin{bmatrix} {\color{green}1}x + {\color{red}3}y \\ {\color{green}-2}x + {\color{red}0}y \end{bmatrix}\)。这样就得到了表示这个线性变换的矩阵 \(\begin{bmatrix} {\color{green}1} & {\color{red}3} \\ {\color{green}-2} & {\color{red}0} \end{bmatrix}\)。同时可以观察到,矩阵实际上表示了转换后 \(i\)\(j\) 向量的位置。

矩阵可以看作对向量进行线性变换的函数:\(A = f(\cdot)\)\(Ax = f(x)\),而向量可以看作空间基向量的线性组合,因此矩阵相当于对空间进行线性变换。

参考:

行列式

矩阵的线性变换会使空间中的图形面积发生变化。为了表示面积变化的程度,我们引入了行列式。

\[\det(A) = \det\left(\begin{bmatrix} 3 & 2 \\ 0 & 2 \end{bmatrix}\right) = \begin{vmatrix} 3 & 2 \\ 0 & 2 \end{vmatrix} = 6 \]

如果行列式的值为 0,则代表线性变换将空间压缩到了更低维度。

参考:The determinant | 3Blue1Brown

线性方程组

\[\begin{aligned} 2x + 5y + 3z &= -3\\ 4x + 0y + 8z &= 0 \\ 1x + 3y + 0z &= 2 \end{aligned} \to \begin{bmatrix} 2 & 5 & 3 \\ 4 & 0 & 8 \\ 1 & 3 & 0 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} -3 \\ 0 \\ 2 \end{bmatrix} \]

写作 \(A \mathrm{\vec x} = \mathrm{\vec v}\)。几何解释:寻找一个向量 \(\mathrm{\vec x}\),其经过线性变换 \(A\) 后得到向量 \(\mathrm{\vec v}\)

为了解出 \(\mathrm{\vec x}\),需要考虑与 \(A\) 相关的变换是否将整个空间压缩到更低的维度。也就是说,考虑 \(\det(A) \neq 0\)\(\det(A) = 0\) 两种情况。

  1. \(\det(A) \neq 0\),我们只需对 \(\mathrm{\vec v}\) 进行 \(A\) 的逆变换(\(A^{-1}\))即可得到 \(\mathrm{\vec x}\)

  2. \(\det(A) = 0\),意味着线性变换 \(A\) 将空间降维,此时没有逆变换 \(A^{-1}\),因为无法将低维空间解压为高维空间。

    对于降维变换,我们将变换的输出维度称作“秩”(Rank)。例如,如果输出是二维空间,那么线性变换 \(A\) 的秩就是 2。如果输出是一维空间,那么 \(A\) 的秩就是 1。

    更为严格地说,对于线性变换 \(A\) 的所有可能输出组成的集合,称为 \(A\) 的“列空间”。我们将列空间的维数称作秩。

    解释:\(A\) 的列向量表示了转换后空间的基向量的位置。而基向量的张成空间给出了所有可能的输出。

    只有当方程组的结果 \(\mathrm{\vec v}\) 属于列空间时,方程组才有解。

    另外,降维变换会导致一些向量被映射到原点。比如说,如果降一维,那么就有一条直线上的所有向量被映射到原点。如果降两维,那么就有一个平面上的所有向量被映射到原点。我们将这些被映射到原点的向量的集合称作矩阵 \(A\) 的零空间(Null Space)或核(Kernel)。

    对我们的线性方程组而言,当 \(\mathrm{\vec v}\) 恰好是零向量时,\(A \mathrm{\vec x} = \begin{bmatrix} 0 \\ 0 \end{bmatrix}\) 的所有可能解就是零空间。

参考:Inverse matrices, column space and null space | 3Blue1Brown

补充

对于方阵,可以理解为输入和输出维度相同的线性变换。对于非方阵,则可以理解为输入和输出维度不同(增维和降维)的线性变换。

比如说,对于 \(3 \times 2\) 的矩阵 \(\begin{bmatrix} 2 & 0 \\ -1 & 1 \\ -2 & 1 \end{bmatrix}\),输入二维向量,输出三维向量(\(i \to \begin{bmatrix} 2 \\ -1 \\ -2 \end{bmatrix},\ j \to \begin{bmatrix} 0 \\ 1 \\ 1 \end{bmatrix}\))。由于矩阵的列空间维数是 2,因此所有可能输出是三维空间中一个过原点的平面。

参考:Nonsquare matrices as transformations between dimensions | 3Blue1Brown

向量乘法

向量点乘

向量点乘 \(\vec a \cdot \vec b\) 实际上就是对 \(\vec b\) 应用 \(\vec a\) 表示的多维降一维的线性变换。

\[\vec a = \begin{bmatrix} 1 \\ 2 \end{bmatrix},\ \vec b = \begin{bmatrix} 3 \\ 4 \end{bmatrix} \]

\[\vec a \cdot \vec b = a^T b = \begin{bmatrix} 1 & 2 \end{bmatrix} \begin{bmatrix} 3 \\ 4 \end{bmatrix} \]

可以将 \(\vec a\) 称为其对应的线性变换的“对偶向量”

参考:Dot products and duality | 3Blue1Brown

向量叉乘

向量叉乘相当于求两个向量围成的面积(带方向)

\[|\vec a \times \vec b| = \det\left(\begin{bmatrix} 1 & 3 \\ 2 & 4 \end{bmatrix} \right) \]

\[\left|\begin{bmatrix} v_1 \\ v_2 \\ v_3 \end{bmatrix} \times \begin{bmatrix} w_1 \\ w_2 \\ w_3 \end{bmatrix}\right| = \det\left( \begin{bmatrix} i & v_1 & w_1 \\ j & v_2 & w_2 \\ k & v_3 & w_3 \end{bmatrix} \right) \]

向量叉乘一般在三维空间下进行

鉴于向量叉乘的结果向量的长度是一个标量,可以将其看作是某个点乘运算的结果。

\[\left|\begin{bmatrix} p_1 \\ p_2 \\ p_3 \end{bmatrix} \cdot \begin{bmatrix} i \\ j \\ k \end{bmatrix}\right| = \det\left( \begin{bmatrix} i & v_1 & w_1 \\ j & v_2 & w_2 \\ k & v_3 & w_3 \end{bmatrix} \right) \]

\[p_1 \cdot i + p_2 \cdot j + p_3 \cdot k = \begin{aligned} & i(v_2 \cdot w_3 - v_3 \cdot w_2) + \\ & j(v_3 \cdot w_1 - v_1 \cdot w_3) + \\ & k(v_1 \cdot w_2 - v_2 \cdot w_1)\end{aligned} \]

所以 \(p\) 的作用是将 \(\begin{bmatrix} i \\ j \\ k \end{bmatrix}\) 投影到和 \(v, w\) 围成的平行四边形垂直的方向,并乘以平行四边形的面积。由于点乘的对偶性,又等于将 \(\begin{bmatrix} i \\ j \\ k \end{bmatrix}\) 和一个垂直于 \(v, w\) 围成的平行四边形,且长度等于平行四边形面积的向量作点乘。

Highlight: 9:36

参考:

克莱默法则

克莱默法则用于快速求解线性方程组。

对线性方程组 \(Ax=b\),当系数行列式 \(D \neq 0\) 时,有 \(x_1=\frac{D_1}{D},\ x_2=\frac{D_2}{D},\ \ldots,\ x_n=\frac{D_n}{D}\)

\[\begin{cases} a_{11}x_1+a_{12}x_2+a_{13}x_3=b_1\\ a_{21}x_1+a_{22}x_2+a_{23}x_3=b_2\\ a_{31}x_1+a_{32}x_2+a_{33}x_3=b_3 \end{cases} \]

\[D_1=\begin{vmatrix} b_1 & a_{12} & a_{13}\\ b_2 & a_{22} & a_{23}\\ b_3 & a_{32} & a_{33} \end{vmatrix} \]

图形理解

已知可以通过行列式求向量围成的面积/体积。如:向量 \(a, b, c\) 围成的体积为 \(\det\left(\begin{bmatrix} a_1 & b_1 & c_1 \\ a_2 & b_2 & c_2 \\ a_3 & b_3 & c_3 \end{bmatrix}\right)\)

如果将线性方程组 \(Ax = b\) 看作线性变换,那么以空间中三个不同平面为底,向量 \(b\) 围成的三个不同体积分别为 \(\text{Aera}_1 = \det\left(\begin{bmatrix} b_1 & a_{12} & a_{13} \\ b_2 & a_{22} & a_{23}\\ b_3 & a_{32} & a_{33} \end{bmatrix}\right), \text{Aera}_2 = \det\left(\begin{bmatrix} a_{11} & b_1 & a_{13} \\ a_{21} & b_2 & a_{23}\\ a_{31} & b_3 & a_{33} \end{bmatrix}\right), \text{Aera}_3 = \det\left(\begin{bmatrix} a_{11} & a_{12} & b_1 \\ a_{21} & a_{22} & b_2 \\ a_{31} & a_{32} & b_3 \end{bmatrix}\right)\)。又因为线性变换产生的体积变化为 \(\det(A)\),故可得 \(x_i = \frac{\text{Aera}_i}{\det{A}}\)

参考:Cramer's rule, explained geometrically | 3Blue1Brown

矩阵的转置

矩阵转置的性质:

  1. 和的转置等于转置的和

    \[(A+B)^T = A^T + B^T \]

  2. 积的转置等于转置逆序的积

    \[(AB)^T = B^T A^T \]

  3. 逆的转置等于转置的逆

    \[({A^{-1}})^T = ({A^T})^{-1} \]

  4. 向量内积与矩阵乘法的关系(数学上默认向量为列向量):

    \[v \cdot x = v^T x \]

基变换

  1. 假设有基向量 \(i = \begin{bmatrix}2 \\ 1\end{bmatrix}, j = \begin{bmatrix}-1 \\ 1\end{bmatrix}\),可得基变换矩阵 \(A = \begin{bmatrix}2 & -1 \\ 1 & 1\end{bmatrix}\)
  2. 几何上讲,基变换矩阵将当前基向量线性变换为目标基向量。数值上讲,基变换矩阵将目标坐标系的基向量用当前坐标系的基向量表示。这两种角度有时会给人一种截然相反的错觉。
  3. 将目标坐标系的向量转换到当前坐标系:\(Av = x\)
  4. 将当前坐标系的向量转换到目标坐标系:\(A^{-1}x = v\)
  5. 将当前坐标系的线性变换转换到目标坐标系:\(A^{-1}BA\)(先变基,再变换,最后逆变基)

参考:Change of basis | 3Blue1Brown

特征向量和特征值

\[A\vec v = \lambda \vec v \]

几何意义:线性变换 \(A\) 对向量 \(v\) 的效果等价于简单的拉伸(而没有旋转)。

对于线性变换 \(A\),我们可以在空间中找到一些变换前后只产生了拉伸效果的向量,这些向量叫做 \(A\) 的特征向量。拉伸效果的比例因子叫做特征值。

对于三维空间的线性变换,找到特征向量就相当于找到了线性变换的“旋转轴”。

参考:Eigenvectors and eigenvalues | 3Blue1Brown

奇异值分解(SVD)

任何一个线性变换,都可以分解为以下三部分:

  1. 一个旋转或反射 \(R_1\)
  2. 沿坐标轴的空间缩放 \(\Sigma\)
  3. 另一个旋转或反射 \(R_2\)

一个矩阵可以分解为第一次旋转,缩放,第二次旋转:

\[A = R_2 \Sigma R_1 \]

可以想象方程最右边有一个 \(I\),以便理解上面的描述

矩阵的逆可以分解为反向第二次旋转,反向缩放,反向第一次旋转:

\[A^{-1} = R_1^{-1} \Sigma^{-1} R_2^{-1} \]

矩阵的逆的转置可以分解为第一次旋转,反向缩放,第二次旋转:

\[{A^{-1}}^T = R_2 \Sigma^{-1} R_1 \]

矩阵的转置可以分解为反向第二次旋转,缩放,反向第一次旋转:

\[A^T = R_1^{-1} \Sigma R_2^{-1} \]

参考:

参见:

posted @ 2025-05-03 22:45  Undefined443  阅读(60)  评论(0)    收藏  举报