本文目标 :让没有任何线性代数基础的读者,从零开始系统掌握线性代数的核心概念——定义、性质、表示方法、几何意义和历史背景,并理解它们如何应用于无人机、AI和仿真技术中。全文采用”概念→定义→性质→表示→例子→应用”的六步教学法。
第一部分:基础篇 一、标量与向量——从单个数字到数字的数组 1.1 标量(Scalar)——单个数字 定义 :标量是只有一个数值的量,它只需要一个数字就能完全描述。
历史 :标量的概念最早可以追溯到古希腊的毕达哥拉斯学派(公元前6世纪),他们用数字来描述世界的长度、面积等度量。但”标量”这个术语是19世纪由爱尔兰数学家威廉·哈密顿(William Rowan Hamilton)在创立四元数理论时正式提出的,用于区分”只有大小的量”和”既有大小又有方向的量”。
表示方法 :通常用斜体小写字母表示,如 a , b , x , 5 , − 3.14 a, b, x, 5, -3.14 a , b , x , 5 , − 3.14 。
性质 :
标量只有大小(magnitude),没有方向
标量可以是实数(R \mathbb{R} R )或复数(C \mathbb{C} C )
标量可以进行加、减、乘、除四则运算
工程实例 :
无人机的质量 m = 1.5 kg m = 1.5\text{kg} m = 1.5 kg 是一个标量
温度 T = 25 ∘ C T = 25^\circ\text{C} T = 2 5 ∘ C 是一个标量
学习率 η = 0.001 \eta = 0.001 η = 0.001 是深度学习训练中的一个标量
1.2 向量(Vector)——数字的数组 定义 :向量是有序排列的一组数字,用来描述既有大小又有方向的量。
历史 :向量的概念萌芽于19世纪初。1806年,瑞士-法国数学家阿尔冈(Jean-Robert Argand)用有向线段表示复数,这是向量的雏形。但现代向量的正式定义要归功于19世纪的多位数学家:
1837年 ,爱尔兰数学家哈密顿提出”向量”(vector)一词,源自拉丁语”vehere”(携带)
1844年 ,德国数学家格拉斯曼(Hermann Grassmann)在《线性扩张论》中系统建立了向量空间理论
1880年代 ,美国物理学家吉布斯(Josiah Willard Gibbs)将向量分析应用于物理学,奠定了现代向量代数的框架
表示方法 :
向量有三种常见的表示方式:
v = [ 3 − 2 5 ] 或 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 v = 3 − 2 5 或 v = ( 3 , − 2 , 5 ) 或 v = [ 3 , − 2 , 5 ] T
其中 T T T 表示转置(transpose),将行向量变为列向量。
向量的维度 :向量中包含的数字个数就是它的维度。v = [ 3 , − 2 ] T \mathbf{v} = [3, -2]^T v = [ 3 , − 2 ] T 是2维向量,v = [ 1 , 2 , 3 , 4 , 5 ] T \mathbf{v} = [1,2,3,4,5]^T v = [ 1 , 2 , 3 , 4 , 5 ] T 是5维向量。
基本性质 :
向量加法 :对应位置分量相加
[ 1 2 ] + [ 3 4 ] = [ 4 6 ] \begin{bmatrix} 1 \\ 2 \end{bmatrix} + \begin{bmatrix} 3 \\ 4 \end{bmatrix} = \begin{bmatrix} 4 \\ 6 \end{bmatrix} [ 1 2 ] + [ 3 4 ] = [ 4 6 ]
数乘 (标量乘以向量):每个分量乘以该标量
3 × [ 1 2 ] = [ 3 6 ] 3 \times \begin{bmatrix} 1 \\ 2 \end{bmatrix} = \begin{bmatrix} 3 \\ 6 \end{bmatrix} 3 × [ 1 2 ] = [ 3 6 ]
零向量 :所有分量都为零的向量 0 = [ 0 , 0 , 0 ] T \mathbf{0} = [0,0,0]^T 0 = [ 0 , 0 , 0 ] T
向量范数 (长度):∥ v ∥ = v 1 2 + v 2 2 + ⋯ + v n 2 \|\mathbf{v}\| = \sqrt{v_1^2 + v_2^2 + \cdots + v_n^2} ∥ v ∥ = v 1 2 + v 2 2 + ⋯ + v n 2
几何意义 :一个2维向量可以被看作平面上的一个箭头,起点在原点,终点在坐标 ( v 1 , v 2 ) (v_1, v_2) ( v 1 , v 2 ) 处。向量加法就是”箭头接箭头”的三角形法则。
1.3 向量的两种核心运算 点积(内积) :
定义 :两个同维度向量对应分量相乘再求和。
a ⋅ b = a 1 b 1 + a 2 b 2 + ⋯ + a n b n \mathbf{a} \cdot \mathbf{b} = a_1b_1 + a_2b_2 + \cdots + a_nb_n a ⋅ b = a 1 b 1 + a 2 b 2 + ⋯ + a n b n
几何意义 :a ⋅ b = ∥ a ∥ ∥ b ∥ cos θ \mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\|\|\mathbf{b}\|\cos\theta a ⋅ b = ∥ a ∥∥ b ∥ cos θ ,其中 θ \theta θ 是两个向量之间的夹角。
性质 :
当两个向量垂直时,点积为0(cos 90 ∘ = 0 \cos 90^\circ = 0 cos 9 0 ∘ = 0 )
当两个向量方向相同时,点积最大
点积的结果是一个标量
应用 :判断无人机飞行方向与风向的关系。如果空速向量 v a i r \mathbf{v}_{air} v ai r 与风向向量 w \mathbf{w} w 的点积为正,说明是顺风;为负则是逆风。
叉积(外积) :
定义 :仅在3维空间中定义,结果是垂直于两个输入向量的第三个向量。
a × b = [ a 2 b 3 − a 3 b 2 a 3 b 1 − a 1 b 3 a 1 b 2 − a 2 b 1 ] \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} a × b = a 2 b 3 − a 3 b 2 a 3 b 1 − a 1 b 3 a 1 b 2 − a 2 b 1
几何意义 :结果向量的长度等于 ∥ a ∥ ∥ b ∥ sin θ \|\mathbf{a}\|\|\mathbf{b}\|\sin\theta ∥ a ∥∥ b ∥ sin θ ,即两个向量围成的平行四边形面积。
性质 :
a × b = − b × a \mathbf{a} \times \mathbf{b} = -\mathbf{b} \times \mathbf{a} a × b = − b × a (反交换律)
如果两个向量平行,叉积为零向量
叉积的结果是一个向量
应用 :无人机的力矩计算 τ = r × F \boldsymbol{\tau} = \mathbf{r} \times \mathbf{F} τ = r × F 。力臂 r \mathbf{r} r 与力 F \mathbf{F} 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 [ 30.5 , 114.3 , 100 ] T (纬度、经度、高度m),10秒后输出 [ 30.51 , 114.32 , 105 ] T [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.01 , 0.02 , 5 ] T ,速度 = [ 0.001 , 0.002 , 0.5 ] T [0.001, 0.002, 0.5]^T [ 0.001 , 0.002 , 0.5 ] T (单位:度/秒,m/s)
二、线性组合与线性空间——从几条线到整个”空间” 2.1 线性组合的概念 定义 :对一组向量 v 1 , v 2 , … , v k \mathbf{v}_1, \mathbf{v}_2, \ldots, \mathbf{v}_k v 1 , v 2 , … , v k 进行数乘后相加,得到的新向量称为它们的线性组合。
w = c 1 v 1 + c 2 v 2 + ⋯ + c k v k \mathbf{w} = c_1\mathbf{v}_1 + c_2\mathbf{v}_2 + \cdots + c_k\mathbf{v}_k w = c 1 v 1 + c 2 v 2 + ⋯ + c k v k
其中 c 1 , c 2 , … , c k c_1, c_2, \ldots, c_k c 1 , c 2 , … , c k 是标量系数(可以是任意实数)。
例子 :给定 v 1 = [ 1 , 0 ] T \mathbf{v}_1 = [1,0]^T v 1 = [ 1 , 0 ] T 和 v 2 = [ 0 , 1 ] T \mathbf{v}_2 = [0,1]^T v 2 = [ 0 , 1 ] T ,任何2维向量 [ x , y ] T [x, y]^T [ x , y ] T 都可以表示为它们的线性组合:
[ x y ] = x ⋅ [ 1 0 ] + y ⋅ [ 0 1 ] \begin{bmatrix} x \\ y \end{bmatrix} = x \cdot \begin{bmatrix} 1 \\ 0 \end{bmatrix} + y \cdot \begin{bmatrix} 0 \\ 1 \end{bmatrix} [ x y ] = x ⋅ [ 1 0 ] + y ⋅ [ 0 1 ]
2.2 线性相关与线性无关 定义 :
线性相关 :如果一组向量中,至少有一个向量可以被其他向量的线性组合表示。换句话说,存在不全为零的系数 c 1 , … , c k c_1, \ldots, c_k c 1 , … , c k 使得 c 1 v 1 + ⋯ + c k v k = 0 c_1\mathbf{v}_1 + \cdots + c_k\mathbf{v}_k = \mathbf{0} c 1 v 1 + ⋯ + c k v k = 0 。
线性无关 :如果没有任何一个向量可以被其他向量的线性组合表示。只有当所有系数全为零时,线性组合才等于零向量。
历史 :线性无关的概念由德国数学家格拉斯曼在其1844年的著作中首次系统阐述。这一概念是格拉斯曼对数学最重要的贡献之一,它为后来向量空间维数的严格定义奠定了基础。
几何理解 :
2维空间中的两个向量,如果不共线(不在同一条直线上),就是线性无关的
3维空间中的三个向量,如果不在同一个平面上,就是线性无关的
任何超过空间维数的向量集合必然线性相关
重要性 :线性无关的向量组构成了描述空间的最小”工具集”——这直接引出了基 的概念。
2.3 基(Basis)与维度 定义 :
基 :一组线性无关的向量,使得空间中的任何向量都可以唯一地表示为它们的线性组合
维度 :基中向量的个数
历史 :”基”(basis)这个术语由德国数学家戴德金(Richard Dedekind)在19世纪末引入线性代数。但古代人早已在使用基的概念——笛卡尔(René Descartes,1596-1650)在《几何学》中使用的坐标系本质上就是一个标准正交基。
最常见的基——标准正交基 :
e 1 = [ 1 0 0 ] , e 2 = [ 0 1 0 ] , e 3 = [ 0 0 1 ] \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} e 1 = 1 0 0 , e 2 = 0 1 0 , e 3 = 0 0 1
任何3维向量都可以写成:
[ x y z ] = x e 1 + y e 2 + z e 3 \begin{bmatrix} x \\ y \\ z \end{bmatrix} = x\mathbf{e}_1 + y\mathbf{e}_2 + z\mathbf{e}_3 x y z = x e 1 + y e 2 + z e 3
重要性质 :
一个 n n n 维空间中,任何一组 n n n 个线性无关的向量都可以作为基
同一个向量在不同基下有不同的坐标表示
维度是空间的固有属性,不依赖于基的选择
2.4 线性空间(向量空间)——完整定义 定义 :一个非空集合 V V V ,如果定义了加法和数乘两种运算,并满足以下8条公理,就称为线性空间(或向量空间):
公理
名称
含义
1
加法封闭性
∀ u , v ∈ V : u + v ∈ V \forall \mathbf{u},\mathbf{v} \in V: \mathbf{u}+\mathbf{v} \in V ∀ u , v ∈ V : u + v ∈ V
2
加法交换律
u + v = v + u \mathbf{u}+\mathbf{v} = \mathbf{v}+\mathbf{u} u + v = v + u
3
加法结合律
( u + v ) + w = u + ( v + w ) (\mathbf{u}+\mathbf{v})+\mathbf{w} = \mathbf{u}+(\mathbf{v}+\mathbf{w}) ( u + v ) + w = u + ( v + w )
4
零向量存在
∃ 0 : v + 0 = v \exists \mathbf{0}: \mathbf{v}+\mathbf{0} = \mathbf{v} ∃ 0 : v + 0 = v
5
负向量存在
∀ v , ∃ ( − v ) : v + ( − v ) = 0 \forall \mathbf{v}, \exists (-\mathbf{v}): \mathbf{v}+(-\mathbf{v}) = \mathbf{0} ∀ v , ∃ ( − v ) : v + ( − v ) = 0
6
数乘封闭性
∀ a ∈ R , v ∈ V : a v ∈ V \forall a \in \mathbb{R}, \mathbf{v} \in V: a\mathbf{v} \in V ∀ a ∈ R , v ∈ V : a v ∈ V
7
数乘结合律
a ( b v ) = ( a b ) v a(b\mathbf{v}) = (ab)\mathbf{v} a ( b v ) = ( ab ) v
8
分配律
( a + b ) v = a v + b v (a+b)\mathbf{v} = a\mathbf{v}+b\mathbf{v} ( a + b ) v = a v + b v
历史渊源 :这8条公理的最终形式由德国数学家希尔伯特(David Hilbert)在1890年代整理完成,但核心思想可以追溯到格拉斯曼(1844)和英国数学家凯莱(Arthur Cayley,1857)的工作。线性空间公理化的完成,标志着线性代数从”计算工具”正式成为一门”数学理论”。
常见线性空间的例子 :
空间
元素
维度
R 3 \mathbb{R}^3 R 3
三维空间中的位置向量
3
R 640 × 640 × 3 \mathbb{R}^{640\times640\times3} R 640 × 640 × 3
所有640×640的RGB图像
1,228,800
R d \mathbb{R}^{d} R d
d d d 维特征向量
d d d
M m × n M_{m\times n} M m × n
所有m × n m\times n m × n 矩阵
m × n m \times n m × n
2.5 子空间——空间中的空间 定义 :如果线性空间 V V V 的一个子集 U U U 本身也是一个线性空间(即对加法和数乘封闭),则称 U U U 是 V V V 的子空间。
判断方法 :要判断一个子集是不是子空间,只需验证三点:
包含零向量
对加法封闭
对数乘封闭
几何理解 :
R 3 \mathbb{R}^3 R 3 中过原点的直线是一个1维子空间
R 3 \mathbb{R}^3 R 3 中过原点的平面是一个2维子空间
R 3 \mathbb{R}^3 R 3 本身是一个3维子空间(最大的子空间)
关键概念——列空间与零空间 :
对于一个 m × n m \times n m × n 矩阵 A A A :
列空间 Col ( A ) \text{Col}(A) Col ( A ) :矩阵所有列向量张成的子空间
零空间 Null ( A ) \text{Null}(A) Null ( A ) :所有满足 A x = 0 A\mathbf{x}=\mathbf{0} A x = 0 的 x \mathbf{x} x 组成的子空间
工程意义 :线性方程组 A x = b A\mathbf{x} = \mathbf{b} A x = b 有解当且仅当 b ∈ Col ( A ) \mathbf{b} \in \text{Col}(A) b ∈ Col ( A ) 。在四旋翼无人机中,控制分配矩阵 M M M 的列空间决定了所有可实现的力矩——如果期望力矩不在列空间中,就无法精确实现。
第二部分:矩阵篇 三、矩阵——数字的矩形阵列与变换工具 3.1 矩阵的定义 定义 :矩阵是按行和列排列的数字矩形阵列。
历史 :矩阵的萌芽可以追溯到中国古代的《九章算术》(约公元前200年),其中用”方程”表示法的数字排列就是矩阵的雏形。但现代矩阵理论的建立要归功于:
1858年 ,英国数学家凯莱发表了《矩阵论备忘录》,首次将矩阵作为独立的研究对象,定义了矩阵的加法和乘法
1925年 ,海森堡(Werner Heisenberg)在量子力学中使用了矩阵,使矩阵理论获得了物理学的巨大推动
1930年代 ,冯·诺依曼(John von Neumann)将矩阵应用于计算机设计
表示方法 :
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a m 1 a m 2 ⋯ a m n ] 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} A = a 11 a 21 ⋮ a m 1 a 12 a 22 ⋮ a m 2 ⋯ ⋯ ⋱ ⋯ a 1 n a 2 n ⋮ a mn
其中 m m m 是行数,n n n 是列数,a i j a_{ij} a ij 表示第 i i i 行第 j j j 列的元素。通常用大写字母表示矩阵,如 A , B , M A, B, M A , B , M 。
矩阵的分类 :
类型
定义
例子
方阵
m = n m = n m = n
[ 1 2 3 4 ] \begin{bmatrix}1&2\\3&4\end{bmatrix} [ 1 3 2 4 ]
行向量
m = 1 m = 1 m = 1
[ 1 2 3 ] \begin{bmatrix}1&2&3\end{bmatrix} [ 1 2 3 ]
列向量
n = 1 n = 1 n = 1
[ 1 2 3 ] \begin{bmatrix}1\\2\\3\end{bmatrix} 1 2 3
对角矩阵
非对角线元素全为0
[ 2 0 0 3 ] \begin{bmatrix}2&0\\0&3\end{bmatrix} [ 2 0 0 3 ]
单位矩阵
对角线为1,其余为0
[ 1 0 0 1 ] \begin{bmatrix}1&0\\0&1\end{bmatrix} [ 1 0 0 1 ]
对称矩阵
a i j = a j i a_{ij}=a_{ji} a ij = a j i
[ 1 2 2 3 ] \begin{bmatrix}1&2\\2&3\end{bmatrix} [ 1 2 2 3 ]
零矩阵
所有元素为0
[ 0 0 0 0 ] \begin{bmatrix}0&0\\0&0\end{bmatrix} [ 0 0 0 0 ]
3.2 矩阵的基本运算 矩阵加法 :对应位置元素相加。要求两个矩阵的行列数相同。
[ 1 2 3 4 ] + [ 5 6 7 8 ] = [ 6 8 10 12 ] \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} + \begin{bmatrix} 5 & 6 \\ 7 & 8 \end{bmatrix} = \begin{bmatrix} 6 & 8 \\ 10 & 12 \end{bmatrix} [ 1 3 2 4 ] + [ 5 7 6 8 ] = [ 6 10 8 12 ]
数乘矩阵 :每个元素乘以该标量。
3 × [ 1 2 3 4 ] = [ 3 6 9 12 ] 3 \times \begin{bmatrix} 1 & 2 \\ 3 & 4 \end{bmatrix} = \begin{bmatrix} 3 & 6 \\ 9 & 12 \end{bmatrix} 3 × [ 1 3 2 4 ] = [ 3 9 6 12 ]
矩阵乘法(最重要!) :
定义 :矩阵 A A A (m × n m \times n m × n )与矩阵 B B B (n × p n \times p n × p )相乘,得到矩阵 C C C (m × p m \times p m × p )。C C C 的第 i i i 行第 j j j 列元素等于 A A A 的第 i i i 行与 B B B 的第 j j j 列逐元素相乘后再求和:
c i j = ∑ k = 1 n a i k b k j c_{ij} = \sum_{k=1}^{n} a_{ik}b_{kj} c ij = k = 1 ∑ n a ik b k j
关键规则(必须记住!) :
第一个矩阵的列数必须等于第二个矩阵的行数
矩阵乘法不满足交换律 :A B ≠ B A AB \neq BA A B = B A (大多数情况下)
矩阵乘法满足结合律:A ( B C ) = ( A B ) C A(BC) = (AB)C A ( B C ) = ( A B ) C
矩阵乘法满足分配律:A ( B + C ) = A B + A C A(B+C) = AB + AC A ( B + C ) = A B + A C
例子 :
[ 1 2 3 4 ] [ 5 6 7 8 ] = [ 1 × 5 + 2 × 7 1 × 6 + 2 × 8 3 × 5 + 4 × 7 3 × 6 + 4 × 8 ] = [ 19 22 43 50 ] \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} [ 1 3 2 4 ] [ 5 7 6 8 ] = [ 1 × 5 + 2 × 7 3 × 5 + 4 × 7 1 × 6 + 2 × 8 3 × 6 + 4 × 8 ] = [ 19 43 22 50 ]
矩阵乘法为什么重要? 因为它是计算机图形学、机器学习、物理仿真中最核心的运算 。YOLO的一次推理中,99%的浮点运算都是矩阵乘法。
3.3 矩阵×向量的几何意义——线性变换 核心思想 :矩阵乘以向量,就是对向量进行一次”线性变换”。
y = A x \mathbf{y} = A\mathbf{x} y = A x
这可以理解为:矩阵 A A A 定义了如何将输入向量 x \mathbf{x} x 变换为输出向量 y \mathbf{y} y 。
三种基本线性变换 :
① 缩放变换 :
[ s x 0 0 0 s y 0 0 0 s z ] [ x y z ] = [ s x x s y y s z z ] \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} s x 0 0 0 s y 0 0 0 s z x y z = s x x s y y s z z
② 旋转变换——绕 z z z 轴旋转 θ \theta θ 度 :
[ cos θ − sin θ 0 sin θ cos θ 0 0 0 1 ] [ x y z ] = [ x cos θ − y sin θ x sin θ + y cos θ 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} cos θ sin θ 0 − sin θ cos θ 0 0 0 1 x y z = x cos θ − y sin θ x sin θ + y cos θ z
③ 剪切变换 :
[ 1 tan θ 0 0 1 0 0 0 1 ] [ x y z ] = [ x + y tan θ y z ] \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} 1 0 0 tan θ 1 0 0 0 1 x y z = x + y tan θ y z
几何理解 :
矩阵的列 就是基向量变换后的位置
矩阵乘法就是重新组合这些变换后的基向量
3.4 矩阵的转置 定义 :将矩阵的行和列互换得到的矩阵。用 A T A^T A T 表示。
A = [ 1 2 3 4 5 6 ] , A T = [ 1 4 2 5 3 6 ] A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix}, \quad A^T = \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix} A = [ 1 4 2 5 3 6 ] , A T = 1 2 3 4 5 6
性质 :
( A T ) T = A (A^T)^T = A ( A T ) T = A
( A + B ) T = A T + B T (A+B)^T = A^T + B^T ( A + B ) T = A T + B T
( A B ) T = B T A T (AB)^T = B^T A^T ( A B ) T = B T A T (注意顺序反转!)
如果 A A A 是 m × n m \times n m × n ,则 A T A^T A T 是 n × m n \times m n × m
3.5 行列式(Determinant) 定义 :行列式是一个从方阵映射到标量的函数,记作 det ( A ) \det(A) det ( A ) 或 ∣ A ∣ |A| ∣ A ∣ 。
历史 :行列式的概念比矩阵还早。1683年 ,日本数学家关孝和在《解伏题之法》中独立提出了行列式的概念(比欧洲早约10年)。1693年 ,德国数学家莱布尼茨(Gottfried Leibniz)在给洛必达的信中讨论了行列式。但现代行列式的系统理论由法国数学家柯西(Augustin-Louis Cauchy)在1812年 建立,他首次使用了 det ( A ) \det(A) det ( A ) 的记法。
2×2矩阵的行列式 :
det ( a b c d ) = a d − b c \det\begin{pmatrix} a & b \\ c & d \end{pmatrix} = ad - bc det ( a c b d ) = a d − b c
3×3矩阵的行列式 :
det ( a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ) = 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 \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} det a 11 a 21 a 31 a 12 a 22 a 32 a 13 a 23 a 33 = 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 ( I ) = 1 (单位矩阵不改变体积)
det ( A B ) = det ( A ) det ( B ) \det(AB) = \det(A)\det(B) det ( A B ) = det ( A ) det ( B )
det ( A T ) = det ( A ) \det(A^T) = \det(A) det ( A T ) = det ( A )
如果 det ( A ) = 0 \det(A) = 0 det ( A ) = 0 ,矩阵不可逆——意味着变换将空间”压扁”了一个维度
旋转矩阵的行列式为 + 1 +1 + 1 (不改变体积,也不翻转方向)
3.6 逆矩阵 定义 :对于方阵 A A A ,如果存在矩阵 A − 1 A^{-1} A − 1 满足:
A A − 1 = A − 1 A = I AA^{-1} = A^{-1}A = I A A − 1 = A − 1 A = I
则称 A − 1 A^{-1} A − 1 是 A A A 的逆矩阵。
历史 :逆矩阵的概念最早出现在凯莱1858年的论文中。凯莱证明了逆矩阵存在的充要条件是行列式不为零,并给出了通过伴随矩阵求逆的公式。
存在条件 :矩阵 A A A 可逆当且仅当 det ( A ) ≠ 0 \det(A) \neq 0 det ( A ) = 0 。
几何意义 :逆矩阵 A − 1 A^{-1} A − 1 对应 A A A 所代表的线性变换的”反向操作”。如果 A A A 将空间拉伸2倍,A − 1 A^{-1} A − 1 就压缩2倍。
性质 :
( A − 1 ) − 1 = A (A^{-1})^{-1} = A ( A − 1 ) − 1 = A
( A B ) − 1 = B − 1 A − 1 (AB)^{-1} = B^{-1}A^{-1} ( A B ) − 1 = B − 1 A − 1 (注意顺序反转!)
( A T ) − 1 = ( A − 1 ) T (A^T)^{-1} = (A^{-1})^T ( A T ) − 1 = ( A − 1 ) T
det ( A − 1 ) = 1 / det ( A ) \det(A^{-1}) = 1/\det(A) det ( A − 1 ) = 1/ det ( A )
为什么逆矩阵很重要? 解线性方程组 A x = b A\mathbf{x} = \mathbf{b} A x = b 时,如果 A A A 可逆,解就是 x = A − 1 b \mathbf{x} = A^{-1}\mathbf{b} x = A − 1 b 。但实际工程中很少直接求逆(数值不稳定),而是用高斯消去、LU分解等方法。
3.7 特殊矩阵速查
矩阵类型
定义
性质
在AI/无人机中的出现
单位矩阵 I I I
对角线为1,其余为0
A I = A , I A = A AI = A, IA = A A I = A , I A = A
神经网络中的恒等映射
对角矩阵
非对角线元素为0
求逆只需取倒数
特征值矩阵 Λ \Lambda Λ
对称矩阵
A = A T A = A^T A = A T
特征值全为实数
协方差矩阵、惯性张量
正交矩阵
Q T Q = I Q^TQ = I Q T Q = I
Q − 1 = Q T Q^{-1} = Q^T Q − 1 = Q T
旋转矩阵
正定矩阵
x T A x > 0 \mathbf{x}^T A\mathbf{x} > 0 x T A x > 0
所有特征值 > 0
惯性张量、Hessian矩阵
四、线性方程组——连接理论与应用的桥梁 4.1 线性方程组的定义 定义 :一组形式为 a 1 x 1 + a 2 x 2 + ⋯ + a n x n = b a_1x_1 + a_2x_2 + \cdots + a_nx_n = b a 1 x 1 + a 2 x 2 + ⋯ + a n x n = b 的方程组成的系统。
矩阵形式 :
A x = b A\mathbf{x} = \mathbf{b} A x = b
其中 A A A 是系数矩阵(m × n m \times n m × n ),x \mathbf{x} x 是未知数向量(n × 1 n \times 1 n × 1 ),b \mathbf{b} b 是常数向量(m × 1 m \times 1 m × 1 )。
历史 :线性方程组是人类最早研究的数学问题之一。古巴比伦的泥板(约公元前2000年)上就记载了线性方程的解法。1750年 ,瑞士数学家克莱默(Gabriel Cramer)提出了用行列式求解线性方程组的克莱默法则。1809年 ,德国数学家高斯(Carl Friedrich Gauss)发明了高斯消去法,这是至今仍在使用的最重要的数值方法之一。
4.2 解的情况分析 对于 A x = b A\mathbf{x} = \mathbf{b} A x = b :
情况
含义
几何解释
唯一解
恰好有一个 x \mathbf{x} x 满足方程
所有直线/平面交于一点
无解
不存在 x \mathbf{x} x 满足方程
直线平行不相交
无穷多解
有无限多个 x \mathbf{x} x 满足
直线完全重合
4.3 最小二乘法——当无解时的最优解法 当 A x = b A\mathbf{x} = \mathbf{b} A x = b 无解时(实际工程中经常如此,因为测量数据含有噪声),我们寻找”最佳近似解”:
min x ∥ A x − b ∥ 2 \min_{\mathbf{x}} \|A\mathbf{x} - \mathbf{b}\|^2 x min ∥ A x − b ∥ 2
解是:x = ( A T A ) − 1 A T b \mathbf{x} = (A^T A)^{-1} A^T \mathbf{b} x = ( A T A ) − 1 A T b
应用 :无人机参数辨识——从飞行数据中”反推”气动参数。我们有测量数据(加速度、角速度等),已知物理模型的形式(A A A 矩阵),需要估计模型的系数(x \mathbf{x} x )。由于测量有噪声,方程组通常无精确解,最小二乘法给出最优估计。
第三部分:核心定理篇 五、特征值与特征向量——系统的”固有频率” 5.1 定义——最核心的概念 定义 :对于矩阵 A A A ,如果存在非零向量 v \mathbf{v} v 和标量 λ \lambda λ 满足:
A v = λ v A\mathbf{v} = \lambda\mathbf{v} A v = λ v
则 v \mathbf{v} v 是 A A A 的特征向量,λ \lambda λ 是 A A A 的特征值。
历史 :特征值理论的起源可以追溯到18世纪。1743年 ,瑞士数学家欧拉(Leonhard Euler)在研究刚体转动时遇到了特征值问题。1829年 ,法国数学家柯西证明了实对称矩阵的特征值都是实数。1904年 ,希尔伯特引入了”特征值”(eigenvalue)这个术语,其中 eigen 来自德语,意为”本征的”、”固有的”。英国的瑞利勋爵(Lord Rayleigh,1910)在《声学理论》中广泛使用特征值分析振动问题。
5.2 几何意义(必须理解!) 特征向量是矩阵A A A 所代表的线性变换中的”不变方向”——沿着这些方向,变换退化为简单的缩放 。
特征向量 v \mathbf{v} v :变换中方向不变的方向
特征值 λ \lambda λ :沿着该方向的缩放倍数
直观例子 :如果你拉伸一块橡皮泥,手拉伸的方向就是特征向量方向,拉伸的比例就是特征值。
5.3 如何求特征值 求解特征方程:
det ( A − λ I ) = 0 \det(A - \lambda I) = 0 det ( A − λ I ) = 0
这是一个关于 λ \lambda λ 的多项式方程。对于一个 n × n n \times n n × n 矩阵,特征方程是 n n n 次多项式,最多有 n n n 个特征值。
2×2矩阵的例子 :
A = [ 4 1 2 3 ] A = \begin{bmatrix} 4 & 1 \\ 2 & 3 \end{bmatrix} A = [ 4 2 1 3 ]
det ( A − λ I ) = det [ 4 − λ 1 2 3 − λ ] = ( 4 − λ ) ( 3 − λ ) − 2 = λ 2 − 7 λ + 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 det ( A − λ I ) = det [ 4 − λ 2 1 3 − λ ] = ( 4 − λ ) ( 3 − λ ) − 2 = λ 2 − 7 λ + 10 = 0
解得 λ 1 = 5 \lambda_1 = 5 λ 1 = 5 , λ 2 = 2 \lambda_2 = 2 λ 2 = 2 。
5.4 重要性质
特征值的和 = 矩阵对角线的和(迹,trace)
特征值的积 = 矩阵的行列式
实对称矩阵的所有特征值都是实数(柯西,1829)
正定矩阵的所有特征值都大于0
5.5 特征分解 如果一个 n × n n \times n n × n 矩阵 A A A 有 n n n 个线性无关的特征向量,则可以分解为:
A = V Λ V − 1 A = V \Lambda V^{-1} A = V Λ V − 1
其中 V V V 的列是特征向量,Λ \Lambda Λ 是对角矩阵(对角线元素是特征值)。
意义 :特征分解揭示了线性变换的”内部结构”——沿着特征向量方向,变换被简化为独立的标量乘法。
5.6 在无人机中的应用——模态分析 无人机的运动可以分为几种”模态”,每种模态对应状态矩阵的一个特征值:
模态
特征值形式
物理含义
短周期模态
λ = − a ± b i \lambda = -a \pm bi λ = − a ± bi
迎角快速振荡(a a a 大→迅速衰减)
长周期模态
λ = − c ± d i \lambda = -c \pm di λ = − c ± d i
速度缓慢振荡(c c c 小→衰减慢)
荷兰滚模态
λ = − e ± f i \lambda = -e \pm fi λ = − e ± f i
滚转-偏航耦合振荡
螺旋模态
λ = g \lambda = g λ = g (实数)
缓慢滚转收敛/发散
判断稳定性 :所有特征值的实部必须为负——如果某个特征值的实部为正,无人机在该模态上就是不稳定的。
六、矩阵分解——将复杂问题拆解为简单步骤 6.1 为什么要做矩阵分解? 核心思想 :将一个复杂的矩阵 A A A 分解成几个具有简单形式的矩阵的乘积,使得计算更容易。
分解
形式
用途
LU分解
A = L U A = LU A = LU
解线性方程组
QR分解
A = Q R A = QR A = QR
最小二乘法
Cholesky分解
A = L L T A = LL^T A = L L T
卡尔曼滤波(对称正定矩阵)
SVD分解
A = U Σ V T A = U\Sigma V^T A = U Σ V T
万能分解,压缩、降维、伪逆
6.2 SVD——最强大的矩阵分解 定义 :任何矩阵 A A A (m × n m \times n m × n )都可以分解为:
A = U Σ V T A = U \Sigma V^T A = U Σ V T
U U U (m × m m \times m m × m ):左奇异向量(正交矩阵)
Σ \Sigma Σ (m × n m \times n m × n ):奇异值对角矩阵(σ 1 ≥ σ 2 ≥ ⋯ ≥ 0 \sigma_1 \geq \sigma_2 \geq \cdots \geq 0 σ 1 ≥ σ 2 ≥ ⋯ ≥ 0 )
V V V (n × n n \times n n × n ):右奇异向量(正交矩阵)
历史 :SVD的创立者是四位数学家:
1873年 ,意大利数学家贝尔特拉米(Eugenio Beltrami)首次发表SVD
1874年 ,法国数学家若尔当(Camille Jordan)独立发现了SVD
1936年 ,埃克特(Eckart)和杨(Young)证明了SVD的低秩近似定理(Eckart-Young定理)
1965年 ,戈卢布(Gene Golub)和克兰(William Kahan)发明了计算SVD的数值算法
几何意义 :任何线性变换都可以分解为三步:旋转 (V T V^T V T )→ 各向异性缩放 (Σ \Sigma Σ )→ 再次旋转 (U U U )。
为什么SVD极其重要?
① 伪逆 :当矩阵不可逆(det ( A ) = 0 \det(A)=0 det ( A ) = 0 )时,SVD可以计算伪逆:
A + = V Σ + U T A^+ = V \Sigma^+ U^T A + = V Σ + U T
这在四旋翼无人机的控制分配中直接使用——将期望力矩分配给四个电机。
② 低秩近似 :只保留前 k k k 个最大奇异值,得到矩阵的最优 k k k 秩近似:
A ≈ U k Σ k V k T A \approx U_k \Sigma_k V_k^T A ≈ U k Σ k V k T
这是PCA(主成分分析)、图像压缩的理论基础。
③ 在AI中的应用 :YOLO模型压缩时,对全连接层权重做SVD低秩分解,减少参数。
第四部分:AI与张量篇 七、张量——深度学习的高维数据容器 7.1 从向量到张量的推广 定义 :张量是向量的高维推广。向量是1阶张量,矩阵是2阶张量,3阶以上统称为张量。
核心思想 :深度学习中的所有数据都被组织成张量。
阶数
名称
数学符号
在神经网络中
0
标量
x ∈ R x \in \mathbb{R} x ∈ R
损失值、学习率
1
向量
x ∈ R n \mathbf{x} \in \mathbb{R}^n x ∈ R n
特征向量、FC层输出
2
矩阵
X ∈ R m × n X \in \mathbb{R}^{m \times n} X ∈ R m × n
权重矩阵
3
3阶张量
X ∈ R 3 × H × W \mathcal{X} \in \mathbb{R}^{3 \times H \times W} X ∈ R 3 × H × W
一张RGB图像
4
4阶张量
X ∈ R B × 3 × H × W \mathcal{X} \in \mathbb{R}^{B \times 3 \times H \times W} X ∈ R B × 3 × H × W
一个图像批次
5
5阶张量
X ∈ R B × T × 3 × H × W \mathcal{X} \in \mathbb{R}^{B \times T \times 3 \times H \times W} X ∈ R B × T × 3 × H × W
一个视频批次
历史 :”张量”(tensor)一词源自拉丁语”tensus”(拉伸)。1898年 ,沃尔德马尔·福格特(Woldemar Voigt)在晶体物理学中首次使用这个词。1915年 ,爱因斯坦在广义相对论中使用张量描述时空弯曲。但张量在工程中的广泛应用要归功于2010年代深度学习 的兴起——神经网络的所有数据都自然地表示为张量。
7.2 张量的基本运算 逐元素运算 :对应位置相加、相乘,要求张量的形状完全相同。
张量收缩(Tensor Contraction) :沿两个张量的指定维度求和,得到新张量。矩阵乘法 C i j = ∑ k A i k B k j C_{ij} = \sum_k A_{ik}B_{kj} C ij = ∑ k A ik B k j 就是最简单的张量收缩。
Einstein求和约定 :重复出现的下标表示求和。
c i j = a i k b k j (自动对 k 求和) c_{ij} = a_{ik}b_{kj} \quad \text{(自动对 }k\text{ 求和)} c ij = a ik b k j (自动对 k 求和)
在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章)——点积、叉积的几何意义一定要动手画
再理解矩阵乘法 (第3章)——手算至少10个2×2矩阵乘法
理解线性变换 (第3.3节)——矩阵×向量就是变换向量
理解特征值 (第5章)——最重要但最难,需要花时间反复思考
最后学习SVD (第6.2节)——集大成者,理解它等于理解了整个线性代数
推荐教材 :
Gilbert Strang《线性代数导论》(Introduction to Linear Algebra)——最适合自学的入门书
3Blue1Brown的线性代数系列视频——最直观的几何理解
MIT OpenCourseWare 18.06(Gilbert Strang授课)——完整课程录像
8.4 核心公式速查卡
公式
含义
a ⋅ b = ∥ a ∥ ∥ b ∥ cos θ \mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\|\|\mathbf{b}\|\cos\theta a ⋅ b = ∥ a ∥∥ b ∥ cos θ
点积=投影长度乘积
a × b \mathbf{a} \times \mathbf{b} a × b = 垂直于两者的向量
叉积=面积×法线方向
A x = b A\mathbf{x} = \mathbf{b} A x = b
矩阵形式的线性方程组
A v = λ v A\mathbf{v} = \lambda\mathbf{v} A v = λ v
特征值与特征向量的定义
det ( A − λ I ) = 0 \det(A-\lambda I)=0 det ( A − λ I ) = 0
特征值求解方程
A = U Σ V T A = U\Sigma V^T A = U Σ V T
SVD:任意矩阵可分解为旋转×缩放×旋转
x = ( A T A ) − 1 A T b \mathbf{x} = (A^T A)^{-1}A^T \mathbf{b} x = ( A T A ) − 1 A T b
最小二乘解
ω 2 = M + τ \boldsymbol{\omega}^2 = M^+ \boldsymbol{\tau} ω 2 = M + τ
四旋翼控制分配的伪逆形式
参考文献与推荐资源
Strang, G. (2016). Introduction to Linear Algebra . 5th ed., Wellesley-Cambridge Press. — 世界上用得最广的线性代数教材
3Blue1Brown. Essence of Linear Algebra (YouTube系列). — 最好的线性代数可视化教程
Boyd, S., & Vandenberghe, L. (2018). Introduction to Applied Linear Algebra . Cambridge University Press. — 面向工程师的应用线性代数
Golub, G. H., & Van Loan, C. F. (2013). Matrix Computations . 4th ed. — 矩阵计算的圣经
Goodfellow, I., et al. (2016). Deep Learning . MIT Press. Chapter 2 — 深度学习的线性代数基础
Klein, M. (1972). Mathematical Thought from Ancient to Modern Times . — 数学史经典(包含线性代数发展史)