解方程
线性方程组:m∗n 的系数矩阵 A ,长度为 n 的解向量 x ,和长度为 m 的偏置为 b 。需要解 Ax=b 。
矩阵初等变换:
-
交换两行
-
某行倍加到另一行上
-
某行乘非 0 倍数
增广矩阵:把 A 和 b 拼到一起
阶梯型矩阵:从上到下,0 个数逐行严格增加,直到下方的全 0 行
最简阶梯型:在阶梯型的基础上,有两个条件:
-
每行第一个非 0 元是 1
-
每行第一个非 0 元所在的列,其他行全 0
(让我想到高斯-约旦消元法)
在最简阶梯型的基础上,可以调整列的位置关系。使得非全 0 行的个数为 r ,且对于 i≤r ,第 i 行的 0 只存在于长度为 i−1 的前缀。
然后讨论解的状态,先看最后的全 0 行,如果存在一行的偏置非 0 ,则无解。
否则一定有解。设 r 是非全 0 行的行数,如果 r=n ,通过回代可以确定唯一解。如果 r<n ,则解无限。
具体的,可以发现确定 xr+1,xr+2,…,xn 之后,x1∼r 都可以回代得到。我们称之为,有 n−r 个自由变量。
齐次线性方程组: 不存在无解情况,其余讨论基本相同。
我们的讨论都是在数域 F 上进行的,即可以进行加减乘除运算的代数结构。
向量空间
向量空间:包括向量的集合 A 和域 B ,它需要满足:
-
A 上的加法构成了阿贝尔群。
-
A 和 B 之间需要定义数乘运算 ⋅:B×A→A ,需要满足以下性质:
封闭性:∀b∈B,a∈A,ba∈A
结合律:∀b,b′∈B,a∈A ,有 bb′a=b(b′a) 。
分配律:∀b∈B,a,a′∈A ,有 b(a+a′)=ba+ba′ 。∀b,b′∈B,a∈A ,有 (b+b′)a=ba+b′a 。
单位元作用:∀a∈A,1B⋅a=a 。
一些记号:设系数矩阵为 A∈Fm∗n ,解向量为 x∈Fn ,我们要解 Ax=β 。
设 A 的每一列是 α1,α2,…,αn∈Fm ,
可以把 A 记作 (α1,α2,…,αn) 。
方程组可以看做 x1α1+x2α2+⋯+xnαn=β 。
若 x1=k1,x2=k2,…,xn=kn 为解,则 β=k1α1+k2α2+⋯+knαn
线性表述
β∈Fm 可由 α1,α2,…αs∈Fm 线性表述 ↔ β=x1α1+x2α2+⋯+xsαs 有解
线性子空间
对于线性空间 (A,B,+,⋅) ,若 A′⊆A 且满足以下条件:
∀α,β∈A′,αβ∈A′ 。
∀α∈A′,k∈B,kα∈A′ 。
则 A′ 是 A 的子空间。
例子:齐次方程的解空间就是一个子空间。我们称一般方程的解空间为仿射空间。
线性无关
一组向量 α1,α2,…,αn 线性相关,当且仅当 α1x1+⋯+αnxn=0 存在非 0 解。
不是线性相关,那就是线性无关。
注:α1,α2,…,αn 能表出 β 只是 α1,α2,…,αn,β 线性相关的充分条件。
例子:α1=(1,0,0),α2=(0,0,0),β=(0,1,0)
性质:
-
如果这些向量的一个子集线性相关,则所有向量都线性相关
-
若 s>n ,则 α1,α2,…,αs∈Fn 必线性相关
-
向量组相关,则其缩短组相关,向量组无关,则其延伸组无关
极大无关组
对于向量组 {α1,α2,…,αm} ,它的一个极大无关组 αi1,αi2,…,αir 满足:
-
αi1,αi2,…,αir 无关
-
∀1≤i≤m ,αi1,αi2,…,αir,αi 线性相关
条件 2 和 α1,α2,…,αm 均可被 αi1,αi2,…,αir 线性表出等价。
性质:含有非 0 的向量组,极大无关组必存在
向量组的等价关系
对于向量组 I1,I2 ,称 I1 能被 I2 线性表出,当且仅当 ∀α∈I1 ,α 能被 I2 线性表出。
I1,I2 能互相表出,则称 I1,I2 等价。显然这个关系满足自反性,传递性,对称性。
性质:一个向量组和它的任意极大无关组等价
性质:若 I1 能表出 I2 且 ∣I1∣<∣I2∣ ,则 I2 线性相关(逆否:若 I1 能表出 I2 且 I2 线性无关,则 ∣I1∣≥∣I2∣ )
性质:一个向量组的所有极大无关组包含的向量数目都是相等的。
向量组的秩
一个向量组的极大无关组包含的向量数目称为该向量组的秩。特例: r(0,0,…,0)=0 。
若两个向量组等价,则它们的秩相等。
性质:若 I1 能表出 I2 ,则 rank(I1)≤rank(I2) 。
矩阵的秩
设 A=(α1,…,αm) ,则 α1,…,αm 的秩即为 A 的列秩,其中 A∈Fn×m ,同理可以定义行秩。
性质:行秩等于列秩。因为初等变换不会改变行秩列秩,消成最简阶梯型后又易得行秩=列秩。
所以我们将行秩列秩统称为矩阵的秩。
满秩:r(Am,n)=min(m,n) 。若 m=n ,则称为满秩方阵。
我们可以通过化成最简阶梯型找到极大无关组。
向量组生成的子空间
对向量组 α1,…,αs∈Fn , {k1α1+⋯+ksαs∣k1,k2,…,ks∈F}⊆Fn 满足数乘,加法封闭,它是 Fn 的子空间。
我们将其称为该向量组生成的子空间,记作 L(α1,…,αs) 性质:它的极大无关组生成的子空间是相同的。
子空间的基
设 U 是 Kn 的一个子空间,若向量组 I=(α1,α2,…,αr) 满足以下条件:
-
I 线性无关
-
U 中每一个向量都能由 I 表出
则 I 是 U 的一个基。
性质:任意两个基都是等价的,我们把一个向量空间的基的大小记为 dimFU .
∀β∈U ,可以把 β 表示成 k1α1+⋯+krαr ,且表示方式唯一。
称 (k1,…,kr) 为 β 在基 α1,…,αr 下的坐标。
性质:U=L(α1,…,αr) 。显然 dimL(α1,…,αr)=rank(α1,…,αr)
性质:d 维空间中大小 >d 的向量组必相关
性质:d 维空间中任意 d 个无关的向量都构成一组基
性质:若 U⊆V 且 dimU=dimV ,则 U=V
方程解空间
现在我们来分析一下齐次方程 Ax=0 的解空间 U,令 A∈Fm×n,x∈Fn 。定理: dimU=n−r(A)
原因是你发现把 A 消元之后自由变量的个数就是 n−r(A) ,它们的任意一个取法就对应了 U 中的一个元素。
写出齐次方程的解空间:求出通解,找到 n−r 个基(取一个自由变量为 1 ,其他自由变量为 0),从而确定基
非齐次方程怎么分析呢?
对于非齐次方程 α1x1+α2x2+⋯+αnxn=β ,考虑 α 构成的矩阵 A 和增广矩阵 A′ 。
性质:有解 ↔ r(A)=r(A′) 。
定理:该方程的解集是 r0+U ,其中 r0 为任一特解,U 是 β=0 时的解空间。
行列式
首先我们阐释一下映射中的像和原像:对于 f:A→B ,S⊆A ,称 S 的像是 f(S) ,即 {f(x)∣x∈S}
对于 T⊆B ,称 T 的原像是 f−1(T) ,即 {x∣f(x)∈T}
定义线性函数 f:Fn→F 满足 f(kα+lβ)=kf(α)+lf(β)
然后我们称 f:Fn×Fn⋯×Fn→F (k 个 Fn)为 Fn 上的 k 重线性函数,若固定其他 k−1 个向量,剩下的 Fn→F 是线性的。
k=1 时即线性函数,k=2 时称为双线性函数。
例:设 fi,j(α,β)=αiβj ,那么 fi,j 是双线性函数。
我们记 Lk(Fn) 为 Fn 上的 k 重线性函数集,这个集合关于函数 +,⋅ 构成了向量空间,且 fi1,i2,…,ik 这 nk 个函数是它的一组基,
因为能发现 f(α1,…,αk)=i1,i2,…,ik≤n∑f(ϵi1,ϵi2,…,ϵik)j=1∏kαj,ij ,这个性质后面有用。
反对称: f∈Lk(Fn) 满足若 αi=αj(i=j) ,则 f(α1…αi…αj…αk)=0
其实这等价于 f(α1…αi…αj…αk)+f(α1…αj…αi…αk)=0
怎么证明呢?先证条件 1 → 条件 2。考察 f(…αi+αj…αi+αj…)=f(…αj…αi…)+f(…αi…αj…)+f(…αi…αi…)+f(…αj…αj…)
把等于 0 的部分代入即可。条件 2 → 条件 1 是容易的。
定义 D:Mn(F)→F 为 Fn 上的 n 阶行列式函数,当且仅当: 它是 n-重线性函数,它反对称,且 D(En)=1
显然 D 是唯一确定的,但我们尝试严谨的说明这个事情。
设 Mij 是去掉 ai,j 所在的行和列之后构成的 n−1 阶方阵,称 Aij=(−1)i+jDn−1(Mij) 为 aij 的代数余子式。
接下来归纳构造行列式函数,任取 1≤j≤n ,令 Dn(A)=i=1∑nai,jAi,j 可以证明它确实满足行列式函数的三个条件。
我们换一个方式写出来这个函数。考虑 f(α1,…,αn)=i1,i2,…,in≤n∑f(ϵi1,ϵi2,…,ϵin)j=1∏nαj,ij ,而如果 ij=ik 则根据反对称 f(ϵi1,ϵi2,…,ϵin)=0 。看来 {in} 一定是一个排列。而且 f(ϵi1,ϵi2,…,ϵin) 也容易计算出来,因为它可以从 {1,2,…,n} 开始不断交换相邻项得到,根据反对称性,我们直接看它的逆序数的奇偶性即可。
所以 f(α1,…,αn)=p∈Symn∑(−1)τ(p)i=1∏nαi,pi ,其中 τ(p) 表示逆序对数。
求解行列式
最朴素的方法是用高斯消元消成上三角矩阵。
然后对于一些特殊的行列式,我们可以进行一些手玩以进行消元。
另一个方法是用代数余子式。我们称 ∣A∣ 按第 i 行展开为 ∣A∣=j=1∑nai,jAi,j (对于一些特殊的稀疏矩阵很有效)
另一个 trick 是把原矩阵在最后添加一行一列,使得 ∀i≤n,ai,n+1=0 ,而 an+1,n+1=1 。
还有一个事情:det(α1,…,αk+β,…,αn)=det(α1,…,αk,…,αn)+det(α1,…,β,…,αn)
Laplace 展开
我们先定义 k 阶子式的代数余子式:
设这个子式下标是 i1,i2,…,ik,j1,j2,…,jk ,那么它的代数余子式就是 (−1)i1+i2+⋯+ik+j1+j2+⋯+jk 乘以余下的矩阵的行列式。
Laplace 展开(多行/多列展开):
考虑 A=(ai,j)n 中的 k 个行 i1<i2<⋯<ik ,这 k 个行对应了 t=(kn) 个 k 阶子式,我们记为 D1,D2,…,Dt ,对应的代数余子式为 A1,A2,…,At ,则 ∣A∣=i=1∑tDiAi
例:我们可以证明 AB0C=∣A∣⋅∣C∣ ,其中 A,C 都是方阵。理由就是设 A 的行数为 n ,对前 n 行展开即可。
范德蒙德行列式
设 D(a1,a2,…,an) 是满足 Ai,j=aij−1 的矩阵的行列式。
考虑以下消元:从第 n−1 列到第 1 列 ,依次把第 i 行乘上 −a1 加到第 i+1 行上。那除了 a1,1 第 1 列变成全 0 ,而 ∀i≥2,j≥2 ,ai,j′=aij−a1aij−1=ai,hj−1(ai−a1) 。
于是按第 1 列展开,并对每一行提取公因子 ai−a1 ,可得 D(a1,a2,…,an)i=2∏n(ai−a1)D(a2,…,an)
于是有 D(a1,a2,…,an)=1≤i<j≤n∏(aj−ai) 。
克莱姆法则
考虑方程 x1α1+x2α2+⋯+xnαn=β ,矩阵 A=(α1,α2,…,αn)∈Fn×n ,则方程组有唯一解 ↔det(A)=0↔rank(A)=n ,且这个解为 xi=∣A∣∣Ai∣ ,其中 Ai=(α1,…,αi−1,β,αi+1,…,αn) 。
这个东西是能直接解出来的,考虑 det(Ai)=det(α1,…,αi−1,∑xjαj,αi+1,…,αn)=j∑xjdet(α1,…,αi−1,αj,αi+1,…,αn)=xidet(A) 。于是 xi=∣A∣∣Ai∣ 。
这里可以再讨论一下行列式和秩的联系。
引理:若 A 有一个 k 阶子式非 0 ,则 rank(A)≥k 。
定理:r(A)=k↔ 存在一个非 0 的 k 阶子式且所有 k+1 阶子式皆为 0 。
一个记号:A(i1,…,ikj1,…,jk) 表示 A 的一个 k 阶子式
矩阵运算
加法,数乘,零元,负元,乘法皆显然
还可以对矩阵做分块,比如写成行/列向量的拼接,这样往往方便我们分析乘法的性质。比如说有 α1⋮αnB=α1B⋮αnB 。
性质:r(A+B)≤r(A)+r(B),r(AB)≤min(r(A),r(B))。若 An∗mBm∗p=0 ,则 r(A)+r(B)≤m。r(ATA)=r(AAT)=r(A) 。
我们来证为何 r(AAT)=r(A) ,只需要证 AATX=0 和 AX=0 同解。
一个方向显然。另一个方向:AATX=0→XTAATX=0→∣∣ATX∣∣2=0→ATX=0
同理还有 r(AATA)=r(A)
一个趣题:ATAx=ATb 必有解
即证 r(ATA)=r(ATA,ATb)
有 r(ATA)≤r(ATA,ATb)
另一方面,$$
向量 α1,α2,…,αn 能表出 β1,β2,…,βm 当且仅当存在矩阵 Xn∗m 使得 (α1,α2,…,αn)X=(β1,β2,…,βm) 。因为 βj=i∑αiXi,j 。
观察:对矩阵的行初等变换全部可以看做左乘了一个方阵,同理列变换是右乘一个方阵。
第一类变换:交换两行 第二类变换:一行乘 k 倍 第三类变换:一行乘 k 倍加到另一行
只用第三类变换就能把矩阵消成:一个子矩阵是 r∗r 的对角矩阵,其余位置全 0 。而且第三类变换不改变矩阵行列式。
这样就能证明 ∣A∣∣B∣=∣AB∣ :
设 A=x1x2…xpDy1y2…yq 。则 ∣AB∣=∣x1x2…xpDy1y2…yqB∣=∣Dy1y2…yqB∣ 。注意到对角矩阵乘上 y1y2…yqB 其实是在做第二类变换,于是它就等于 ∣D∣⋅∣y1y2…yqB∣=∣D∣⋅∣B∣=∣A∣∣B∣ 。
现在考虑矩阵的逆 A−1 。我们有 A 可逆当且仅当 ∣A∣=0 。且逆元唯一:如果 B,C 都是 A 的逆,那么 B=BE=BAC=(BA)C=C 。
A−1 怎么计算:考虑伴随矩阵 A∗ 满足 Ai,j∗=Aj,i ,其中 Ai,j 表示代数余子式。则根据行列式的展开/异行展开,可得 A∗A=AA∗=∣A∣I ,于是 A−1=∣A∣A∗ 。
更高效的方法:对 (AI) 做行初等变换得到 (IB) ,有 B=A−1 ,因为初等变换可以看做乘初等矩阵。
性质:(AB)−1=B−1A−1