Badge

本文目标:让没有任何线性代数基础的读者,从零开始系统掌握线性代数的核心概念——定义、性质、表示方法、几何意义和历史背景,并理解它们如何应用于无人机、AI和仿真技术中。全文采用”概念→定义→性质→表示→例子→应用”的六步教学法。


第一部分:基础篇

一、标量与向量——从单个数字到数字的数组

1.1 标量(Scalar)——单个数字

定义:标量是只有一个数值的量,它只需要一个数字就能完全描述。

历史:标量的概念最早可以追溯到古希腊的毕达哥拉斯学派(公元前6世纪),他们用数字来描述世界的长度、面积等度量。但”标量”这个术语是19世纪由爱尔兰数学家威廉·哈密顿(William Rowan Hamilton)在创立四元数理论时正式提出的,用于区分”只有大小的量”和”既有大小又有方向的量”。

表示方法:通常用斜体小写字母表示,如 a,b,x,5,3.14a, b, x, 5, -3.14

性质

  • 标量只有大小(magnitude),没有方向
  • 标量可以是实数(R\mathbb{R})或复数(C\mathbb{C}
  • 标量可以进行加、减、乘、除四则运算

工程实例

  • 无人机的质量 m=1.5kgm = 1.5\text{kg} 是一个标量
  • 温度 T=25CT = 25^\circ\text{C} 是一个标量
  • 学习率 η=0.001\eta = 0.001 是深度学习训练中的一个标量

1.2 向量(Vector)——数字的数组

定义:向量是有序排列的一组数字,用来描述既有大小又有方向的量。

历史:向量的概念萌芽于19世纪初。1806年,瑞士-法国数学家阿尔冈(Jean-Robert Argand)用有向线段表示复数,这是向量的雏形。但现代向量的正式定义要归功于19世纪的多位数学家:

  • 1837年,爱尔兰数学家哈密顿提出”向量”(vector)一词,源自拉丁语”vehere”(携带)
  • 1844年,德国数学家格拉斯曼(Hermann Grassmann)在《线性扩张论》中系统建立了向量空间理论
  • 1880年代,美国物理学家吉布斯(Josiah Willard Gibbs)将向量分析应用于物理学,奠定了现代向量代数的框架

表示方法

向量有三种常见的表示方式:

v=[325]v=(3,2,5)v=[3,2,5]T \mathbf{v} = \begin{bmatrix} 3 \\ -2 \\ 5 \end{bmatrix} \quad \text{或} \quad \vec{v} = (3, -2, 5) \quad \text{或} \quad \mathbf{v} = [3, -2, 5]^T

其中 TT 表示转置(transpose),将行向量变为列向量。

向量的维度:向量中包含的数字个数就是它的维度。v=[3,2]T\mathbf{v} = [3, -2]^T 是2维向量,v=[1,2,3,4,5]T\mathbf{v} = [1,2,3,4,5]^T 是5维向量。

基本性质

  1. 向量加法:对应位置分量相加

    [12]+[34]=[46] \begin{bmatrix} 1 \\ 2 \end{bmatrix} + \begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 4 \\ 6 \end{bmatrix}
  2. 数乘(标量乘以向量):每个分量乘以该标量

    3×[12]=[36] 3 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 3 \\ 6 \end{bmatrix}
  3. 零向量:所有分量都为零的向量 0=[0,0,0]T\mathbf{0} = [0,0,0]^T

  4. 向量范数(长度):v=v12+v22++vn2\|\mathbf{v}\| = \sqrt{v_1^2 + v_2^2 + \cdots + v_n^2}

几何意义:一个2维向量可以被看作平面上的一个箭头,起点在原点,终点在坐标 (v1,v2)(v_1, v_2) 处。向量加法就是”箭头接箭头”的三角形法则。

1.3 向量的两种核心运算

点积(内积)

定义:两个同维度向量对应分量相乘再求和。

ab=a1b1+a2b2++anbn\mathbf{a} \cdot \mathbf{b} = a_1b_1 + a_2b_2 + \cdots + a_nb_n

几何意义ab=abcosθ\mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\|\|\mathbf{b}\|\cos\theta,其中 θ\theta 是两个向量之间的夹角。

性质

  • 当两个向量垂直时,点积为0(cos90=0\cos 90^\circ = 0
  • 当两个向量方向相同时,点积最大
  • 点积的结果是一个标量

应用:判断无人机飞行方向与风向的关系。如果空速向量 vair\mathbf{v}_{air} 与风向向量 w\mathbf{w} 的点积为正,说明是顺风;为负则是逆风。

叉积(外积)

定义:仅在3维空间中定义,结果是垂直于两个输入向量的第三个向量。

a×b=[a2b3a3b2a3b1a1b3a1b2a2b1] \mathbf{a} \times \mathbf{b} = \begin{bmatrix} a_2b_3 - a_3b_2 \\ a_3b_1 - a_1b_3 \\ a_1b_2 - a_2b_1 \end{bmatrix}

几何意义:结果向量的长度等于 absinθ\|\mathbf{a}\|\|\mathbf{b}\|\sin\theta,即两个向量围成的平行四边形面积。

性质

  • a×b=b×a\mathbf{a} \times \mathbf{b} = -\mathbf{b} \times \mathbf{a}(反交换律)
  • 如果两个向量平行,叉积为零向量
  • 叉积的结果是一个向量

应用:无人机的力矩计算 τ=r×F\boldsymbol{\tau} = \mathbf{r} \times \mathbf{F}。力臂 r\mathbf{r} 与力 F\mathbf{F} 的叉积给出了使无人机旋转的力矩。

1.4 向量在无人机中的第一次出现

1
2
3
4
5
无人机上每个传感器都在输出向量:
IMU加速度计 → [a_x, a_y, a_z]^T (3维向量)
IMU陀螺仪 → [p, q, r]^T (3维角速度)
GPS位置 → [lat, lon, alt]^T (3维位置)
磁力计 → [m_x, m_y, m_z]^T (3维磁场)

练习:一架无人机的GPS输出位置为 [30.5,114.3,100]T[30.5, 114.3, 100]^T(纬度、经度、高度m),10秒后输出 [30.51,114.32,105]T[30.51, 114.32, 105]^T。位移向量是多少?速度向量是多少?

答案:位移 = [0.01,0.02,5]T[0.01, 0.02, 5]^T,速度 = [0.001,0.002,0.5]T[0.001, 0.002, 0.5]^T(单位:度/秒,m/s)


二、线性组合与线性空间——从几条线到整个”空间”

2.1 线性组合的概念

定义:对一组向量 v1,v2,,vk\mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k 进行数乘后相加,得到的新向量称为它们的线性组合。

w=c1v1+c2v2++ckvk \mathbf{w} = c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_k\mathbf{v}_k

其中 c1,c2,,ckc_1, c_2, \ldots, c_k 是标量系数(可以是任意实数)。

例子:给定 v1=[1,0]T\mathbf{v}_1 = [1,0]^Tv2=[0,1]T\mathbf{v}_2 = [0,1]^T,任何2维向量 [x,y]T[x, y]^T 都可以表示为它们的线性组合:

[xy]=x[10]+y[01] \begin{bmatrix} x \\ y \end{bmatrix} = x \cdot \begin{bmatrix} 1 \\ 0 \end{bmatrix} + y \cdot \begin{bmatrix} 0 \\ 1 \end{bmatrix}

2.2 线性相关与线性无关

定义

  • 线性相关:如果一组向量中,至少有一个向量可以被其他向量的线性组合表示。换句话说,存在不全为零的系数 c1,,ckc_1, \ldots, c_k 使得 c1v1++ckvk=0c_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k = \mathbf{0}
  • 线性无关:如果没有任何一个向量可以被其他向量的线性组合表示。只有当所有系数全为零时,线性组合才等于零向量。

历史:线性无关的概念由德国数学家格拉斯曼在其1844年的著作中首次系统阐述。这一概念是格拉斯曼对数学最重要的贡献之一,它为后来向量空间维数的严格定义奠定了基础。

几何理解

  • 2维空间中的两个向量,如果不共线(不在同一条直线上),就是线性无关的
  • 3维空间中的三个向量,如果不在同一个平面上,就是线性无关的
  • 任何超过空间维数的向量集合必然线性相关

重要性:线性无关的向量组构成了描述空间的最小”工具集”——这直接引出了的概念。

2.3 基(Basis)与维度

定义

  • :一组线性无关的向量,使得空间中的任何向量都可以唯一地表示为它们的线性组合
  • 维度:基中向量的个数

历史:”基”(basis)这个术语由德国数学家戴德金(Richard Dedekind)在19世纪末引入线性代数。但古代人早已在使用基的概念——笛卡尔(René Descartes,1596-1650)在《几何学》中使用的坐标系本质上就是一个标准正交基。

最常见的基——标准正交基

e1=[100],e2=[010],e3=[001] \mathbf{e}_1 = \begin{bmatrix} 1 \\ 0 \\ 0 \end{bmatrix}, \quad \mathbf{e}_2 = \begin{bmatrix} 0 \\ 1 \\ 0 \end{bmatrix}, \quad \mathbf{e}_3 = \begin{bmatrix} 0 \\ 0 \\ 1 \end{bmatrix}

任何3维向量都可以写成:

[xyz]=xe1+ye2+ze3 \begin{bmatrix} x \\ y \\ z \end{bmatrix} = x\mathbf{e}_1 + y\mathbf{e}_2 + z\mathbf{e}_3

重要性质

  • 一个 nn 维空间中,任何一组 nn 个线性无关的向量都可以作为基
  • 同一个向量在不同基下有不同的坐标表示
  • 维度是空间的固有属性,不依赖于基的选择

2.4 线性空间(向量空间)——完整定义

定义:一个非空集合 VV,如果定义了加法和数乘两种运算,并满足以下8条公理,就称为线性空间(或向量空间):

公理 名称 含义
1 加法封闭性 u,vV:u+vV\forall \mathbf{u},\mathbf{v} \in V: \mathbf{u}+\mathbf{v} \in V
2 加法交换律 u+v=v+u\mathbf{u}+\mathbf{v} = \mathbf{v}+\mathbf{u}
3 加法结合律 (u+v)+w=u+(v+w)(\mathbf{u}+\mathbf{v})+\mathbf{w} = \mathbf{u}+(\mathbf{v}+\mathbf{w})
4 零向量存在 0:v+0=v\exists \mathbf{0}: \mathbf{v}+\mathbf{0} = \mathbf{v}
5 负向量存在 v,(v):v+(v)=0\forall \mathbf{v}, \exists (-\mathbf{v}): \mathbf{v}+(-\mathbf{v}) = \mathbf{0}
6 数乘封闭性 aR,vV:avV\forall a \in \mathbb{R}, \mathbf{v} \in V: a\mathbf{v} \in V
7 数乘结合律 a(bv)=(ab)va(b\mathbf{v}) = (ab)\mathbf{v}
8 分配律 (a+b)v=av+bv(a+b)\mathbf{v} = a\mathbf{v}+b\mathbf{v}

历史渊源:这8条公理的最终形式由德国数学家希尔伯特(David Hilbert)在1890年代整理完成,但核心思想可以追溯到格拉斯曼(1844)和英国数学家凯莱(Arthur Cayley,1857)的工作。线性空间公理化的完成,标志着线性代数从”计算工具”正式成为一门”数学理论”。

常见线性空间的例子

空间 元素 维度
R3\mathbb{R}^3 三维空间中的位置向量 3
R640×640×3\mathbb{R}^{640\times640\times3} 所有640×640的RGB图像 1,228,800
Rd\mathbb{R}^{d} dd维特征向量 dd
Mm×nM_{m\times n} 所有m×nm\times n矩阵 m×nm \times n

2.5 子空间——空间中的空间

定义:如果线性空间 VV 的一个子集 UU 本身也是一个线性空间(即对加法和数乘封闭),则称 UUVV 的子空间。

判断方法:要判断一个子集是不是子空间,只需验证三点:

  1. 包含零向量
  2. 对加法封闭
  3. 对数乘封闭

几何理解

  • R3\mathbb{R}^3 中过原点的直线是一个1维子空间
  • R3\mathbb{R}^3 中过原点的平面是一个2维子空间
  • R3\mathbb{R}^3 本身是一个3维子空间(最大的子空间)

关键概念——列空间与零空间

对于一个 m×nm \times n 矩阵 AA

  • 列空间 Col(A)\text{Col}(A):矩阵所有列向量张成的子空间
  • 零空间 Null(A)\text{Null}(A):所有满足 Ax=0A\mathbf{x}=\mathbf{0}x\mathbf{x} 组成的子空间

工程意义:线性方程组 Ax=bA\mathbf{x} = \mathbf{b} 有解当且仅当 bCol(A)\mathbf{b} \in \text{Col}(A)。在四旋翼无人机中,控制分配矩阵 MM 的列空间决定了所有可实现的力矩——如果期望力矩不在列空间中,就无法精确实现。


第二部分:矩阵篇

三、矩阵——数字的矩形阵列与变换工具

3.1 矩阵的定义

定义:矩阵是按行和列排列的数字矩形阵列。

历史:矩阵的萌芽可以追溯到中国古代的《九章算术》(约公元前200年),其中用”方程”表示法的数字排列就是矩阵的雏形。但现代矩阵理论的建立要归功于:

  • 1858年,英国数学家凯莱发表了《矩阵论备忘录》,首次将矩阵作为独立的研究对象,定义了矩阵的加法和乘法
  • 1925年,海森堡(Werner Heisenberg)在量子力学中使用了矩阵,使矩阵理论获得了物理学的巨大推动
  • 1930年代,冯·诺依曼(John von Neumann)将矩阵应用于计算机设计

表示方法

A=[a11a12a1na21a22a2nam1am2amn] A = \begin{bmatrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ a_{m1} & a_{m2} & \cdots & a_{mn} \end{bmatrix}

其中 mm 是行数,nn 是列数,aija_{ij} 表示第 ii 行第 jj 列的元素。通常用大写字母表示矩阵,如 A,B,MA, B, M

矩阵的分类

类型 定义 例子
方阵 m=nm = n [1234]\begin{bmatrix}1&2\\3&4\end{bmatrix}
行向量 m=1m = 1 [123]\begin{bmatrix}1&2&3\end{bmatrix}
列向量 n=1n = 1 [123]\begin{bmatrix}1\\2\\3\end{bmatrix}
对角矩阵 非对角线元素全为0 [2003]\begin{bmatrix}2&0\\0&3\end{bmatrix}
单位矩阵 对角线为1,其余为0 [1001]\begin{bmatrix}1&0\\0&1\end{bmatrix}
对称矩阵 aij=ajia_{ij}=a_{ji} [1223]\begin{bmatrix}1&2\\2&3\end{bmatrix}
零矩阵 所有元素为0 [0000]\begin{bmatrix}0&0\\0&0\end{bmatrix}

3.2 矩阵的基本运算

矩阵加法:对应位置元素相加。要求两个矩阵的行列数相同。

[1234]+[5678]=[681012] \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix}

数乘矩阵:每个元素乘以该标量。

3×[1234]=[36912] 3 \times \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} = \begin{bmatrix} 3 & 6 \\ 9 & 12 \end{bmatrix}

矩阵乘法(最重要!)

定义:矩阵 AAm×nm \times n)与矩阵 BBn×pn \times p)相乘,得到矩阵 CCm×pm \times p)。CC 的第 ii 行第 jj 列元素等于 AA 的第 ii 行与 BB 的第 jj 列逐元素相乘后再求和:

cij=k=1naikbkj c_{ij} = \sum_{k=1}^{n} a_{ik}b_{kj}

关键规则(必须记住!)

  • 第一个矩阵的列数必须等于第二个矩阵的行数
  • 矩阵乘法不满足交换律ABBAAB \neq BA(大多数情况下)
  • 矩阵乘法满足结合律:A(BC)=(AB)CA(BC) = (AB)C
  • 矩阵乘法满足分配律:A(B+C)=AB+ACA(B+C) = AB + AC

例子

[1234][5678]=[1×5+2×71×6+2×83×5+4×73×6+4×8]=[19224350] \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 1\times5+2\times7 & 1\times6+2\times8 \\ 3\times5+4\times7 & 3\times6+4\times8 \end{bmatrix} = \begin{bmatrix} 19 & 22 \\ 43 & 50 \end{bmatrix}

矩阵乘法为什么重要? 因为它是计算机图形学、机器学习、物理仿真中最核心的运算。YOLO的一次推理中,99%的浮点运算都是矩阵乘法。

3.3 矩阵×向量的几何意义——线性变换

核心思想:矩阵乘以向量,就是对向量进行一次”线性变换”。

y=Ax \mathbf{y} = A\mathbf{x}

这可以理解为:矩阵 AA 定义了如何将输入向量 x\mathbf{x} 变换为输出向量 y\mathbf{y}

三种基本线性变换

① 缩放变换

[sx000sy000sz][xyz]=[sxxsyyszz] \begin{bmatrix} s_x & 0 & 0 \\ 0 & s_y & 0 \\ 0 & 0 & s_z \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} s_x x \\ s_y y \\ s_z z \end{bmatrix}

② 旋转变换——绕 zz 轴旋转 θ\theta

[cosθsinθ0sinθcosθ0001][xyz]=[xcosθysinθxsinθ+ycosθz] \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} x\cos\theta - y\sin\theta \\ x\sin\theta + y\cos\theta \\ z \end{bmatrix}

③ 剪切变换

[1tanθ0010001][xyz]=[x+ytanθyz] \begin{bmatrix} 1 & \tan\theta & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} \begin{bmatrix} x \\ y \\ z \end{bmatrix} = \begin{bmatrix} x + y\tan\theta \\ y \\ z \end{bmatrix}

几何理解

  • 矩阵的就是基向量变换后的位置
  • 矩阵乘法就是重新组合这些变换后的基向量

3.4 矩阵的转置

定义:将矩阵的行和列互换得到的矩阵。用 ATA^T 表示。

A=[123456],AT=[142536] A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}, \quad A^T = \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix}

性质

  • (AT)T=A(A^T)^T = A
  • (A+B)T=AT+BT(A+B)^T = A^T + B^T
  • (AB)T=BTAT(AB)^T = B^T A^T(注意顺序反转!)
  • 如果 AAm×nm \times n,则 ATA^Tn×mn \times m

3.5 行列式(Determinant)

定义:行列式是一个从方阵映射到标量的函数,记作 det(A)\det(A)A|A|

历史:行列式的概念比矩阵还早。1683年,日本数学家关孝和在《解伏题之法》中独立提出了行列式的概念(比欧洲早约10年)。1693年,德国数学家莱布尼茨(Gottfried Leibniz)在给洛必达的信中讨论了行列式。但现代行列式的系统理论由法国数学家柯西(Augustin-Louis Cauchy)在1812年建立,他首次使用了 det(A)\det(A) 的记法。

2×2矩阵的行列式

det(abcd)=adbc \det\begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc

3×3矩阵的行列式

det(a11a12a13a21a22a23a31a32a33)=a11a22a33+a12a23a31+a13a21a32a13a22a31a12a21a33a11a23a32 \det\begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{pmatrix} = a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{13}a_{22}a_{31} - a_{12}a_{21}a_{33} - a_{11}a_{23}a_{32}

几何意义(最重要!):行列式的绝对值等于矩阵所代表的线性变换对面积的缩放倍数。

  • 2×2矩阵:面积缩放倍数
  • 3×3矩阵:体积缩放倍数

重要性质

  • det(I)=1\det(I) = 1(单位矩阵不改变体积)
  • det(AB)=det(A)det(B)\det(AB) = \det(A)\det(B)
  • det(AT)=det(A)\det(A^T) = \det(A)
  • 如果 det(A)=0\det(A) = 0,矩阵不可逆——意味着变换将空间”压扁”了一个维度
  • 旋转矩阵的行列式为 +1+1(不改变体积,也不翻转方向)

3.6 逆矩阵

定义:对于方阵 AA,如果存在矩阵 A1A^{-1} 满足:

AA1=A1A=I AA^{-1} = A^{-1}A = I

则称 A1A^{-1}AA 的逆矩阵。

历史:逆矩阵的概念最早出现在凯莱1858年的论文中。凯莱证明了逆矩阵存在的充要条件是行列式不为零,并给出了通过伴随矩阵求逆的公式。

存在条件:矩阵 AA 可逆当且仅当 det(A)0\det(A) \neq 0

几何意义:逆矩阵 A1A^{-1} 对应 AA 所代表的线性变换的”反向操作”。如果 AA 将空间拉伸2倍,A1A^{-1} 就压缩2倍。

性质

  • (A1)1=A(A^{-1})^{-1} = A
  • (AB)1=B1A1(AB)^{-1} = B^{-1}A^{-1}(注意顺序反转!)
  • (AT)1=(A1)T(A^T)^{-1} = (A^{-1})^T
  • det(A1)=1/det(A)\det(A^{-1}) = 1/\det(A)

为什么逆矩阵很重要? 解线性方程组 Ax=bA\mathbf{x} = \mathbf{b} 时,如果 AA 可逆,解就是 x=A1b\mathbf{x} = A^{-1}\mathbf{b}。但实际工程中很少直接求逆(数值不稳定),而是用高斯消去、LU分解等方法。

3.7 特殊矩阵速查

矩阵类型 定义 性质 在AI/无人机中的出现
单位矩阵 II 对角线为1,其余为0 AI=A,IA=AAI = A, IA = A 神经网络中的恒等映射
对角矩阵 非对角线元素为0 求逆只需取倒数 特征值矩阵 Λ\Lambda
对称矩阵 A=ATA = A^T 特征值全为实数 协方差矩阵、惯性张量
正交矩阵 QTQ=IQ^TQ = I Q1=QTQ^{-1} = Q^T 旋转矩阵
正定矩阵 xTAx>0\mathbf{x}^T A\mathbf{x} > 0 所有特征值 > 0 惯性张量、Hessian矩阵

四、线性方程组——连接理论与应用的桥梁

4.1 线性方程组的定义

定义:一组形式为 a1x1+a2x2++anxn=ba_1x_1 + a_2x_2 + \cdots + a_nx_n = b 的方程组成的系统。

矩阵形式

Ax=b A\mathbf{x} = \mathbf{b}

其中 AA 是系数矩阵(m×nm \times n),x\mathbf{x} 是未知数向量(n×1n \times 1),b\mathbf{b} 是常数向量(m×1m \times 1)。

历史:线性方程组是人类最早研究的数学问题之一。古巴比伦的泥板(约公元前2000年)上就记载了线性方程的解法。1750年,瑞士数学家克莱默(Gabriel Cramer)提出了用行列式求解线性方程组的克莱默法则。1809年,德国数学家高斯(Carl Friedrich Gauss)发明了高斯消去法,这是至今仍在使用的最重要的数值方法之一。

4.2 解的情况分析

对于 Ax=bA\mathbf{x} = \mathbf{b}

情况 含义 几何解释
唯一解 恰好有一个 x\mathbf{x} 满足方程 所有直线/平面交于一点
无解 不存在 x\mathbf{x} 满足方程 直线平行不相交
无穷多解 有无限多个 x\mathbf{x} 满足 直线完全重合

4.3 最小二乘法——当无解时的最优解法

Ax=bA\mathbf{x} = \mathbf{b} 无解时(实际工程中经常如此,因为测量数据含有噪声),我们寻找”最佳近似解”:

minxAxb2 \min_{\mathbf{x}} \|A\mathbf{x} - \mathbf{b}\|^2

解是:x=(ATA)1ATb\mathbf{x} = (A^T A)^{-1} A^T \mathbf{b}

应用:无人机参数辨识——从飞行数据中”反推”气动参数。我们有测量数据(加速度、角速度等),已知物理模型的形式(AA 矩阵),需要估计模型的系数(x\mathbf{x})。由于测量有噪声,方程组通常无精确解,最小二乘法给出最优估计。


第三部分:核心定理篇

五、特征值与特征向量——系统的”固有频率”

5.1 定义——最核心的概念

定义:对于矩阵 AA,如果存在非零向量 v\mathbf{v} 和标量 λ\lambda 满足:

Av=λv A\mathbf{v} = \lambda\mathbf{v}

v\mathbf{v}AA 的特征向量,λ\lambdaAA 的特征值。

历史:特征值理论的起源可以追溯到18世纪。1743年,瑞士数学家欧拉(Leonhard Euler)在研究刚体转动时遇到了特征值问题。1829年,法国数学家柯西证明了实对称矩阵的特征值都是实数。1904年,希尔伯特引入了”特征值”(eigenvalue)这个术语,其中 eigen 来自德语,意为”本征的”、”固有的”。英国的瑞利勋爵(Lord Rayleigh,1910)在《声学理论》中广泛使用特征值分析振动问题。

5.2 几何意义(必须理解!)

特征向量是矩阵AA所代表的线性变换中的”不变方向”——沿着这些方向,变换退化为简单的缩放

  • 特征向量 v\mathbf{v}:变换中方向不变的方向
  • 特征值 λ\lambda:沿着该方向的缩放倍数

直观例子:如果你拉伸一块橡皮泥,手拉伸的方向就是特征向量方向,拉伸的比例就是特征值。

5.3 如何求特征值

求解特征方程:

det(AλI)=0 \det(A - \lambda I) = 0

这是一个关于 λ\lambda 的多项式方程。对于一个 n×nn \times n 矩阵,特征方程是 nn 次多项式,最多有 nn 个特征值。

2×2矩阵的例子

A=[4123] A = \begin{bmatrix} 4 & 1 \\ 2 & 3 \end{bmatrix} det(AλI)=det[4λ123λ]=(4λ)(3λ)2=λ27λ+10=0 \det(A - \lambda I) = \det\begin{bmatrix} 4-\lambda & 1 \\ 2 & 3-\lambda \end{bmatrix} = (4-\lambda)(3-\lambda) - 2 = \lambda^2 - 7\lambda + 10 = 0

解得 λ1=5\lambda_1 = 5, λ2=2\lambda_2 = 2

5.4 重要性质

  • 特征值的和 = 矩阵对角线的和(迹,trace)
  • 特征值的积 = 矩阵的行列式
  • 实对称矩阵的所有特征值都是实数(柯西,1829)
  • 正定矩阵的所有特征值都大于0

5.5 特征分解

如果一个 n×nn \times n 矩阵 AAnn 个线性无关的特征向量,则可以分解为:

A=VΛV1 A = V \Lambda V^{-1}

其中 VV 的列是特征向量,Λ\Lambda 是对角矩阵(对角线元素是特征值)。

意义:特征分解揭示了线性变换的”内部结构”——沿着特征向量方向,变换被简化为独立的标量乘法。

5.6 在无人机中的应用——模态分析

无人机的运动可以分为几种”模态”,每种模态对应状态矩阵的一个特征值:

模态 特征值形式 物理含义
短周期模态 λ=a±bi\lambda = -a \pm bi 迎角快速振荡(aa大→迅速衰减)
长周期模态 λ=c±di\lambda = -c \pm di 速度缓慢振荡(cc小→衰减慢)
荷兰滚模态 λ=e±fi\lambda = -e \pm fi 滚转-偏航耦合振荡
螺旋模态 λ=g\lambda = g(实数) 缓慢滚转收敛/发散

判断稳定性:所有特征值的实部必须为负——如果某个特征值的实部为正,无人机在该模态上就是不稳定的。


六、矩阵分解——将复杂问题拆解为简单步骤

6.1 为什么要做矩阵分解?

核心思想:将一个复杂的矩阵 AA 分解成几个具有简单形式的矩阵的乘积,使得计算更容易。

分解 形式 用途
LU分解 A=LUA = LU 解线性方程组
QR分解 A=QRA = QR 最小二乘法
Cholesky分解 A=LLTA = LL^T 卡尔曼滤波(对称正定矩阵)
SVD分解 A=UΣVTA = U\Sigma V^T 万能分解,压缩、降维、伪逆

6.2 SVD——最强大的矩阵分解

定义:任何矩阵 AAm×nm \times n)都可以分解为:

A=UΣVT A = U \Sigma V^T
  • UUm×mm \times m):左奇异向量(正交矩阵)
  • Σ\Sigmam×nm \times n):奇异值对角矩阵(σ1σ20\sigma_1 \geq \sigma_2 \geq \cdots \geq 0
  • VVn×nn \times n):右奇异向量(正交矩阵)

历史:SVD的创立者是四位数学家:

  • 1873年,意大利数学家贝尔特拉米(Eugenio Beltrami)首次发表SVD
  • 1874年,法国数学家若尔当(Camille Jordan)独立发现了SVD
  • 1936年,埃克特(Eckart)和杨(Young)证明了SVD的低秩近似定理(Eckart-Young定理)
  • 1965年,戈卢布(Gene Golub)和克兰(William Kahan)发明了计算SVD的数值算法

几何意义:任何线性变换都可以分解为三步:旋转VTV^T)→ 各向异性缩放Σ\Sigma)→ 再次旋转UU)。

为什么SVD极其重要?

① 伪逆:当矩阵不可逆(det(A)=0\det(A)=0)时,SVD可以计算伪逆:

A+=VΣ+UT A^+ = V \Sigma^+ U^T

这在四旋翼无人机的控制分配中直接使用——将期望力矩分配给四个电机。

② 低秩近似:只保留前 kk 个最大奇异值,得到矩阵的最优 kk 秩近似:

AUkΣkVkT A \approx U_k \Sigma_k V_k^T

这是PCA(主成分分析)、图像压缩的理论基础。

③ 在AI中的应用:YOLO模型压缩时,对全连接层权重做SVD低秩分解,减少参数。


第四部分:AI与张量篇

七、张量——深度学习的高维数据容器

7.1 从向量到张量的推广

定义:张量是向量的高维推广。向量是1阶张量,矩阵是2阶张量,3阶以上统称为张量。

核心思想:深度学习中的所有数据都被组织成张量。

阶数 名称 数学符号 在神经网络中
0 标量 xRx \in \mathbb{R} 损失值、学习率
1 向量 xRn\mathbf{x} \in \mathbb{R}^n 特征向量、FC层输出
2 矩阵 XRm×nX \in \mathbb{R}^{m \times n} 权重矩阵
3 3阶张量 XR3×H×W\mathcal{X} \in \mathbb{R}^{3 \times H \times W} 一张RGB图像
4 4阶张量 XRB×3×H×W\mathcal{X} \in \mathbb{R}^{B \times 3 \times H \times W} 一个图像批次
5 5阶张量 XRB×T×3×H×W\mathcal{X} \in \mathbb{R}^{B \times T \times 3 \times H \times W} 一个视频批次

历史:”张量”(tensor)一词源自拉丁语”tensus”(拉伸)。1898年,沃尔德马尔·福格特(Woldemar Voigt)在晶体物理学中首次使用这个词。1915年,爱因斯坦在广义相对论中使用张量描述时空弯曲。但张量在工程中的广泛应用要归功于2010年代深度学习的兴起——神经网络的所有数据都自然地表示为张量。

7.2 张量的基本运算

逐元素运算:对应位置相加、相乘,要求张量的形状完全相同。

张量收缩(Tensor Contraction):沿两个张量的指定维度求和,得到新张量。矩阵乘法 Cij=kAikBkjC_{ij} = \sum_k A_{ik}B_{kj} 就是最简单的张量收缩。

Einstein求和约定:重复出现的下标表示求和。

cij=aikbkj(自动对 k 求和) c_{ij} = a_{ik}b_{kj} \quad \text{(自动对 }k\text{ 求和)}

在PyTorch中,这用 torch.einsum 实现:

1
2
3
4
5
6
7
8
# 矩阵乘法
C = torch.einsum('ik,kj->ij', A, B)

# 注意力机制中的:查询×键
attention = torch.einsum('bqk,bvk->bqv', query, key)

# 批量的多通道操作
output = torch.einsum('bchw,kcxy->bkhw', features, kernel)

7.3 YOLO一次推理中的张量运算

以YOLOv8检测一张640×640图像为例:

1
2
3
4
5
6
7
8
9
10
11
输入张量: [1, 3, 640, 640]  (批次1×通道3×高640×宽640)

卷积层: [1, 64, 640, 640] (64个卷积核,每个核3×7×7)

特征提取...(经过数十个卷积层和注意力模块)

特征图: [1, 256, 80, 80], [1, 512, 40, 40], [1, 1024, 20, 20]

解耦检测头: 分类分支 + 回归分支的张量运算

输出张量: [1, 84, 8400] (84 = 4个坐标 + 80个类别分数)

每次推理需要约 10^10次浮点运算(10 GFLOPs),99%是张量收缩(卷积被实现为矩阵乘法)。


八、线性代数知识体系总览

8.1 完整概念地图

1
2
3
4
5
6
7
8
9
10
11
标量 → 向量 → 线性空间 → 子空间

矩阵 ← 线性变换

线性方程组 → 最小二乘法

行列式 → 特征值 → 特征向量 → 特征分解

矩阵分解:LU / QR / Cholesky / SVD

张量 → einsum → 深度学习

8.2 各概念在AI/无人机中的出现频率

概念 飞行动力学 光线追踪 YOLO 端到端
向量 ⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐
矩阵乘法 ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐ ⭐⭐⭐
线性变换 ⭐⭐⭐ ⭐⭐⭐ ⭐⭐ ⭐⭐
旋转矩阵/四元数 ⭐⭐⭐ ⭐⭐⭐
特征值分解 ⭐⭐⭐ ⭐⭐ ⭐⭐
SVD ⭐⭐ ⭐⭐ ⭐⭐ ⭐⭐
张量 ⭐⭐⭐ ⭐⭐⭐
最小二乘法 ⭐⭐⭐ ⭐⭐

8.3 给自学者的推荐阅读顺序

  1. 先理解向量(第1章)——点积、叉积的几何意义一定要动手画
  2. 再理解矩阵乘法(第3章)——手算至少10个2×2矩阵乘法
  3. 理解线性变换(第3.3节)——矩阵×向量就是变换向量
  4. 理解特征值(第5章)——最重要但最难,需要花时间反复思考
  5. 最后学习SVD(第6.2节)——集大成者,理解它等于理解了整个线性代数

推荐教材

  • Gilbert Strang《线性代数导论》(Introduction to Linear Algebra)——最适合自学的入门书
  • 3Blue1Brown的线性代数系列视频——最直观的几何理解
  • MIT OpenCourseWare 18.06(Gilbert Strang授课)——完整课程录像

8.4 核心公式速查卡

公式 含义
ab=abcosθ\mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\|\|\mathbf{b}\|\cos\theta 点积=投影长度乘积
a×b\mathbf{a} \times \mathbf{b} = 垂直于两者的向量 叉积=面积×法线方向
Ax=bA\mathbf{x} = \mathbf{b} 矩阵形式的线性方程组
Av=λvA\mathbf{v} = \lambda\mathbf{v} 特征值与特征向量的定义
det(AλI)=0\det(A-\lambda I)=0 特征值求解方程
A=UΣVTA = U\Sigma V^T SVD:任意矩阵可分解为旋转×缩放×旋转
x=(ATA)1ATb\mathbf{x} = (A^T A)^{-1}A^T \mathbf{b} 最小二乘解
ω2=M+τ\boldsymbol{\omega}^2 = M^+ \boldsymbol{\tau} 四旋翼控制分配的伪逆形式

参考文献与推荐资源

  1. Strang, G. (2016). Introduction to Linear Algebra. 5th ed., Wellesley-Cambridge Press. — 世界上用得最广的线性代数教材
  2. 3Blue1Brown. Essence of Linear Algebra (YouTube系列). — 最好的线性代数可视化教程
  3. Boyd, S., & Vandenberghe, L. (2018). Introduction to Applied Linear Algebra. Cambridge University Press. — 面向工程师的应用线性代数
  4. Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations. 4th ed. — 矩阵计算的圣经
  5. Goodfellow, I., et al. (2016). Deep Learning. MIT Press. Chapter 2 — 深度学习的线性代数基础
  6. Klein, M. (1972). Mathematical Thought from Ancient to Modern Times. — 数学史经典(包含线性代数发展史)