Skip to content

线性代数 ​

线性代数是机器学习和深度学习的数学基础。本页按照概念的依赖关系整理基础知识,而不是按照题目出现的顺序堆叠结论。

主线是:

  1. 向量与运算;
  2. 向量空间、子空间、基与维度;
  3. 基坐标与坐标变换;
  4. 矩阵、初等变换与秩;
  5. 向量组与线性方程组;
  6. 行列式、逆矩阵与可逆性;
  7. 特征值、特征向量与对角化;
  8. 二次型与正交变换。

公式书写约定 ​

本项目已启用 MathJax。独立公式统一使用成对的双美元符号,行内公式使用成对的单美元符号。方括号本身只是普通 Markdown 文本,不能作为数学公式的定界符。

例如,L1 范数应写成:

‖x‖1=∑i=1n|xi|

而不是把公式直接放在普通的方括号中。

一、向量基础 ​

1.1 向量与坐标 ​

在列向量约定下,n 维向量写成:

x=[x1x2⋮xn]∈Rn

标准基为:

e1=[10⋮0],…,en=[00⋮1]

任意向量都可以写成:

x=x1e1+⋯+xnen

这里的坐标数字依赖于所选基。同一个几何向量换一组基后,向量本身不变,但坐标表示可能改变。

1.2 范数 ​

范数用来衡量向量的大小。常见范数有 L1、L2 和无穷范数。

L1 范数 ​

对向量 x=(x1,…,xn):

‖x‖1=∑i=1n|xi|

计算方法是先对每个分量取绝对值,再求和。例如:

x=(−3,4,−2)‖x‖1=|−3|+|4|+|−2|=9

L2 范数 ​

‖x‖2=∑i=1nxi2

L2 范数就是通常所说的欧氏长度。

无穷范数 ​

‖x‖∞=max1≤i≤n|xi|

L1 正则化中的 λ‖w‖1 是将 L1 范数作为惩罚项加入目标函数,通常会促进参数稀疏;它和单纯计算 L1 范数是两个不同层次的问题。

1.3 点积 ​

对两个同维向量 a=(a1,…,an) 和 b=(b1,…,bn),标准欧氏点积为:

a⋅b=∑i=1naibi

点积的结果是标量,满足双线性和对称性:

a⋅(b+c)=a⋅b+a⋅c(a+b)⋅c=a⋅c+b⋅c(λa)⋅b=λ(a⋅b)a⋅b=b⋅a

零向量与任意向量的点积恒为零:

0⋅a=0

点积还可以表示夹角:

a⋅b=‖a‖2‖b‖2cos⁡θ

当两个非零向量满足 a⋅b=0 时,它们正交。

柯西–施瓦茨不等式 ​

|a⋅b|≤‖a‖2‖b‖2

右侧是两个 L2 范数的乘积,不是范数之和。等号成立的典型条件是两个非零向量线性相关。

1.4 叉积 ​

标准叉积是 R3 中两个向量的运算。设:

u=[u1u2u3],v=[v1v2v3]

则:

u×v=[u2v3−u3v2u3v1−u1v3u1v2−u2v1]

也可以用行列式形式记忆:

u×v=|ijku1u2u3v1v2v3|

例如:

u=[1−23],v=[40−1]

则:

u×v=[(−2)(−1)−3⋅03⋅4−1⋅(−1)1⋅0−(−2)⋅4]=[2138]

叉积的主要性质:

  • u×v 同时垂直于 u 和 v;
  • ‖u×v‖2=‖u‖2‖v‖2sin⁡θ,等于平行四边形面积;
  • 三角形面积为 12‖u×v‖2;
  • 满足反交换律 v×u=−(u×v),交换顺序会改变方向;
  • u×v=0 当且仅当两个向量线性相关;
  • 对两个输入分别线性,但一般不满足结合律。

方向使用右手定则判断。叉积常用于求平面法向量、三角形面积、力矩 τ=r×F、角动量 L=r×p,以及三维图形中的表面法线、光照方向和碰撞方向。

叉积是三维空间中的专门运算,不能把三维叉积公式直接套到普通高维机器学习特征向量上;高维场景通常使用点积、范数、矩阵乘法或外积。

1.5 张量阶数与指标收缩 ​

张量可以用多个指标表示。指标的个数称为张量的阶数:标量是 0 阶张量,向量是 1 阶张量,矩阵是 2 阶张量,Tijk 则是 3 阶张量。这里的“阶数”不要和矩阵的秩混淆。

张量收缩是指让两个指标配对,并对这个配对指标求和。被求和的指标称为哑指标,最终仍然出现在结果中的指标称为自由指标。每收缩一对指标,张量阶数减少 2:

收缩一对指标:张量阶数减少 2

例:收缩三阶张量的第 1 个和第 3 个指标 ​

设有三阶张量:

Tijk

对第 1 个指标 i 和第 3 个指标 k 做收缩,就是令 k=i,并对 i 求和:

Sj=∑iTiji

此时 i 是哑指标,已经被求和消去;k 与 i 配对后也不再是独立指标;只有 j 是自由指标。因此结果为 1 阶张量,也就是向量:

Tijk→第 1、3 个指标收缩Sj=∑iTiji

从阶数上也可以直接判断:

3−2=1

如果 i,j,k∈{1,2},则:

S1=T111+T212S2=T121+T222

所以:

S=[S1S2]

确实是一个向量。若题目选项中把结果的阶数列为 1 阶张量或向量,则应选择对应选项。

矩阵迹是张量收缩的特例 ​

对于二阶张量(矩阵)Aij,收缩两个指标得到:

tr(A)=∑iAii

两个指标都被求和后不再有自由指标,因此结果是 0 阶张量,也就是标量:

矩阵的 Trace 本质上是二阶张量的一次指标收缩

在爱因斯坦求和约定或 einsum 一类表达中,重复出现并参与求和的指标就是收缩指标;没有被求和、保留在结果下标中的指标就是自由指标。判断张量收缩题时,先数原始指标,再标出被求和的指标,最后数剩余的自由指标。

二、向量空间、子空间与基 ​

2.1 线性组合与张成 ​

向量 v 是 v1,…,vk 的线性组合,指存在标量 c1,…,ck,使:

v=c1v1+⋯+ckvk

所有这样的线性组合构成的集合称为张成空间:

span(v1,…,vk)

张成空间表示这组向量能够覆盖的全部方向。

2.2 子空间 ​

设 W 是 Rn 的子集。要判断 W 是否为子空间,需要同时满足:

  1. 包含零向量:0∈W;
  2. 对加法封闭:任意 u,v∈W,都有 u+v∈W;
  3. 对数乘封闭:任意 u∈W、λ∈R,都有 λu∈W。

实战中先检查零向量:若 0∉W,立即可以判定它不是子空间;包含零向量只是必要条件,仍要检查后两个封闭性条件。

也可以把后两个条件合并成线性组合判定:

u,v∈W, α,β∈R⟹αu+βv∈W

例如:

W={(x,y)∈R2∣x+y=0}

是子空间,因为零向量满足条件,向量相加或数乘后仍然满足坐标和为 0。

而:

S={(x,y)∈R2∣x+y=1}

不是子空间,因为 (0,0)∉S。这类等式右侧为非零常数的集合通常是仿射集合,而不是过原点的子空间。

2.3 线性相关与线性无关 ​

向量组 v1,…,vk 线性相关,当且仅当存在一组不全为 0 的系数,使:

c1v1+⋯+ckvk=0

如果只有所有系数都为 0 才能得到零向量,则向量组线性无关。

常用判断:

  • 向量组包含零向量时,一定线性相关;
  • 在 Rn 中,超过 n 个向量一定线性相关;
  • 若一个向量可以由其余向量线性表示,则向量组存在冗余;
  • 线性无关描述“没有冗余”,张成描述“覆盖范围”,二者不是同一个条件。

2.4 基与维度 ​

向量空间 V 的一组基必须同时满足:

  1. 线性无关;
  2. 张成整个空间。

因此:

基=线性无关+张成整个空间

零向量不能属于任何基。若向量组包含 0,就有:

1⋅0+0⋅v2+⋯+0⋅vk=0

存在不全为 0 的系数使线性组合为零,所以该向量组线性相关。

有限维向量空间的维度是任意一组基中向量的个数:

dim⁡V=一组基中向量的个数

由于 Rn 的标准基有 n 个向量:

dim⁡(Rn)=n

基的选择不唯一,但同一个有限维空间的所有基包含相同数量的向量。

2.5 子空间的和、交集与维数 ​

两个子空间的交集 S∩T 表示同时属于 S 和 T 的向量组成的集合:

S∩T={v∣v∈S 且 v∈T}

交集仍然是一个子空间。与之对应,子空间的和定义为:

S+T={s+t∣s∈S, t∈T}

有限维子空间满足维数公式:

dim⁡(S+T)=dim⁡S+dim⁡T−dim⁡(S∩T)

由于 S+T 是环境空间的子空间,因此可以得到常用下界:

dim⁡(S∩T)≥dim⁡S+dim⁡T−dim⁡(环境空间)

例:判断 R3 中两个子空间交集的维数 ​

设:

S=span{[223],[856]}T=span{[10−1],[222]}

每组中的两个向量都不是倍数关系,因此:

dim⁡S=dim⁡T=2

它们都是 R3 中经过原点的二维平面。又因为 S+T⊆R3,所以:

2+2−dim⁡(S∩T)=dim⁡(S+T)≤3

从而:

dim⁡(S∩T)≥1

因此交集不可能只有零向量。

但仅凭这个不等式还不能直接断定交集维数就是 1,因为它也可能是 2。若 dim⁡(S∩T)=2,由于 S∩T⊆S 且 dim⁡S=2,就必须有 S∩T=S;同理还会有 S∩T=T,即 S=T。

本题中两个平面确实不同。例如,T 的两个生成向量的叉积为:

[10−1]×[222]=[2−42]

因此 T 的平面方程可以写成:

x−2y+z=0

但 S 的第一个生成向量不满足该方程:

2−2⋅2+3=1≠0

所以:

[223]∉T,S≠T

接着找一个同时属于 S 和 T 的非零向量。对 S 的生成向量:

8[223]−2[856]=[0612]

对 T 的生成向量:

−6[10−1]+3[222]=[0612]

所以 (0,6,12)T 同时属于 S 和 T,其方向可以化为 (0,1,2)T。结合前面已经得到的下界,以及 S≠T 说明交集不能是二维平面,最终:

S∩T=span{[012]}

因此:

dim⁡(S∩T)=1

几何上,在 R3 中,两个不同的过原点二维平面必定交于一条过原点的直线。这里的“不同”很重要:如果两个平面完全重合,交集维数就是 2。

三、基坐标与坐标变换 ​

3.1 基坐标不等于标准坐标 ​

设 E 是标准基,B=(b1,b2,b3) 是另一组基:

b1=[101],b2=[011],b3=[110]

若:

[v]B=[2−13]

它表示:

v=2b1−b2+3b3

不是说 v 的标准坐标就是 (2,−1,3)T。

3.2 过渡矩阵 ​

把 B 的基向量用标准基坐标表示,并按列排列:

PB→E=[b1 b2 b3]=[101011110]

于是:

[v]E=PB→E[v]B

本题中:

[v]E=[101011110][2−13]=[521]

所以:

[v]E=[521]

过渡矩阵的第三列就是 b3 在标准基下的坐标:

[b3]E=[110]

反方向的过渡矩阵为:

PE→B=PB→E−1

不同教材对“过渡矩阵”的箭头命名可能相反,所以做题时首先写清楚矩阵的作用方向。本题中:

det(PB→E)=−2≠0

因此这三个向量确实构成一组基。

3.3 为什么基向量按列排列 ​

若向量在基 B 下的坐标为:

[v]B=[c1c2⋮cn]

基矩阵按列排列:

P=[b1 b2 ⋯ bn]

矩阵乘法正好给出:

P[v]B=c1b1+c2b2+⋯+cnbn

因此 P 实现的是“新坐标到旧坐标”的转换。

同理,若线性变换 T 在标准基下的矩阵为 A,则:

A=[T(e1) T(e2) ⋯ T(en)]

矩阵的第 j 列就是 T(ej) 的坐标。对任意列坐标 x:

Ax=x1T(e1)+⋯+xnT(en)

3.4 线性变换的换基公式 ​

设:

T:Rn→Rm

在旧坐标系下的矩阵为 A。定义域的新基矩阵为 P,值域的新基矩阵为 Q。输入的新坐标为 x′,输出的新坐标为 y′。

输入端:

x=Px′

经过原线性变换:

y=Ax=APx′

输出端满足:

y=Qy′

所以:

y′=Q−1y=Q−1APx′

因此:

A′=Q−1AP

坐标流程是:

x′⟶x⟶y⟶y′

对应矩阵依次为 P、A、Q−1,按作用顺序从右向左相乘。

如果定义域和值域使用同一个新基,即 P=Q,公式变成相似变换:

A′=P−1AP

3.5 非正交基下的点积 ​

在标准正交基下:

v⋅w=[v]ET[w]E

但在一般基 B 下,不能直接把基坐标做普通点积。若:

P=[b1 ⋯ bn]

则:

v⋅w=(P[v]B)T(P[w]B)=[v]BTPTP[w]B

记:

GB=PTP

GB 称为基 B 下的 Gram 矩阵,满足:

(GB)ij=bi⋅bj

因此一般公式是:

v⋅w=[v]BTGB[w]B

只有当 B 是正交归一基时,才有 GB=I,此时才能直接计算:

v⋅w=[v]BT[w]B

若基只正交但没有单位化,GB 是对角矩阵,仍不能无条件地直接相乘。

3.6 线性变换的矩阵表示 ​

设 T:V→W 是线性变换,定义域使用有序基 B=(b1,…,bn),值域使用有序基 C。矩阵表示的第 j 列,就是 T 作用在第 j 个定义域基向量后所得结果在值域基 C 下的坐标:

[T]C←B=[[T(b1)]C[T(b2)]C⋯[T(bn)]C]

原因是,若输入向量的 B 坐标为 [v]B,则:

[T(v)]C=[T]C←B[v]B

矩阵乘法正是把输入坐标的各个系数,分别乘到 T(b1),…,T(bn) 的坐标上再相加。因此,每个像向量的坐标必须作为一整列放入矩阵,而不是作为一行。

若定义域和值域使用同一个基 B,通常简写为:

[T]B=[[T(b1)]B⋯[T(bn)]B]

例:多项式空间中的线性变换 ​

给定有序基

B=(1,x,x2)

以及线性变换

T(p(x))=p′(x)+2∫0xp(t)dt

依次把基向量 1,x,x2 代入 T。

对第一个基向量:

T(1)=1′+2∫0x1dt=0+2x=2x

所以:

[T(1)]B=[020]

对第二个基向量:

T(x)=x′+2∫0xtdt=1+2⋅x22=1+x2

注意前面的系数 2 不能漏掉,它与积分产生的 12 抵消。因此:

[T(x)]B=[101]

对第三个基向量:

T(x2)=(x2)′+2∫0xt2dt=2x+23x3

题目规定 x3=0,所以:

T(x2)=2x

从而:

[T(x2)]B=[020]

把三个坐标列向量按基的顺序拼接:

B=[[T(1)]B[T(x)]B[T(x2)]B]=[010202010]

这里的 x3=0 是题目给定的代数规则,并不是通常多项式中的恒等式。在普通多项式空间中,x3≠0,此时:

T(x2)=2x+23x3

不属于 span(1,x,x2),因此 T 不能看作这个三维空间到自身的线性变换,也就不能直接得到上面的 3×3 矩阵。遇到类似题目时,要先确认题目是否给出了截断、商空间或其他使 x3 被视为零的规则。

这类题的固定套路是:

  1. 确认定义域和值域的有序基,以及基向量的排列顺序;
  2. 依次计算 T(b1),…,T(bn);
  3. 将每个结果表示成值域基下的坐标;
  4. 按顺序把这些坐标作为矩阵的列。

3.7 像空间、核空间与秩-零度定理 ​

把线性变换 T:V→W 想成“输入向量经过变换得到输出向量”的机器,可以用两个空间描述它:

像空间是所有可能输出的集合:

Im(T)={T(v)∣v∈V}

它是值域 W 的子空间,所以:

Im(T)⊆W,dim⁡Im(T)≤dim⁡W

核空间是所有被变换为零向量的输入的集合:

ker⁡(T)={v∈V∣T(v)=0}

它是定义域 V 的子空间,所以:

ker⁡(T)⊆V

最容易混淆的一点是:核空间看的是“哪些输入会变成零”,像空间看的是“能够得到哪些输出”。例如:

T:R3→R2,T(x,y,z)=(x,y)

对任意 (a,b)∈R2,取输入 (a,b,0) 就有:

T(a,b,0)=(a,b)

因此:

Im(T)=R2

而 T(x,y,z)=(0,0) 当且仅当 x=y=0,z 可以任意取值,所以:

ker⁡(T)={(0,0,z)∣z∈R}=span{[001]}

这是 R3 中一条经过原点的直线。

秩-零度定理 ​

对有限维空间中的线性变换 T:V→W,有:

dim⁡ker⁡(T)+dim⁡Im(T)=dim⁡V

其中 dim⁡ker⁡(T) 称为零度,dim⁡Im(T) 就是变换的秩。定理中的右侧是定义域的维度,而不是值域的维度。

特别地,如果:

T:R3→R2

因为像空间是 R2 的子空间,所以:

dim⁡Im(T)≤2

从而:

dim⁡ker⁡(T)=3−dim⁡Im(T)≥1

因此核空间至少是一维,必然包含一条经过原点的直线。若像空间维度为 2,核空间维度恰好为 1;若像空间维度更小,核空间的维度会更大。

例:由两个基向量的像判断像空间和核空间维数 ​

若已知:

T(e1)=[21],T(e2)=[−13]

考察这两个输出向量是否线性无关:

det[2−113]=6+1=7≠0

所以 T(e1),T(e2) 线性无关,并且已经张成 R2。由于它们属于像空间,而像空间本身又包含于 R2,因此:

Im(T)=R2

于是:

dim⁡ker⁡(T)=3−2=1

所以核空间恰好是一条经过原点的直线。即使 T(e3) 未知,也不影响像空间的判断和核空间维数的判断;但要写出这条直线的具体方向,通常还需要知道 T(e3)。

矩阵语言 ​

若 A 是线性变换 T:Rn→Rm 在标准基下的矩阵,则:

Im(T)=Col(A)ker⁡(T)=Null(A)={x∈Rn∣Ax=0}

因此秩-零度定理也写成:

rank(A)+nullity(A)=n

这里 n 是矩阵的列数,也就是线性变换定义域的维度。

四、矩阵、初等变换与秩 ​

4.1 矩阵的基本表示 ​

一个 m×n 矩阵写成:

A=[a11⋯a1n⋮⋮am1⋯amn]

它有 m 行、n 列,也可以看成从 Rn 到 Rm 的线性变换。

矩阵的列向量构成列空间:

Col(A)

矩阵的行向量构成行空间:

Row(A)

4.2 初等行变换 ​

三类初等行变换是:

  1. 交换两行:Ri↔Rj;
  2. 某行乘以非零常数:Ri←cRi,其中 c≠0;
  3. 某行加上另一行的倍数:Ri←Ri+cRj。

这些变换都可逆,因此不改变矩阵的秩。对增广矩阵进行这些变换时,也不改变对应线性方程组的解集。

4.3 行阶梯形与行最简形 ​

行阶梯形矩阵满足:

  • 所有零行位于非零行下方;
  • 下一行的主元严格位于上一行主元的右侧;
  • 每个主元下方的元素为 0。

行最简形矩阵还需要满足:

  • 每个主元都是 1;
  • 每个主元所在列除主元外其余元素都是 0。

实际消元时可以分为两阶段:先化为行阶梯形,再把主元化为 1 并消去主元上方的元素。

4.4 矩阵的秩 ​

矩阵 A 的秩可以通过消元得到:

  1. 将 A 化为行阶梯形;
  2. 统计主元个数,或统计非零行数;
  3. 该数量就是 rank(A)。

若 A 是 m×n 矩阵,则:

0≤rank(A)≤min(m,n)

4.5 行秩等于列秩 ​

对任意矩阵:

rankrow(A)=rankcol(A)=rank(A)

也就是:

dim⁡(Row(A))=dim⁡(Col(A))=rank(A)

理解方式如下:将 A 通过可逆初等行变换化为行阶梯形矩阵 R。如果 R 有 r 个主元,那么 R 的非零行有 r 个且线性无关,行秩是 r;R 的主元列有 r 个且线性无关,其余列可以由主元列表示,列秩也是 r。初等行变换不会改变列之间的线性依赖关系,所以原矩阵 A 的列秩同样为 r。

因此实际做题时不需要分别计算行秩和列秩,消元后数主元即可。主元列的位置可以用来确定原矩阵的极大线性无关列组,但最终选取的向量要回到原矩阵中取得。

五、向量组的秩与线性关系 ​

5.1 向量组的秩 ​

设向量组为 α1,…,αp,每个向量有 n 个分量。把它们按列组成矩阵:

A=[α1 α2 ⋯ αp]

则向量组的秩就是矩阵 A 的秩:

rank(α1,…,αp)=rank(A)

本质上,向量组的秩就是其中最多能选出的线性无关向量个数。

5.2 极大线性无关组 ​

求一个向量组的极大线性无关组:

  1. 将向量按列组成矩阵;
  2. 对矩阵做行变换;
  3. 找出行阶梯形中的主元列位置;
  4. 回到原矩阵,取这些位置对应的原列向量。

极大线性无关组中向量的个数等于向量组的秩。行变换后的列向量通常不是原向量,不能直接把它们作为答案。

代表例题:从四个向量中找极大线性无关组 ​

给定

α1=[1114],α2=[2135]α3=[1−13−2],α4=[3156]

先考察 α1,α2。两个非零向量不是倍数关系,因此线性无关:

{α1,α2} 线性无关

再检查其余向量是否能由它们表示:

−3α1+2α2=−3[1114]+2[2135]=[1−13−2]=α3

所以

α3=−3α1+2α2

同理,

2α2−α1=2[2135]−[1114]=[3156]=α4

因此 α3,α4 都没有带来新的独立方向,四个向量都可以由 α1,α2 表示。于是:

{α1,α2} 是一个极大线性无关组

并且

rank(α1,α2,α3,α4)=2

这里“极大”不是指向量的大小,而是指不能再从原向量组中加入其他向量而保持线性无关。例如:

α3=−3α1+2α2⟹3α1−2α2+α3=0

所以 {α1,α2,α3} 已经线性相关,不能作为线性无关组。判断出某个向量能由已选向量表示后,就应当舍去该向量,继续检查剩余向量。

**易错点:**若题解写成 α4=α1+α2,可以直接验算发现

α1+α2=[3249]≠[3156]=α4

正确关系是

α4=2α2−α1

5.3 判断线性表示 ​

要判断 β 是否能由 α1,…,αp 线性表示,令:

A=[α1 ⋯ αp]

则:

β∈span(α1,…,αp)⟺rank(A)=rank([A∣β])

也可以直接求解:

Ac=β

若有解,解向量 c 的分量就是线性表示的系数;若加入 β 后秩增加,则 β 不能由原向量组线性表示。

六、线性方程组 ​

6.1 矩阵形式 ​

线性方程组写成:

Ax=b

其中 A 是系数矩阵,x 是未知数列向量,b 是常数列向量。将 b 拼接到 A 的右侧得到增广矩阵:

[A∣b]

6.2 用秩判断解的情况 ​

设未知数个数为 n:

rank(A)≠rank([A∣b])⟹无解rank(A)=rank([A∣b])=n⟹唯一解rank(A)=rank([A∣b])<n⟹无穷多解

无解的典型行是:

[00⋯0∣c],c≠0

它对应矛盾式 0=c。

6.3 求通解 ​

求通解的步骤:

  1. 写出增广矩阵;
  2. 化为行最简形;
  3. 找出主元变量和自由变量;
  4. 用自由变量表示主元变量;
  5. 令自由变量为参数,整理成向量形式。

例如,若化简后得到:

x1+x3=3,x2−2x3=−8,x4=6

令自由变量 x3=t,则:

x1=3−t,x2=−8+2t,x3=t,x4=6

向量形式为:

[x1x2x3x4]=[3−806]t[−1210]

自由变量的个数就是解的自由度。齐次方程组 Ax=0 始终有零解;若 rank(A)<n,则存在非零解。

七、行列式、逆矩阵与可逆性 ​

7.1 行列式 ​

行列式只对方阵定义。二阶行列式:

|abcd|=ad−bc

7.2 初等变换对行列式的影响 ​

行变换行列式变化
交换两行变为原来的相反数
某行乘以 c行列式乘以 c
某行加上另一行的倍数行列式不变

将矩阵化为上三角矩阵后,行列式等于主对角线元素之积:

det(A)=a11a22⋯ann

若消元中交换过行或对某行做过倍乘,必须把相应的符号和倍数变化记录下来。

常用性质:

  • 两行相同或成比例时,det(A)=0;
  • 某行或某列全为 0 时,det(A)=0;
  • det(AB)=det(A)det(B);
  • det(AT)=det(A)。

7.3 逆矩阵与可逆性 ​

对 n×n 方阵 A,若存在 A−1 使:

AA−1=A−1A=I

则 A 可逆。下列条件彼此等价:

A 可逆⟺det(A)≠0⟺rank(A)=n⟺A 的行最简形为 I⟺Ax=0 只有零解

7.4 Gauss–Jordan 求逆 ​

把 A 和单位矩阵拼接:

[A∣I]

对整个增广矩阵做行变换,直到左半部分变成单位矩阵:

[A∣I]⟶[I∣A−1]

右半部分就是逆矩阵。如果左半部分不能化为 I,则矩阵不可逆。

八、特征值、特征向量与对角化 ​

8.1 定义 ​

若存在非零向量 x 和标量 λ,满足:

Ax=λx,x≠0

则 λ 是 A 的特征值,x 是对应的特征向量。移项得到:

(A−λI)x=0

要存在非零解,必须有:

det(A−λI)=0

8.2 求特征值 ​

对 n×n 矩阵:

  1. 构造 A−λI,只对主对角线元素减去 λ;
  2. 计算 det(A−λI);
  3. 令特征多项式等于 0,解出 λ。

特征值按代数重数计算通常有 n 个,但不同特征值的个数可能少于 n。

8.3 求特征向量 ​

对每个不同的特征值 λ:

  1. 构造 (A−λI)x=0;
  2. 对系数矩阵做行化简;
  3. 求齐次方程组的通解;
  4. 通解中的参数不能全部为 0,所有非零解都是对应的特征向量。

对应特征值的全部特征向量连同零向量构成特征子空间:

Eλ=ker⁡(A−λI)

8.4 重根与可对角化 ​

特征值重复出现时,不能只看特征值的代数重数,还要看特征向量是否足够多。n×n 矩阵可对角化,当且仅当存在 n 个线性无关的特征向量。

若 p1,…,pn 是线性无关的特征向量,对应特征值为 λ1,…,λn,令:

P=[p1 p2 ⋯ pn],Λ=diag(λ1,…,λn)

则:

AP=PΛ

从而:

P−1AP=Λ

这里 P 的列必须是特征向量,列的顺序必须和 Λ 中特征值的顺序对应。

若 A 是实对称矩阵,则可以找到正交矩阵 Q,使:

QTAQ=Λ,Q−1=QT

这称为正交对角化。

九、二次型与正交变换 ​

9.1 二次型的矩阵表示 ​

二次型可以写成:

f(x)=xTAx

通常取 A 为对称矩阵。三元二次型展开为:

f(x1,x2,x3)=a11x12+a22x22+a33x32+2a12x1x2+2a13x1x3+2a23x2x3

读出矩阵时:

  • xi2 的系数直接放在 aii;
  • xixj 的系数要在 aij 和 aji 之间平分;
  • 对称位置满足 aij=aji。

例如:

f=2x12+2x22+3x32+2x1x2

对应矩阵为:

A=[210120003]

交叉项 2x1x2 的系数是 2,因此两个对称位置各放 1;若交叉项是 −2x1x2,两个位置各放 −1。

9.2 正交变换化标准形 ​

对于实对称矩阵 A,可以找到正交矩阵 Q 使:

QTAQ=Λ=diag(λ1,…,λn)

令:

x=Qy

则:

f(x)=xTAx=yTQTAQy=yTΛy=λ1y12+⋯+λnyn2

标准流程是:

  1. 从二次型写出对称矩阵 A;
  2. 求 A 的特征值和特征向量;
  3. 将特征向量单位化,组成正交矩阵 Q;
  4. 写出正交变换 x=Qy;
  5. 用特征值写出标准形。

9.3 正交变换保持的几何量 ​

若实方阵 Q 满足:

QTQ=I

则 Q 是正交矩阵,并且:

Q−1=QT

正交变换可以理解为对整个空间进行旋转或反射。它保持欧氏几何中的长度、内积、夹角和欧氏距离,但不保证保持每个坐标分量或所有范数。

内积与 L2 长度 ​

对任意向量 u,v:

⟨Qu,Qv⟩=(Qu)T(Qv)=uTQTQv=uTv=⟨u,v⟩

因此正交变换保持内积:

⟨Qu,Qv⟩=⟨u,v⟩

令 v=u,可以得到 L2 长度保持:

∥Qu∥22=(Qu)T(Qu)=uTQTQu=uTu=∥u∥22

所以:

∥Qu∥2=∥u∥2

欧氏距离与夹角 ​

两个向量之间的欧氏距离是差向量的 L2 长度。由线性性和长度保持性:

∥Qu−Qv∥2=∥Q(u−v)∥2=∥u−v∥2

因此:

∥Qu−Qv∥2=∥u−v∥2

对于非零向量,余弦相似度也保持不变:

cos⁡∠(Qu,Qv)=(Qu)T(Qv)∥Qu∥2∥Qv∥2=uTv∥u∥2∥v∥2=cos⁡∠(u,v)

所以正交变换保持向量之间的夹角和余弦相似度。

L1 范数一般不保持 ​

L1 范数依赖于向量在各坐标轴上的分量:

∥x∥1=∑i=1n|xi|

旋转会改变这些坐标分量,因此一般不能推出 ∥Qx∥1=∥x∥1。例如取二维的 45∘ 旋转矩阵:

Q=[12−121212],u=[10]

则:

∥u∥1=1

但:

Qu=[1212],∥Qu∥1=2

所以:

∥Qu∥1 一般不等于 ∥u∥1

注意“通常不保持”不是“任何正交矩阵都不保持”。坐标置换、坐标符号翻转等特殊正交矩阵仍然保持 L1 范数;不能对任意正交矩阵作此保证。

因此,遇到 QTQ=I 的判断题,可以记住:

保持:内积、L2 长度、欧氏距离、夹角、余弦相似度一般不保证保持:L1 范数和各个坐标分量

十、统一做题顺序 ​

遇到线性代数基础题,可以先根据题目对象定位:

  1. 看到基坐标:先确认坐标属于哪一组基,不能默认是标准坐标;
  2. 看到过渡矩阵:明确矩阵的转换方向,基向量通常按列排列;
  3. 看到点积:确认当前基是否正交归一;一般基要使用 Gram 矩阵;
  4. 看到叉积:确认是三维向量,并注意结果方向和输入顺序;
  5. 看到子空间:先检查零向量,再检查加法和数乘封闭;
  6. 看到矩阵秩:消元后数主元或非零行;
  7. 看到向量组:按列组成矩阵,用秩判断相关性和极大无关组;
  8. 看到线性表示:比较 rank(A) 与 rank([A∣β]);
  9. 看到方程组:比较系数矩阵和增广矩阵的秩;
  10. 看到逆矩阵:使用 [A∣I]⟶[I∣A−1];
  11. 看到特征值:解 det(A−λI)=0;
  12. 看到特征向量:解 (A−λI)x=0,但解不能取零向量;
  13. 看到二次型:交叉项系数平分到对称矩阵的两个位置;
  14. 看到正交矩阵:利用 QTQ=I 判断内积、L2 长度、距离和夹角是否保持,不要默认 L1 范数也保持。

必背结论 ​

基=线性无关+张成整个空间dim⁡(Rn)=nrank(A)=dim⁡(Row(A))=dim⁡(Col(A))[v]E=PB→E[v]B[T]C←B=Q−1APdet(A)≠0⟺A 可逆det(A−λI)=0P−1AP=Λ

正交矩阵还满足:

QTQ=I⟹∥Qx∥2=∥x∥2,⟨Qu,Qv⟩=⟨u,v⟩

这些结论分别对应空间结构、坐标转换、秩与独立性、方程组、可逆性、特征问题和二次型的主线。做题时先识别对象和坐标系,再选择对应定理或消元方法。

使用 Markdown 与 VitePress 构建