回到首页

输入关键词,多个关键词用空格分隔。

← 机器学习与数据科学之旅 · 系列目录

线性代数:向量、矩阵与空间

约 14 分钟更新于 2026-11-06
本页目录

更新历史

  • 2017.03.16: 并入【不周山之数据科学】系列
  • 2017.02.18: 完成初稿
  • 2017.02.08: 开始编写

写在前面

线性代数是代数学的一个分支,主要处理线性关系问题,即数学对象之间的关系是以一次形式来表达的。线性关系问题简称线性问题,解线性方程组的问题是最简单的线性问题。

很多实际问题的处理,最后往往归结为线性问题,它比较容易处理。因此,线性代数在许多领域都有着广泛的应用,是一门基本且重要的学科。

向量 Vector

向量可以用列的形式表示,但是为了书写和打印方便,一般会用圆括号括起来,转换为行的形式。如:v=(v1,v2)\mathbf{v}=(v_1,v_2)。

若有向量 v=(v1,v2),  w=(w1,w2)\mathbf{v}=(v_1,v_2),\; \mathbf{w}=(w_1, w_2) 和常数 c,dc, d,则

  • 向量相加 v+w=(v1+w1,v2+w2)\mathbf{v+w}=(v_1+w_1,v_2+w_2)
  • 向量数乘 cv=(cv1,cv2)c\mathbf{v}=(cv_1,cv_2)
  • cv+dwc\mathbf{v}+d\mathbf{w} 是向量 v\mathbf{v} 和 w\mathbf{w} 的线性组合
  • v⋅w\mathbf{v\cdot w} 是向量 v\mathbf{v} 和 w\mathbf{w} 的内积(点积),值为 v⋅w=∑viwi\mathbf{v\cdot w}=\sum v_iw_i,显然 v⋅w=w⋅v\mathbf{v\cdot w}=\mathbf{w\cdot v}
  • ∥v∥\Vert \mathbf{v} \Vert 是向量 v\mathbf{v} 的长度,∥v∥=v⋅v\Vert\mathbf{v}\Vert=\sqrt{\mathbf{v\cdot v}}
  • 单位向量 u\mathbf{u} 的长度为1,u=v∥v∥\mathbf{u}=\frac{\mathbf{v}}{\Vert\mathbf{v} \Vert} 是与 v\mathbf{v} 同方向的单位向量

如果 v\mathbf{v} 和 w\mathbf{w} 是非零向量,则有

v⋅w∥v∥∥w∥=cos  θ\frac{\mathbf{v\cdot w}}{\Vert\mathbf{v} \Vert \Vert\mathbf{w} \Vert}=cos\;\theta

据此我们可以得到两个重要不等式:

  • ∣v⋅w∣≤∥v∥∥w∥|\mathbf{v\cdot w}| \le \Vert\mathbf{v}\Vert \Vert\mathbf{w} \Vert
  • ∥v+w∥≤∥v∥+∥w∥\Vert\mathbf{v+w}\Vert \le \Vert\mathbf{v}\Vert + \Vert\mathbf{w} \Vert

有关向量的线性表示,下面的说法是等价的:

  • 向量 bb 能由向量组 a1,a2,⋯ ,am\mathbf{a_1,a_2,\cdots,a_m } 线性表示
  • 线性方程组 x1a1+x2a2+⋯+xmam=bx_1\mathbf{a_1}+x_2\mathbf{a_2}+\cdots+x_m\mathbf{a_m}=\mathbf{b} 有解
  • 秩相同 R(a1,a2,⋯ ,am)=R(a1,a2,⋯ ,am,b)R(\mathbf{a_1,a_2,\cdots,a_m }) = R(\mathbf{a_1,a_2,\cdots,a_m,b}),因为 b\mathbf{b} 可以被向量组 a1,a2,⋯ ,am\mathbf{a_1,a_2,\cdots,a_m } 线性表示

如果向量组 A:a1,a2,⋯ ,am(m≥2)A: \mathbf{a_1,a_2,\cdots,a_m }(m \ge 2) 线性相关,下面说法等价:

  • 向量组 AA 至少存在一个向量是其余 m−1m-1 个向量的线性组合
  • 线性方程组 x1a1+x2a2+⋯+xmam=0x_1\mathbf{a_1}+x_2\mathbf{a_2}+\cdots+x_m\mathbf{a_m}=0 有非零解
  • a1,a2,⋯ ,am\mathbf{a_1,a_2,\cdots,a_m } 的秩小于向量的个数 mm,即 R(a1,a2,⋯ ,am)<mR(\mathbf{a_1,a_2,\cdots,a_m })<m

如果向量组 A:a1,a2,⋯ ,am(m≥2)A: \mathbf{a_1,a_2,\cdots,a_m }(m \ge 2) 线性无关,下面说法等价:

  • 线性方程组 x1a1+x2a2+⋯+xmam=0x_1\mathbf{a_1}+x_2\mathbf{a_2}+\cdots+x_m\mathbf{a_m}=0 只有零解
  • a1,a2,⋯ ,am\mathbf{a_1,a_2,\cdots,a_m } 的秩等于向量的个数 mm,即 R(a1,a2,⋯ ,am)=mR(\mathbf{a_1,a_2,\cdots,a_m })=m

这里我们可以看到向量、方程组和矩阵问题实际上是可以相互转换的。但需要注意向量组等价,可得矩阵等价,但矩阵等价不能得到向量组等价

行列式 Determinant

线性代数中最重要的内容就是行列式和矩阵,虽然表面上看,行列式和矩阵不过是一种符号或速记,但从数学史上来看,优良的数学符号和生动的概念是数学思想产生的动力和钥匙。

行列式最初用于求解线性方程,对方阵系数矩阵,行列式非零意味着线性方程组对任意右端项都有唯一解;行列式为零时,还需比较系数矩阵与增广矩阵的秩判断是否有解。

行列式的三种变换:

  • 互换某两行(列),记为 ri↔rj  (ci↔cj)r_i \leftrightarrow r_j\;(c_i \leftrightarrow c_j)
  • 提出某一行(列)的公因子,记为 ri÷k  (ci÷k)r_i \div k\;(c_i \div k)
  • 把某一行(列)的 kk 倍加到另一行(列),记为 ri+krj  (ci+kcj)r_i+kr_j\;(c_i+kc_j)

计算行列式最常用的一种方法就是利用变换 ri+krj  (ci+kcj)r_i+kr_j\;(c_i+kc_j) 和 ri↔rj  (ci↔cj)r_i \leftrightarrow r_j\;(c_i \leftrightarrow c_j),把行列式转化为上三角形行列式,从而算得行列式的值。

行列式为零当且仅当行(列)向量组线性相关。两行相同或成比例只是其中的特殊情况。

行列式按某行展开可以按任一行展开,而一行元素乘以另一行对应元素的代数余子式,其和为零。综合起来是:

ak1Ai1+ak2Ai2+⋯+aknAin=∑s=1naksAis={D,k=i0,k≠ia_{k1}A_{i1}+a_{k2}A_{i2}+ \cdots + a_{kn}A_{in}=\sum_{s=1}^n a_{ks}A_{is}=\begin{cases}D&, k=i\\ 0&,k\ne i\end{cases}

另外 DT=DD^T=D 也是行列式的性质,这里提一下。

矩阵 Matrix

若有矩阵 AA 和矩阵 BB,那么

  • 两个大小相同的矩阵才可以相加,记为 A+BA+B,是对应位置的元素进行相加
  • 如果矩阵 AA 有 nn 列且矩阵 BB 有 nn 行,这两个矩阵可以相乘得到 ABAB

一个 m×nm \times n 的矩阵与一个 n×pn\times p 的矩阵相乘所需的乘法次数是 mnpmnp 次,对于多个矩阵连乘,可以用动态规划选择乘法的结合顺序,减少总计算量。

矩阵加法满足:

  • 交换率 A+B=B+AA+B=B+A
  • 分配率 c(A+B)=cA+cBc(A+B)=cA+cB
  • 结合律 A+(B+C)=(A+B)+CA+(B+C)=(A+B)+C

矩阵乘法满足:

  • 左分配率 C(A+B)=CA+CBC(A+B)=CA+CB
  • 右分配率 (A+B)C=AC+BC(A+B)C=AC+BC
  • 结合律 A(BC)=(AB)CA(BC)=(AB)C

矩阵 AA 可逆当且仅当存在矩阵 A−1A^{-1},使得 A−1A=IA^{-1}A=I 和 AA−1=IAA^{-1}=I,其中 A−1A^{-1} 称为 AA 的逆矩阵(inverse)。如果 AA 不可逆,称 AA 为奇异(singular)矩阵。

转置(transpose)是把一个矩阵行与列进行互换,如对于矩阵 AA 转置为 (AT)ij=Aji(A^T)_{ij}=A_{ji}。

对于矩阵 AA 和 BB,(A+B)T=AT+BT,  (AB)T=BTAT,  (A−1)T=(AT)−1(A+B)^T=A^T+B^T,\;(AB)^T=B^TA^T,\;(A^{-1})^T=(A^T)^{-1}

如果对于矩阵 AA 有 aij=ajia_{ij}=a_{ji},则称 AA 为对称矩阵。实对称正定矩阵可分解为 A=LDLTA=LDL^T,其中 LL 为单位下三角阵、DD 为正对角阵;一般实对称矩阵可能需要置换和分块

对任意矩阵 RR,RTRR^TR 和 RRTRR^T 都是对称矩阵且它们对角线上元素非负,大多数科学问题都是从一个矩阵 RR 开始,以 RTRR^TR 或 RRTRR^T 结束。

对于非零矩阵 AA,A2A^2 可以是零矩阵,但 ATAA^TA 不可能是零矩阵。

求解线性方程组是线性代数的核心问题。

求解 Ax=bA\mathbf{x}=\mathbf{b} 是寻找一个特定组合来产生 b\mathbf{b},其中 A\mathbf{A} 被称为系数矩阵。这个求解的过程,从另外一个角度来看是寻找多条线(平面或超平面)的交点。

每个超级计算机都会拿求解 Ax=bA\mathbf{x}=\mathbf{b} 来测试速度,计算机编程中应该直接进行消元或者置换,通常不应先显式求逆再乘以右端向量,因为这往往增加计算量并影响数值稳定性。

nn 阶矩阵 AA,可以认为下列说法是等价的:

  1. A\mathbf{A} 是满秩矩阵
  2. A\mathbf{A} 的标准形是 EE
  3. A\mathbf{A} 可以表达为有限个初等矩阵的乘积
  4. 齐次线性方程组 Ax=0Ax=0 只有零解
  5. 非齐次线性方程组 Ax=bAx=b 有唯一解

对称矩阵

对称矩阵是线性代数中(无论理论还是实践)最重要的矩阵。

  • 实对称矩阵的特征向量一定可以选为相互正交(不同特征值对应的特征向量相互正交),而特征值一定是实数,在存在相应 LDLTLDL^T 分解时,特征值的正负数量与 DD 的惯性一致
  • 所有实对称矩阵都可以对角化,对角化变为 A=QΛQTA=Q\Lambda Q^T,其中 QQ 是正交矩阵
  • 复方阵存在 Schur 分解 A=QTQ∗A=QTQ^*,QQ 为酉矩阵、TT 为上三角矩阵;实方阵有实 Schur 分解,TT 一般为准上三角矩阵

正定矩阵 Positive Definite Matrix

  • 这里讨论实对称矩阵。对任何非零向量 x\mathbf{x} 都有 xTAx>0\mathbf{x}^TA\mathbf{x}>0 时,我们称 AA 为正定矩阵
  • 矩阵 AA 正定当且仅当它的特征值或主元都为正数,正定矩阵的对角线上不会出现零
  • 如果 AA 与 BB 都对称正定,则 A+BA+B 也对称正定
  • 如果 RR 的列向量线性无关,则 A=RTRA=R^TR 不但是对称矩阵,而且正定
  • 椭圆 xTAx=1\mathbf{x}^TA\mathbf{x}=1 的轴沿着 AA 的特征向量方向,半轴长为 1λ\frac{1}{\sqrt \lambda}

相似矩阵 Similar Matrix

  • 如果存在可逆矩阵 MM 使得 B=M−1AMB=M^{-1}AM,则 BB 与 AA 相似,从定义上就可以看出相似是可逆的
  • 没有一般可能被 MM 改变的有:特征值、迹、行列式、秩和无关特征向量个数
  • 一般可能被 MM 改变的有:特征向量、NULL空间、列空间、行空间、左NULL空间和奇异值;
  • 如果 AA 有 n 个线性无关的特征向量,则 AA 与 Λ\Lambda 相似且 M=SM=S,这里 SS 为特征向量矩阵,并且AS=SΛ,  S−1AS=ΛAS=S\Lambda,\;S^{-1}AS=\Lambda(其实这也就是对角化的过程)

向量空间和子空间

空间 RnR^n 包含任何含有 nn 个实数元素的列向量 v\mathbf{v},我们可以把 RnR^n 中任意向量加在一起,也可以为任何向量乘上一个数字 cc,得到的结果都在这个空间中。

  • 对于向量空间中的非空子集,如果对加法和数乘封闭,它就是一个子空间。
  • 只包含一个零向量的空间称为空间 ZZ

一个向量空间的子空间(Subspace)满足如下条件:如果 v\mathbf{v} 和 w\mathbf{w} 都在这个子空间中,则 v+w\mathbf{v+w} 与 cvc\mathbf{v} 也在这个子空间中,而他们的线性组合 cv+dwc\mathbf{v}+d\mathbf{w} 也在子空间中。

  • 矩阵 AA 列向量的线性组合构成它的列空间,一般记为 C(A)C(A),当 b\mathbf{b} 在 C(A)C(A) 时 Ax=bA\mathbf{x}=\mathbf{b} 有解。
  • 矩阵 AA 的 NULL 空间包括满足 Ax=0A\mathbf{x}=0 的所有 x\mathbf{x},记为 N(A)N(A)
  • 一个矩阵的行空间和它的 NULL 空间相互正交
  • 矩阵的秩是矩阵主元的数量,可以记为 rr,它等于行空间和列空间的维度;若矩阵有 nn 列,NULL 空间的维度是 n−rn-r
  • 对于矩阵 AA 和 BB,存在结论 rank(AB)≤min(rank(A),rank(B))rank(AB) \le min(rank(A),rank(B))

Ax=bA\mathbf{x}=\mathbf{b} 的全部解

  • 求解 Ax=bA\mathbf{x}=\mathbf{b} 可以看做求以 AA 列向量为坐标轴时 b\mathbf{b} 的坐标值 x\mathbf{x}
  • Ax=bA\mathbf{x}=\mathbf{b} 经消元后可解当且仅当最后 m−rm-r 个等式变成 0=00=0
  • Ax=bA\mathbf{x}=\mathbf{b} 的所有解是满足 Ax=bA\mathbf{x}=\mathbf{b} 的一个特解 xpx_p 加上 Ax=0A\mathbf{x}=0 的任意解
  • 根据秩 rr 的取值,线性方程组有如下四种可能(其中 m,nm,n 为行数、列数)
    • r=m,r=nr=m,r=n,方阵且可逆,Ax=bA\mathbf{x}=\mathbf{b} 有且只有一个解
    • r=m,r<nr=m,r<n,矮又宽型,Ax=bA\mathbf{x}=\mathbf{b} 有无穷多解
    • r<m,r=nr<m,r=n,高又瘦型,Ax=bA\mathbf{x}=\mathbf{b} 有一个解或无解
    • r<m,r<nr<m,r<n,行和列都不满秩,Ax=bA\mathbf{x}=\mathbf{b} 有无穷多解或无解

一组向量 v1,⋯ ,vn\mathbf{v_1,\cdots,v_n} 线性无关,当且仅当 x1v1+x2v2+⋯+xnvn=0x_1\mathbf{v_1}+x_2\mathbf{v_2}+\cdots+x_n\mathbf{v_n}=\mathbf{0} 中的 xx 全为零。

  • 一组向量的线性组合所构成的空间是这组向量所张成的空间,空间中线性无关且能张成这一空间的一组向量可以作为这一空间的基。
  • 所有基包含向量个数相同,我们把这个数称为该空间的维度,矩阵 AA 列向量所张成空间的维度等于矩阵的秩
  • 空间中每个向量表示为一组基线性组合是唯一的
  • 空间 ZZ 只包含零向量,这一空间的维度为 0,空集构成此空间的一组基
  • 对于空间 VV 和 WW 有 dim(V)+dim(W)=dim(V∩W)+dim(V+W)dim(V)+dim(W)=dim(V\cap W)+dim(V+W)

最小二乘法

求解Ax=bA\mathbf{x}=\mathbf{b}时经常会遇到无解的情况,这个时候我们就需要近似找到一个最小二乘解(也就是让误差最小的解),一般来说可以直接对 ∥Ax−b∥2\Vert A\mathbf{x-b}\Vert ^2 求导并令其等于 0 就可以求的最小二乘解(有最小的平方误差)

注:一般这里的 AA 的列向量需要线性无关,这样才能保证 ATAA^TA 是可逆的,否则有多个解。

特征值与特征向量

矩阵乘以向量,在功能上相当于把一个向量变换为另一个向量。一个矩阵的特征向量是这样一种特定的向量,它经过这种变换后方向不变(或正好相反),只发生长度上的伸缩,特征值则反映了特征向量的伸缩倍数(及方向)。

用公式表示为:

Ax=λx\mathbf{Ax}=\lambda \mathbf{x}

  • 满足上式的非零向量 x\mathbf{x} 称为矩阵 A\mathbf{A} 的特征向量
  • 数 λ\lambda 反应了伸缩的倍数及方向,称为与 x\mathbf{x} 对应的特征值

一些重要性质

设 λ1,λ2,⋯ ,λn\lambda_1,\lambda_2,\cdots,\lambda_n 是 n 阶矩阵 A\mathbf{A} 的 nn 个特征值,则:

  • λ1+λ2+⋯+λn=a11+a22+⋯+ann\lambda_1+\lambda_2+\cdots+\lambda_n=a_{11}+a_{22}+\cdots+a_{nn}
  • λ1λ2⋯λn=∣A∣\lambda_1\lambda_2\cdots\lambda_n=|\mathbf{A}|
  • 当对 AA 平方时特征向量不会发生改变,而特征值会被平方,另外拥有特殊性质的矩阵会有特殊的特征值与特征向量
  • 一般的消元或行变换不保持特征值
  • n 个特征值的乘积等于矩阵的行列式的值,n 个特征值的和等于矩阵的迹,矩阵的迹是矩阵对角线元素之和

特征向量之间的关系:

  • 矩阵 A\mathbf{A} 的属于不同特征值的特征向量是线性无关的
  • 设 λ1,λ2,⋯ ,λn\lambda_1,\lambda_2,\cdots,\lambda_n 是矩阵 A\mathbf{A} 的 mm 个互异特征值,对应于 λi  (i=1,2,⋯ ,m)\lambda_i\;(i=1,2,\cdots,m) 的线性无关的特征向量有 rir_i 个,则→所有这些特征向量构成的向量组是线性无关的
  • 对称矩阵 A\mathbf{A} 的属于不同特征值的特征向量是两两正交的

特征值所对应的特征向量的个数:

  • 每个特征值都对应着至少一个特征向量
  • kk 重特征值对应的线性无关的特征向量的个数不超过 kk
  • 若 AA 为对称矩阵,则 AA 的每个特征值对应的线性无关特征向量的个数恰好等于该特征值的重数

奇异值分解 Singular Value Decomposition

奇异值分解在线性代数中非常重要,它通过左右两个正交变换把任意实矩阵化为对角形,有很多实际用途,如降维等。把秩为 rr 的 AA 通过 SVD 分解为 UΣVTU\Sigma V^T,Σ\Sigma 对角线上是奇异值 σ1≥σ2≥⋯σr>0\sigma_1 \ge \sigma_2 \ge \cdots \sigma_r > 0:

  • σ12,⋯ ,σr2\sigma_1^2,\cdots,\sigma_r^2 是 AATAA^T 或 ATAA^TA 特征值(两者非零特征值及其重数相同,零特征值的个数可能不同)
  • UU 的列是一组 AATAA^T 的标准正交特征向量,前 rr 列来源于 AA 的列空间,后 m−rm−r 列来源于 N(AT)N(A^T)
  • VV 的列是一组 ATAA^TA 的标准正交特征向量,前 rr 列是 AA 的行空间,后n−rn−r 列来源于 N(A)N(A)
  • Σ\Sigma 对角线上奇异值从大到小排列,奇异值越大对整个矩阵的重要性也越大
  • UU 和 VV 的列向量分别是输出空间和输入空间的坐标轴

对任意实数方阵 AA 根据 SVD 且 VTVV^TV 分解有

A=UΣVT=UVTVΣVT=(UVT)(VΣVT)=(Q)(H)A=U\Sigma V^T=UV^TV\Sigma V^T=(UV^T)(V\Sigma V^T)=(Q)(H)

其中 QQ 是正交阵,HH 是对称半正定的,如果 AA 可逆则 HH 是对称正定的。这个过程便是极分解,它把线性变换中旋转(在 QQ 中)与伸展(在 HH 中)分开

行列式的十个性质

不交换行、只做行倍加消元时,上三角矩阵对角元的乘积等于原方阵 AA 的行列式;若交换过行,还需计入符号变化。行列式,它包含大量关于 AA 的信息,一般记为 det  Adet\;A 或 ∣A∣|A|,我们需要了解关于行列式的十个性质:

  1. n×nn\times n 单位阵的行列式为 1
  2. 当两行交换时行列式符号会改变
  3. 行列式是分别关于每一行的线性函数
  4. 如果矩阵中两行相等则行列式等于 0
  5. 从一行中减去另外一行的若干倍整个行列式不变
  6. 如果矩阵中有一行都等于零则行列式等于 0
  7. 如果矩阵是对角矩阵则行列式等于对角元素的乘积
  8. 如果矩阵奇异则行列式等于 0,非奇异时行列式不为 0
  9. ∣AB∣=∣A∣  ∣B∣|AB|=|A|\;|B|
  10. ∣AT∣=∣A∣|A^T|=|A|

行列式是分别关于每一行的线性函数。例如:在其他行不变的情况下,当第一行数乘t时行列式数乘t,当第一行相加是行列式相加。

应用

  • 工程问题常常产生对称矩阵 KK,它通常是正定的,一般来源于 K=ATAK=A^TA 或 K=ATCAK=A^TCA,矩阵 CC 往往是对角的,包含一些正的物理常数
  • 图关联矩阵告诉我们 mm 条边与 nn 个结点的连接情况,关联矩阵的元素是 -1、0 或者 1。关联矩阵的秩与连通分量数有关,生成树有助于理解独立边与回路
  • 如果一个矩阵 AA 每个元素都是非负的且每一列的和都为 1,则它是一个马尔科夫矩阵
    • 如果 AA 是一个正马尔科夫矩阵( aij>0a_{ij}>0 ),则 λ1=1\lambda_1=1,其他特征值的模严格小于 1,与之对应的特征向量归一化为分量和等于 1 的概率向量后,是稳态分布
    • 马尔科夫矩阵 AA 的第二大特征值的绝对值 ∣λ2∣|\lambda_2| 控制收敛到稳态的收敛速度,非正马尔科夫矩阵中可能有 ∣λ2∣=1|\lambda_2|=1,则迭代可能不收敛到唯一稳态,即使稳态分布仍然存在
  • 假设现在有一代价向量 c\mathbf{c},线性规划是在满足 Ax=bA\mathbf{x}=\mathbf{b} 与 x≥0\mathbf{x} \ge 0 的情况下,使得 c⋅x\mathbf{c \cdot x}最小;上述问题的对偶问题是在满足 ATy≤cA^T\mathbf{y} \le \mathbf{c}情况下,使得 b⋅y\mathbf{b \cdot y}最大,在存在有限最优解时,两者最优值相等
  • 相关矩阵(Correlation Matrix)、均值(Mean)、方差(Variance)、协方差矩阵(Covariance Matrix)、主成分分析(Principal Component Analysis)

参考链接

相关文章