基础抽象代数
半群( semi-group \text{semi-group} semi-group)
对于非空集合 S S S 与二元运算 + + +,若 + + + 具有封闭性、结合律,则 ⟨ S , + ⟩ \langle S,+\rangle ⟨S,+⟩ 为半群。
群( g r o u p \rm group group)
若半群 ⟨ G , + ⟩ \langle G,+\rangle ⟨G,+⟩ 满足 + + + 具有单位元、逆元,则 ⟨ G , + ⟩ \langle G,+\rangle ⟨G,+⟩ 为群。简单群论入门。
阿贝尔群( Abelian group \text{Abelian group} Abelian group)
若群 ⟨ G , + ⟩ \langle G,+\rangle ⟨G,+⟩ 满足 + + + 具有交换律,则 ⟨ G , + ⟩ \langle G,+\rangle ⟨G,+⟩ 为阿贝尔群,又称交换群。
环( r i n g \rm ring ring 或 domain \text{domain} domain)
若阿贝尔群 ⟨ R , + ⟩ \langle R,+\rangle ⟨R,+⟩ 满足 ⟨ R , × ⟩ \langle R,\times\rangle ⟨R,×⟩ 为半群且 × \times × 对 + + + 有分配律,则 ⟨ R , + , × ⟩ \langle R,+,\times\rangle ⟨R,+,×⟩ 为环。
理想( ideal \text{ideal} ideal):若 I I I 是 R R R 的加法子群,且 I I I 满足 ∀ r ∈ R , r I ⊆ I \forall r\in R,\;rI\subseteq I ∀r∈R,rI⊆I,则 I I I 是 R R R 的左理想。类似可定义右理想。二者兼具,则称为双边理想。
素理想:若 R R R 的理想 I I I 满足 ∀ a b ∈ I , a ∈ I ∨ b ∈ I \forall ab\in I,\;a\in I\lor b\in I ∀ab∈I,a∈I∨b∈I,则 I I I 是 R R R 的素理想。可类比后文 素元。
商环:设 I I I 是 R R R 的理想,则 R R R 作为加法群有商群 R / I R/I R/I,定义其乘法 ( a + I ) ( b + I ) = a b + I (a{+}I)(b{+}I)=ab{+}I (a+I)(b+I)=ab+I,不难验证其构成环。
不难发现 R / I R/I R/I 是整环,当且仅当 I I I 是 R R R 的素理想。
幺环:存在乘法单位元(“幺元”)的环。
特征( characteristic \text{characteristic} characteristic):如果存在最小的正整数 n n n 使得 ∀ a ∈ R , n a = 0 \forall a\in R,\;na=0 ∀a∈R,na=0,则 n n n 是环 R R R 的特征。如果不存在这样的 n n n,认为 R R R 的特征是 0 0 0 。
对于幺环 R R R,其特征就是乘法幺元 1 1 1 的加法阶(若无穷大则特征为零)。
整环( integral domain \text{integral domain} integral domain):无零因子的交换幺环。
定理:有限整环都是域。
证明:对 ∀ x ∈ R ∖ { 0 } \forall x\in R\setminus\{0\} ∀x∈R∖{0},考虑 x R xR xR 即 { x a : a ∈ R } \{xa:a\in R\} {xa:a∈R} 。注意到 x a = x b ⇒ x ( a − b ) = 0 ⇒ a = b xa=xb\Rightarrow x(a{-}b)=0\Rightarrow a=b xa=xb⇒x(a−b)=0⇒a=b,故 ∣ x R ∣ = ∣ R ∣ ⇒ 1 ∈ x R |xR|=|R|\Rightarrow 1\in xR ∣xR∣=∣R∣⇒1∈xR 即 x x x 存在逆元。 ■ \blacksquare ■
整环的整除理论
作为 OIer \text{OIer} OIer,唯一看重的非交换环就是矩阵。矩阵需要整除吗?
因此下面的讨论都针对整环 R R R 。
基本定义
称 ε ∈ R \varepsilon\in R ε∈R 是单位( unit \text{unit} unit)当且仅当 ε \varepsilon ε 存在逆元素。
称 a , b a,b a,b 是相伴的( associated \text{associated} associated)当且仅当存在单位 ε \varepsilon ε 使得 a = ε b a=\varepsilon b a=εb 。
不难发现 a , b a,b a,b 相伴等价于 a ∣ b ∧ b ∣ a a\mid b\land b\mid a a∣b∧b∣a,因此在整除意义下,相伴就是等价关系。单位与幺元等价,这是其被称为 “单位” 的原因。
R R R 中不可逆非零元素 p p p 被称为素元,当且仅当不存在 a , b a,b a,b 使得 p ∣ a b p\mid ab p∣ab 且 p ∤ a p\nmid a p∤a 且 p ∤ b p\nmid b p∤b 。
——插一句嘴:首先 p R pR pR 是 R R R 的理想,而 p R pR pR 是素理想等价于 p p p 是素元。
R R R 中的不可逆非零元素 p p p 被称为不可约( irreducible \text{irreducible} irreducible)元素,当且仅当将其分解为两个元素的乘积 p = a b p=ab p=ab 时,不可能 a , b a,b a,b 都不是单位(即 p p p 只有平凡因子)。
定理:整环中的素元都是不可约元素。
证明:设 p = a b p=ab p=ab 为素元,不妨设 p ∣ a p\mid a p∣a 即 a = p c a=pc a=pc 。则有 p = a b = ( p c ) b ⇒ p ( 1 − c b ) = 0 ⇒ c b = 1 p=ab=(pc)b\Rightarrow p(1{-}cb)=0\Rightarrow cb=1 p=ab=(pc)b⇒p(1−cb)=0⇒cb=1 即 b b b 是单位。 ■ \blacksquare ■
最大公因子整环
对于不全为零的序列 a 1 , a 2 , … , a n ( n > 1 ) a_1,a_2,\dots,a_n\;(n>1) a1,a2,…,an(n>1),如果任意公因子 c c c 都有 c ∣ d c\mid d c∣d,则称 d d d 为最大公因子,记为 d = gcd { a 1 , a 2 , … , a n } d=\gcd\{a_1,a_2,\dots,a_n\} d=gcd{a1,a2,…,an} 。
整数环中的很多结论都可以直接迁移过来。
定理: c gcd ( a , b ) c\gcd(a,b) cgcd(a,b) 与 gcd ( a c , b c ) \gcd(ac,bc) gcd(ac,bc) 相伴。
证明:设 d = gcd ( a , b ) , q = gcd ( a c , b c ) d=\gcd(a,b),\;q=\gcd(ac,bc) d=gcd(a,b),q=gcd(ac,bc),则 c d ∣ c a ∧ c d ∣ c b ⇒ c d ∣ q cd\mid ca\land cd\mid cb\Rightarrow cd\mid q cd∣ca∧cd∣cb⇒cd∣q 。设 q = c d e q=cde q=cde,联立 q ∣ c a q\mid ca q∣ca 即 c a = x q = c d e x ⇒ ( d e x − a ) c = 0 ⇒ a = d e x ca=xq=cdex\Rightarrow(dex{-}a)c=0\Rightarrow a=dex ca=xq=cdex⇒(dex−a)c=0⇒a=dex 即 d e ∣ a de\mid a de∣a 。同理 d e ∣ b de\mid b de∣b,因此 d e ∣ d de\mid d de∣d 即 e e e 是单位,因此 q q q 与 c d cd cd 相伴。 ■ \blacksquare ■
定理: gcd ( a , b ) , gcd ( a , c ) \gcd(a,b),\gcd(a,c) gcd(a,b),gcd(a,c) 都是单位时, gcd ( a , b c ) \gcd(a,bc) gcd(a,bc) 是单位。
证明:用 ≊ \approxeq ≊ 表示相伴,则 gcd ( a , b c ) ≊ gcd ( gcd ( a , a c ) , b c ) ≊ gcd ( a , gcd ( a c , b c ) ) ≊ gcd ( a , c ) \gcd(a,bc)\approxeq\gcd(\gcd(a,ac),bc)\approxeq\gcd(a,\gcd(ac,bc))\approxeq\gcd(a,c) gcd(a,bc)≊gcd(gcd(a,ac),bc)≊gcd(a,gcd(ac,bc))≊gcd(a,c) 是单位,得证。 ■ \blacksquare ■
若 R R R 中任意两个非零元都存在最大公因子,则 R R R 被称为最大公因子整环。
定理:最大公因子整环中,不可约元素都是素元。
证明:设不可约元素 p ∣ a b p\mid ab p∣ab,则 gcd ( a , p ) ≊ gcd ( b , p ) ≊ 1 \gcd(a,p)\approxeq\gcd(b,p)\approxeq 1 gcd(a,p)≊gcd(b,p)≊1 会说明 gcd ( a b , p ) ≊ 1 \gcd(ab,p)\approxeq 1 gcd(ab,p)≊1 矛盾。不妨设 d = gcd ( a , p ) ≊̸ 1 d=\gcd(a,p)\not\approxeq 1 d=gcd(a,p)≊1,注意到 d ∣ p d\mid p d∣p 而 p p p 只有平凡因子,所以 d ≊ p d\approxeq p d≊p,即有 p ∣ a p\mid a p∣a 。 ■ \blacksquare ■
唯一分解整环( UFD \text{UFD} UFD)
认为整环 R R R 中元素 n n n 拥有唯一分解,当且仅当 n n n 可以被分解为 n = ∏ p i n=\prod p_i n=∏pi,且任何同种的分解 n = ∏ q i n=\prod q_i n=∏qi 满足:二者长度相同,且可以将 { q } \{q\} {q} 重排使得 p i , q i p_i,q_i pi,qi 相伴。
如果整环 R R R 中任意元素 n n n 满足,将其分解为若干素元(或不可约元)的乘积有唯一分解,则 R R R 是唯一分解整环( unique factorization domain \text{unique factorization domain} unique factorization domain)。
Remark. 在任意整环中,素元分解若存在即唯一,而不可约元素分解可能不唯一(但一定存在)。
定理:最大公因子整环都是唯一分解整环。
证明:在最大公因子整环上,不可约元素分解恰好构成素元分解。 ■ \blacksquare ■
欧几里得环( Euclidean Ring \text{Euclidean Ring} Euclidean Ring)
通俗解释:能够进行辗转相除的环。
严谨定义:若整环 R R R 存在映射 ϕ : R ↦ N \phi:R\mapsto\N ϕ:R↦N 使得 a = m b + r s.t. ϕ ( r ) < ϕ ( b ) a=mb+r\text{ s.t. }\phi(r)<\phi(b) a=mb+r s.t. ϕ(r)<ϕ(b) 对任意 a , b ∈ R , b ≠ 0 a,b\in R,\;b\ne 0 a,b∈R,b=0 都存在,则 R R R 是欧几里得环。
可以看出 ϕ \phi ϕ 是某种 范数。但是不是这样有什么关系呢?我们只需要知道:
定理:欧几里得环都是最大公因子整环。
域( f i e l d \rm field field)
若环 ⟨ F , + , × ⟩ \langle F,+,\times\rangle ⟨F,+,×⟩ 满足 ⟨ F ∖ { 0 } , × ⟩ \langle F\setminus\{0\},\times\rangle ⟨F∖{0},×⟩ 为阿贝尔群(其中 0 0 0 是 + + + 的单位元)则 ⟨ F , + , × ⟩ \langle F,+,\times\rangle ⟨F,+,×⟩ 为域。最常见的域是模质数 p p p 的伽罗瓦域 G F ( p ) \Bbb{GF}(p) GF(p) 。
线性空间
又称 向量空间 或矢量空间( vector space \text{vector space} vector space),因为其 维度 为 n n n 时,就与 n n n 维空间的向量集合是同构的。下面是详细的定义;但事实上将其理解为向量就很足够了。
具体而言,设 V V V 是一个非空集合, P P P 是一个域,若满足下列条件:
- 加法封闭性: ∀ α , β ∈ V , ( α + β ) ∈ V \forall\alpha,\beta\in V,\;(\alpha+\beta)\in V ∀α,β∈V,(α+β)∈V 。
- 纯量乘法(数量乘法)封闭性: ∀ k ∈ P , ∀ α ∈ V , ( k ⋅ α ) ∈ V \forall k\in P,\;\forall \alpha\in V,\;(k\cdot \alpha)\in V ∀k∈P,∀α∈V,(k⋅α)∈V 。习惯上也可简写为 k α k\alpha kα 。
- ( V , + ) (V,+) (V,+) 构成阿贝尔群(交换群);其单位元为零向量 0 → \overrightarrow{0} 0 。
- 对于 P P P 中乘法单位元 ϵ \epsilon ϵ,有 ∀ α ∈ V , ϵ α = α \forall\alpha\in V,\;\epsilon\alpha=\alpha ∀α∈V,ϵα=α 。
- 乘法结合律: ∀ k , l ∈ P , ∀ α ∈ V , k ( l α ) = ( k l ) α \forall k,l\in P,\;\forall\alpha\in V,\;k(l\alpha)=(kl)\alpha ∀k,l∈P,∀α∈V,k(lα)=(kl)α 。
- 乘法分配律: ∀ k , l ∈ P , ∀ α ∈ V , ( k + l ) α = ( k α ) + ( l α ) \forall k,l\in P,\;\forall\alpha\in V,\;(k+l)\alpha=(k\alpha)+(l\alpha) ∀k,l∈P,∀α∈V,(k+l)α=(kα)+(lα) 。
- 乘法分配律: ∀ k ∈ P , ∀ α , β ∈ V , k ( α + β ) = ( k α ) + ( k β ) \forall k\in P,\;\forall\alpha,\beta\in V,\;k(\alpha+\beta)=(k\alpha)+(k\beta) ∀k∈P,∀α,β∈V,k(α+β)=(kα)+(kβ) 。
则称 V V V 为域 P P P 上的一个线性空间。 P P P 称为线性空间的基域。
子空间( s u b s p a c e \rm subspace subspace)
若 W , V W,V W,V 是域 P P P 上的线性空间,且 W ⊆ V W\subseteq V W⊆V,则 W W W 是 V V V 的子线性空间,简称子空间。
加法(和空间)
若 A , B A,B A,B 是线性空间 V V V 的子空间,定义二者的和 A + B = { α + β ∣ α ∈ A , β ∈ B } A+B=\{\alpha+\beta\;|\;\alpha\in A,\;\beta\in B\} A+B={α+β∣α∈A,β∈B} 。
容易发现 ( A + B ) (A+B) (A+B) 仍然是线性空间 V V V 的子空间。
直和( direct sum \text{direct sum} direct sum)
当 A ∩ B = { 0 → } A\cap B=\{\overrightarrow{0}\} A∩B={0} 时,二者的和被称为直和(偶尔被称为笛卡尔和),记作 A ⊕ B A\oplus B A⊕B 。
可以发现 ∀ γ ∈ ( A ⊕ B ) \forall\gamma\in(A\oplus B) ∀γ∈(A⊕B),方程 γ = α + β ( α ∈ A , β ∈ B ) \gamma=\alpha+\beta\;(\alpha\in A,\;\beta\in B) γ=α+β(α∈A,β∈B) 有唯一解。
张成空间( s p a n \rm span span)
α ∈ V \alpha\in V α∈V,显然 { k α ∣ k ∈ P } \{k\alpha\;|\;k\in P\} {kα∣k∈P} 是子空间。记为 s p a n { α } span\{\alpha\} span{α} 。
递归地定义张成空间 s p a n { α 1 , α 2 , … , α k } = s p a n { α 1 , α 2 , … , α k − 1 } + s p a n { α k } ( k ⩾ 2 ) span\{\alpha_1,\alpha_2,\dots,\alpha_k\}=span\{\alpha_1,\alpha_2,\dots,\alpha_{k-1}\}+span\{\alpha_k\}\;(k\geqslant 2) span{α1,α2,…,αk}=span{α1,α2,…,αk−1}+span{αk}(k⩾2),这里的加法是和空间。
张成空间是 V V V 的子空间。
线性无关
称 α 1 , α 2 , … , α k \alpha_1,\alpha_2,\dots,\alpha_k α1,α2,…,αk 线性无关,当且仅当 ∀ i ∈ [ 1 , k ] , α i ∉ s p a n ( S ∖ { α i } ) \forall i\in[1,k],\;\alpha_i\notin span(S\setminus\{\alpha_i\}) ∀i∈[1,k],αi∈/span(S∖{αi}),其中 S = { α 1 , α 2 , … , α k } S=\{\alpha_1,\alpha_2,\dots,\alpha_k\} S={α1,α2,…,αk} 。
等价定义是,若存在非全零序列 λ 1 , λ 2 , … , λ k ∈ P , ∑ λ i α i = 0 → \lambda_1,\lambda_2,\dots,\lambda_k\in P,\;\sum\lambda_i\alpha_i=\overrightarrow{0} λ1,λ2,…,λk∈P,∑λiαi=0,则它们是线性相关的;反之为线性无关。
维度( dim \dim dim)
在线性空间 V V V 中,存在线性无关向量组 α 1 , α 2 , … , α k ∈ V ∖ { 0 → } \alpha_1,\alpha_2,\dots,\alpha_k\in V\setminus\{\overrightarrow{0}\} α1,α2,…,αk∈V∖{0},最大的 k k k 就是 V V V 的维度,记为 dim V = k \dim V=k dimV=k,此时的向量组 ⟨ α ⟩ \langle\alpha\rangle ⟨α⟩ 称为基底。基底可以有无穷多组。
等价定义: V = s p a n ( α 1 , α 2 , … , α k ) V=span(\alpha_1,\alpha_2,\dots,\alpha_k) V=span(α1,α2,…,αk),且 α 1 , α 2 , … , α k \alpha_1,\alpha_2,\dots,\alpha_k α1,α2,…,αk 线性无关。然而这个等价性的证明,不用克莱姆法则我不会证;而这就涉及到行列式了……
显然 dim ( A ⊕ B ) = dim A + dim B \dim(A\oplus B)=\dim A+\dim B dim(A⊕B)=dimA+dimB 。
* \color{red}{\text*} *除法(商空间)
这个好像不怎么有用……
定义 α + W = { α + β ∣ β ∈ W } ( α ∈ V ) \alpha+W=\{\alpha+\beta\;|\; \beta\in W\}\;(\alpha\in V) α+W={α+β∣β∈W}(α∈V),其中 W W W 是 V V V 的子空间。显然它得到的是一堆向量的集合。可是这集合并不是线性空间。类似陪集。
定义 V / W = { α + W : α ∈ V } V/W=\{\alpha+W:\alpha\in V\} V/W={α+W:α∈V} 。也就是 “向量集合” 的一个集族。它的含义就是,认为 ( α − β ) ∈ W (\alpha-\beta)\in W (α−β)∈W 的 α , β \alpha,\beta α,β 在一个 “等价类” 内,然后划分成若干等价类。类似陪集分解。
如果将子空间的加法推广到任意两个集合,那么我们会发现 V / W V/W V/W 是一个线性空间。因为 ( α + W ) + ( β + W ) = { α + β + ϕ + ψ : ϕ , ψ ∈ W } = ( α + β ) + W (\alpha+W)+(\beta+W)=\{\alpha+\beta+\phi+\psi:\phi,\psi\in W\}=(\alpha+\beta)+W (α+W)+(β+W)={α+β+ϕ+ψ:ϕ,ψ∈W}=(α+β)+W,标量乘法同理也可验证其符合定义。
然后我们有 dim ( V / W ) = dim V − dim W \dim(V/W)=\dim V-\dim W dim(V/W)=dimV−dimW 。这很简单,因为 V / W V/W V/W 的基底实际上是表示若干差值不属于 W W W 的向量的。形式化地,若 V / W V/W V/W 基底是 α i + W ( 1 ⩽ i ⩽ k ) \alpha_i+W\;(1\leqslant i\leqslant k) αi+W(1⩽i⩽k) 而 W W W 基底是 β i ( 1 ⩽ i ⩽ m ) \beta_i\;(1\leqslant i\leqslant m) βi(1⩽i⩽m),那么一方面 ⟨ α i ⟩ , ⟨ β i ⟩ \langle\alpha_i\rangle,\langle\beta_i\rangle ⟨αi⟩,⟨βi⟩ 是线性无关的(因为 s p a n { α i } span\{\alpha_i\} span{αi} 与 W = s p a n { β i } W=span\{\beta_i\} W=span{βi} 无交集),另一方面 V = s p a n { α i , β i } V=span\{\alpha_i,\beta_i\} V=span{αi,βi},因为每个向量都出现在了 V / W V/W V/W 的某一个向量集合中,所以这就是 V V V 的基底。
范数( norm \text{norm} norm)
范数是一个 线性泛函,记为 ∥ x ∥ \Vert x\Vert ∥x∥,满足
- 正定性: ∥ x ∥ ⩾ 0 \Vert x\Vert\geqslant 0 ∥x∥⩾0,当且仅当 x = 0 → x=\overrightarrow{0} x=0 时取等。
- 正值齐次性: ∀ x ∈ V , α ∈ P \forall x\in V,\;\alpha\in P ∀x∈V,α∈P,满足 ∥ α x ∥ = ∣ α ∣ ⋅ ∥ x ∥ \Vert\alpha x\Vert=|\alpha|\cdot \Vert x\Vert ∥αx∥=∣α∣⋅∥x∥ 。
- 三角不等式: ∥ x + y ∥ ⩽ ∥ x ∥ + ∥ y ∥ \Vert x+y\Vert\leqslant\Vert x\Vert+\Vert y\Vert ∥x+y∥⩽∥x∥+∥y∥ 。
我们最熟悉的就是欧几里得范数,即向量的模长。
线性变换
线性映射( linear map \text{linear map} linear map 或 linear operator \text{linear operator} linear operator)
对于两个线性空间 V , W V,W V,W,若存在映射 f : V ↦ W f:V\mapsto W f:V↦W 使得其加法运算、数量乘法都同态,则 f f f 是 V ↦ W V\mapsto W V↦W 的线性映射(或线性算子)。
Comment. 似乎各处的定义不尽相同?这里就以 Wikipedia \text{Wikipedia} Wikipedia 为基准吧。
换句话说, ∀ α , β ∈ V , f ( α + β ) = f ( α ) + f ( β ) \forall\alpha,\beta\in V,\;f(\alpha+\beta)=f(\alpha)+f(\beta) ∀α,β∈V,f(α+β)=f(α)+f(β) 且 ∀ k ∈ P , f ( k α ) = k ⋅ f ( α ) \forall k\in P,\;f(k\alpha)=k\cdot f(\alpha) ∀k∈P,f(kα)=k⋅f(α) 。
线性泛函( linear functional \text{linear functional} linear functional)
若线性算子 f f f 是 V ↦ P V\mapsto P V↦P 的映射,则 f f f 是一个线性泛函。
线性变换( linear transformation \text{linear transformation} linear transformation)
线性映射 f : V ↦ V f:V\mapsto V f:V↦V 被称为线性变换。后面我们会说到,线性变换总可以表示为 矩阵(在选定基底之后)。
线性变换对加法有 “分配律”,对乘法有 “交换律”,是近似于乘法的运算。所以为了方便,我们用 A \mathscr A A 表示线性变换, A α \mathscr A\alpha Aα 表示 f ( α ) f(\alpha) f(α) 。这是比较贴近算子概念的东西。
核( k e r n e l \rm kernel kernel)
ker ( A ) = { α ∣ A α = 0 → } \ker(\mathscr A)=\{\alpha\;|\;\mathscr A\alpha=\overrightarrow{0}\} ker(A)={α∣Aα=0},也就是那些映射到零向量上的向量。
可以发现
ker
(
A
)
\ker(\mathscr A)
ker(A) 是
V
V
V 的子空间。另:更常写为
Ker
(
A
)
\text{Ker}(\mathscr A)
Ker(A),但是
LaTeX
\LaTeX
LATEX 的 \ker
就是小写的……
象( i m a g e \rm image image)
Im ( A ) = { A α ∣ α ∈ V } \text{Im}(\mathscr A)=\{\mathscr A\alpha\;|\;\alpha\in V\} Im(A)={Aα∣α∈V},也就是映射的值域。
可以发现
Im
(
A
)
\text{Im}(\mathscr A)
Im(A) 是
V
V
V 的子空间。另:我讨厌复数,它抢走了 \Im
(虚部符号)。
降维打击
定理: dim V = dim ker ( A ) + dim Im ( A ) \dim V=\dim\ker(\mathscr A)+\dim\text{Im}(\mathscr A) dimV=dimker(A)+dimIm(A) 。
证明:取 ker ( A ) \ker(\mathscr A) ker(A) 的基底 ⟨ α ⟩ \langle\alpha\rangle ⟨α⟩;取 Im ( A ) \text{Im}(\mathscr A) Im(A) 的基底 ⟨ θ ⟩ \langle\theta\rangle ⟨θ⟩,则存在 ⟨ β ⟩ \langle\beta\rangle ⟨β⟩ 使得 A β i = θ i \mathscr A\beta_i=\theta_i Aβi=θi 。只需要证明 V V V 的基底是 ⟨ α ⟩ , ⟨ β ⟩ \langle\alpha\rangle,\langle\beta\rangle ⟨α⟩,⟨β⟩ 。
先证 V = s p a n { α i , β j } V=span\{\alpha_i,\beta_j\} V=span{αi,βj} 。任取 γ ∈ V \gamma\in V γ∈V,存在 ν ∈ s p a n { β i } \nu\in span\{\beta_i\} ν∈span{βi} 使得 A γ = A ν \mathscr A\gamma=\mathscr A\nu Aγ=Aν,因为 s p a n { A β i } = s p a n { θ i } = Im ( A ) span\{\mathscr A\beta_i\}=span\{\theta_i\}=\text{Im}(\mathscr A) span{Aβi}=span{θi}=Im(A) 。于是 A ( γ − ν ) = 0 → \mathscr A(\gamma-\nu)=\overrightarrow{0} A(γ−ν)=0,即 γ − ν ∈ ker ( A ) = s p a n { α i } \gamma-\nu\in\ker(\mathscr A)=span\{\alpha_i\} γ−ν∈ker(A)=span{αi} 。所以有 s p a n { β i } + s p a n { α i } = V = s p a n { α i , β j } span\{\beta_i\}+span\{\alpha_i\}=V=span\{\alpha_i,\beta_j\} span{βi}+span{αi}=V=span{αi,βj} 。
再证其为直和,即 { α i , β j } \{\alpha_i,\beta_j\} {αi,βj} 线性无关。这简单至极1:若 ∑ λ i α i + ∑ φ i β i = 0 → \sum\lambda_i\alpha_i+\sum\varphi_i\beta_i=\overrightarrow{0} ∑λiαi+∑φiβi=0,两边同时做线性变换 A \mathscr A A 得 ∑ φ i θ i = 0 → \sum\varphi_i\theta_i=\overrightarrow{0} ∑φiθi=0 。由于 ⟨ θ ⟩ \langle\theta\rangle ⟨θ⟩ 线性无关,所以必须 φ i = 0 \varphi_i=0 φi=0,代回原式得 ∑ λ i α i = 0 \sum\lambda_i\alpha_i=0 ∑λiαi=0,由于 ⟨ α ⟩ \langle\alpha\rangle ⟨α⟩ 线性无关,所以 λ i = 0 \lambda_i=0 λi=0 。即全零为唯一解。所以线性无关。 ■ \blacksquare ■
坐标与矩阵
随意找一组基底 ⟨ α 1 , α 2 , … , α n ⟩ \langle\alpha_1,\alpha_2,\dots,\alpha_n\rangle ⟨α1,α2,…,αn⟩,则 ∀ β ∈ V \forall\beta\in V ∀β∈V 可用唯一分解 β = ∑ λ i α i \beta=\sum\lambda_i\alpha_i β=∑λiαi 的系数 ⟨ λ ⟩ \langle\lambda\rangle ⟨λ⟩ 唯一确定。记为 β = ( λ 1 , λ 2 , … , λ n ) \beta=(\lambda_1,\lambda_2,\dots,\lambda_n) β=(λ1,λ2,…,λn),称为 β \beta β 的坐标表示。
在坐标表示下,若 A α = β \mathscr A\alpha=\beta Aα=β,那么二者的坐标表示必然是线性关系(否则 A \mathscr A A 无法满足线性映射的性质)。于是可以找到系数矩阵 x i , j ( 1 ⩽ i , j ⩽ n ) x_{i,j}\;(1\leqslant i,j\leqslant n) xi,j(1⩽i,j⩽n) 使得 λ b : i = ∑ j = 1 n x i , j λ a : j \lambda_{b:i}=\sum_{j=1}^{n}x_{i,j}\lambda_{a:j} λb:i=∑j=1nxi,jλa:j,这就是 A \mathscr A A 的矩阵表达。
矩阵的秩 rank \text{rank} rank 为矩阵中最多的线性无关列向量数量,也就是 dim Im ( A ) \dim\text{Im}(A) dimIm(A),因为 A α A\alpha Aα 只能是这些列向量的线性和。
正交分解
线性变换的复合是
t
r
i
v
i
a
l
\rm trivial
trivial 的,显然其构成半群。而自复合则构成阿贝尔群 虽然这很蠢。因此关于
A
\mathscr A
A 的多项式环
P
[
A
]
P[\mathscr A]
P[A] 构成交换环(乘法具有交换律)。
不变子空间
若 W W W 是 V V V 的子空间,满足 ∀ α ∈ W , A α ∈ W \forall\alpha\in W,\;\mathscr A\alpha\in W ∀α∈W,Aα∈W,则 W W W 是 V V V 在 A \mathscr A A 上的不变子空间。
很明显
ker
(
A
)
\ker(\mathscr A)
ker(A) 就是一个不变子空间。尽管它可能小到只含零向量。
定理:任何关于 A \mathscr A A 的多项式 f ( A ) f(\mathscr A) f(A) 都满足 ker [ f ( A ) ] \ker[f(\mathscr A)] ker[f(A)] 是 A \mathscr A A 上的不变子空间。
证明: ∀ α ∈ ker [ f ( A ) ] , f ( A ) A α = A f ( A ) α = 0 → ⟹ A α ∈ ker [ f ( A ) ] \forall \alpha\in\ker[f(\mathscr A)],\;f(\mathscr A)\mathscr A\alpha=\mathscr Af(\mathscr A)\alpha=\overrightarrow{0}\implies\mathscr A\alpha\in\ker[f(\mathscr A)] ∀α∈ker[f(A)],f(A)Aα=Af(A)α=0⟹Aα∈ker[f(A)] 。 ■ \blacksquare ■
矩阵分解
如果我们能找到若干不变子空间 W 1 , W 2 , … , W k W_1,W_2,\dots,W_k W1,W2,…,Wk 使得 W 1 ⊕ W 2 ⊕ ⋯ ⊕ W k = V W_1\oplus W_2\oplus\cdots\oplus W_k=V W1⊕W2⊕⋯⊕Wk=V,那么 V V V 有一组基底是所有 W i W_i Wi 的基底的并。在这个基底意义下,将 A \mathscr A A 矩阵化,将得到近乎 准对角矩阵,因为一组基底进行 A \mathscr A A 后的结果仍然可以用自己的线性和表示。
多项式分解
定理:若 f ( x ) = f 1 ( x ) f 2 ( x ) f(x)=f_1(x)f_2(x) f(x)=f1(x)f2(x) 且 gcd [ f 1 ( x ) , f 2 ( x ) ] = 1 \gcd[f_1(x),f_2(x)]=1 gcd[f1(x),f2(x)]=1(多项式构成 欧几里得环),则 ker [ f ( A ) ] = ker [ f 1 ( A ) ] ⊕ ker [ f 2 ( A ) ] \ker[f(\mathscr A)]=\ker[f_1(\mathscr A)]\oplus\ker[f_2(\mathscr A)] ker[f(A)]=ker[f1(A)]⊕ker[f2(A)] 。
证明: gcd = 1 ⇔ ∃ t 1 ( x ) , t 2 ( x ) \gcd=1\Leftrightarrow \exists t_1(x),t_2(x) gcd=1⇔∃t1(x),t2(x) 使得 t 1 ( x ) f 1 ( x ) + t 2 ( x ) f 2 ( x ) = 1 t_1(x)f_1(x)+t_2(x)f_2(x)=1 t1(x)f1(x)+t2(x)f2(x)=1 。
先证
ker
[
f
(
A
)
]
⫅
ker
[
f
1
(
A
)
]
+
ker
[
f
2
(
A
)
]
\ker[f(\mathscr A)]\subseteqq\ker[f_1(\mathscr A)]+\ker[f_2(\mathscr A)]
ker[f(A)]⫅ker[f1(A)]+ker[f2(A)] 。任取
α
∈
ker
[
f
(
A
)
]
\alpha\in\ker[f(\mathscr A)]
α∈ker[f(A)],令
{
β
=
t
2
(
A
)
f
2
(
A
)
α
γ
=
t
1
(
A
)
f
1
(
A
)
α
\begin{cases} \beta=t_2(\mathscr A)f_2(\mathscr A)\alpha\\ \gamma=t_1(\mathscr A)f_1(\mathscr A)\alpha \end{cases}
{β=t2(A)f2(A)αγ=t1(A)f1(A)α
可见
f
1
(
A
)
β
=
t
2
(
A
)
f
1
(
A
)
f
2
(
A
)
α
=
t
2
(
A
)
f
(
A
)
α
=
t
2
(
A
)
0
→
=
0
→
\begin{aligned} f_1(\mathscr A)\beta &=t_2(\mathscr A)f_1(\mathscr A)f_2(\mathscr A)\alpha\\ &=t_2(\mathscr A)f(\mathscr A)\alpha\\ &=t_2(\mathscr A)\overrightarrow{0}=\overrightarrow{0} \end{aligned}
f1(A)β=t2(A)f1(A)f2(A)α=t2(A)f(A)α=t2(A)0=0
即 β ∈ ker [ f 1 ( A ) ] \beta\in\ker[f_1(\mathscr A)] β∈ker[f1(A)] 。同理 γ ∈ ker [ f 2 ( A ) ] \gamma\in\ker[f_2(\mathscr A)] γ∈ker[f2(A)] 。而 α = β + γ \alpha=\beta+\gamma α=β+γ,得证。
再证 ker [ f ( A ) ] ⫆ ker [ f 1 ( A ) ] + ker [ f 2 ( A ) ] \ker[f(\mathscr A)]\supseteqq\ker[f_1(\mathscr A)]+\ker[f_2(\mathscr A)] ker[f(A)]⫆ker[f1(A)]+ker[f2(A)] 。这是显而易见的。
最后证明二者无交集,为直和。若 α ∈ ker [ f 1 ( A ) ] ∩ ker [ f 2 ( A ) ] \alpha\in\ker[f_1(\mathscr A)]\cap\ker[f_2(\mathscr A)] α∈ker[f1(A)]∩ker[f2(A)],则 α = [ t 1 ( A ) f 1 + t 2 ( A ) f 2 ( A ) ] α = 0 → \alpha=[t_1(\mathscr A)f_1+t_2(\mathscr A)f_2(\mathscr A)]\alpha=\overrightarrow{0} α=[t1(A)f1+t2(A)f2(A)]α=0。 ■ \blacksquare ■
零化多项式
使得 f ( A ) = 0 f(\mathscr A)=0 f(A)=0 的多项式,就是 A \mathscr A A 的零化多项式。这里的 0 0 0 是基域 P P P 中的乘法零元。度数最小的首一零化多项式被称为最小多项式。
如果我们找到了
A
\mathscr A
A 的首一零化多项式
g
(
A
)
g(\mathscr A)
g(A),不妨设
g
(
x
)
=
∏
(
x
−
γ
i
)
t
i
g(x)=\prod (x-\gamma_i)^{t_i}
g(x)=∏(x−γi)ti,利用 多项式分解
我们知道
ker
[
g
(
A
)
]
=
⨁
ker
[
(
A
−
γ
i
)
t
i
]
\ker[g(\mathscr A)]=\bigoplus\ker[(\mathscr A-\gamma_i)^{t_i}]
ker[g(A)]=⨁ker[(A−γi)ti] 。而
g
(
A
)
=
0
g(\mathscr A)=0
g(A)=0,这说明
ker
[
g
(
A
)
]
=
V
\ker[g(\mathscr A)]=V
ker[g(A)]=V,所以
ker
[
(
A
−
γ
i
)
t
i
]
\ker[(\mathscr A-\gamma_i)^{t_i}]
ker[(A−γi)ti] 是对原线性空间
V
V
V 的一个剖分。
而 不变子空间
中说过
ker
[
(
A
−
γ
i
)
t
i
]
\ker[(\mathscr A-\gamma_i)^{t_i}]
ker[(A−γi)ti] 是
A
\mathscr A
A 上的不变子空间,故在这些子空间中分别取基底,就可以将
A
\mathscr A
A 的矩阵形式转化为 准对角矩阵。
特征多项式
若 A v = λ v ( v ∈ V ∖ { 0 → } , λ ∈ P ) \mathscr Av=\lambda v\;(v\in V\setminus\{\overrightarrow 0\},\;\lambda\in P) Av=λv(v∈V∖{0},λ∈P) 则称 v v v 是 A \mathscr A A 的特征向量, λ \lambda λ 是 A \mathscr A A 的特征值。
求解是容易的:实际上就是
v
∈
ker
(
A
−
λ
)
v\in\ker(\mathscr A-\lambda)
v∈ker(A−λ) 。在矩阵意义下,
0
≠
dim
ker
(
A
−
λ
I
)
=
dim
V
−
rank
(
A
−
λ
I
)
0\ne\dim\ker(A-\lambda I)=\dim V-\text{rank}(A-\lambda I)
0=dimker(A−λI)=dimV−rank(A−λI),所以只要
A
−
λ
I
A-\lambda I
A−λI 不满秩即可。于是求解
λ
\lambda
λ 就是解方程
f
(
λ
)
=
det
(
λ
I
−
A
)
=
0
f(\lambda)=\det(\lambda I-A)=0
f(λ)=det(λI−A)=0
其中 det ( B ) \det(B) det(B) 表示矩阵 B B B 的行列式。定义 f ( λ ) f(\lambda) f(λ) 为 A A A 的特征多项式。不难发现 f ( x ) f(x) f(x) 是 deg = dim V \deg=\dim V deg=dimV 的首一多项式。
有些有趣的性质。根据定义 f ( 0 ) = det ( − A ) f(0)=\det(-A) f(0)=det(−A),而同时我们知道 f ( x ) = ∏ ( x − λ i ) f(x)=\prod(x-\lambda_i) f(x)=∏(x−λi)(因为每个根都是特征值),所以 ∏ λ i = det ( − A ) \prod \lambda_i=\det(-A) ∏λi=det(−A) 。它的应用后面再说。
可能有重根;若 { λ i } \{\lambda_i\} {λi} 为互异的特征根,则 f ( x ) = ∏ ( x − λ i ) τ i f(x)=\prod(x-\lambda_i)^{\tau_i} f(x)=∏(x−λi)τi,其中 τ i \tau_i τi 为 λ i \lambda_i λi 的代数重数,而其对应的特征向量的张成子空间 s p a n { v ∣ A v = λ i v } span\{v\;|\;Av=\lambda_i v\} span{v∣Av=λiv} 的 dim \dim dim 为 λ i \lambda_i λi 的几何重数。
Cayley–Hamilton \text{Cayley–Hamilton} Cayley–Hamilton 定理:特征多项式是零化多项式。2
引理:若几何重数均为 1 1 1,则最小多项式就是特征多项式。3
相似变换
如果存在可逆矩阵
P
P
P 使得
B
=
P
−
1
A
P
B=P^{-1}AP
B=P−1AP
那么
B
B
B 就和
A
A
A 是相似的。这个变换叫做相似变换。
其相似的本质是: B B B 和 A A A 只是在不同的基底下考察相同的线性映射。
Jordan \text{Jordan} Jordan 标准型
因为译名有明显分歧——有译为 “约当” 的,也有译为 “若尔当” 的——所以就保留英文 Jordan \text{Jordan} Jordan 了。
定义
Jordan
\text{Jordan}
Jordan 块是形如
A
i
,
j
=
{
λ
(
j
=
i
)
[
j
=
i
+
1
]
(
j
≠
i
)
A_{i,j}=\begin{cases} \lambda& (j=i)\\ \lbrack j=i{+}1\rbrack & (j\ne i) \end{cases}
Ai,j={λ[j=i+1](j=i)(j=i)
的方阵 A A A 。定义 Jordan \text{Jordan} Jordan 标准型矩阵是 Jordan \text{Jordan} Jordan 块构成的 准对角矩阵。
定理:在不考虑 Jordan \text{Jordan} Jordan 块相对顺序时,每个矩阵都相似于唯一一个 Jordan \text{Jordan} Jordan 标准型矩阵。
按:每个 Jordan \text{Jordan} Jordan 块都是特征空间的一个基向量。因此 λ \lambda λ 对应的 Jordan \text{Jordan} Jordan 块的数量就是其几何重数。而大小显然是代数重数,因此我们得到
引理:每个特征值的几何重数不大于代数重数。
推论:矩阵可对角化,当且仅当其所有特征根的几何重数与代数重数相等。
Comment. 我并没有学会该知识点。从知乎文章中应该能学到更多东西。
迹( trace \text{trace} trace)
矩阵
A
A
A 的迹被定义为
tr
A
=
∑
i
=
1
n
a
i
,
i
\operatorname{tr}A=\sum_{i=1}^{n}a_{i,i}
trA=i=1∑nai,i
即主对角线的元素和。很容易证明
tr
(
A
B
)
=
tr
(
B
A
)
\operatorname{tr}(AB)=\operatorname{tr}(BA)
tr(AB)=tr(BA)
因此我们可以证明相似矩阵的迹是相同的。
tr
(
P
−
1
A
P
)
=
tr
(
P
P
−
1
A
)
=
tr
A
\operatorname{tr}(P^{-1}AP)=\operatorname{tr}(PP^{-1}A)=\operatorname{tr}A
tr(P−1AP)=tr(PP−1A)=trA
通过 Jordan 标准型
,我们立刻可以知道
tr
A
=
∑
λ
i
\operatorname{tr}A=\sum\lambda_i
trA=∑λi
其中 λ i \lambda_i λi 是 A A A 的特征值,即 A A A 的特征多项式为 ∏ ( x − λ i ) \prod(x-\lambda_i) ∏(x−λi) 。
对偶空间( dual space \text{dual space} dual space)
在这里有一些对它的阐释。我并不很懂 dual space \text{dual space} dual space,因此先把参考文章贴出来。
线性空间 V V V 的对偶空间,记为 V ∗ V^\ast V∗,是全体 V V V 上的线性泛函。显然函数之间有加法与乘法,且构成矢量空间。
按:事实上,如果将 V ∗ V^\ast V∗ 内元素用 对偶基 坐标化,那么其作用效果相当于向量内积。
对偶基( dual basis \text{dual basis} dual basis)
V
∗
V^*
V∗ 存在一组基
{
ϕ
i
}
\{\phi_i\}
{ϕi} 满足
ϕ
i
(
e
j
)
=
[
i
=
j
]
ϵ
\phi_i(e_j)=[i=j]\epsilon
ϕi(ej)=[i=j]ϵ
其中 { e j } \{e_j\} {ej} 是 V V V 的一组基, ϵ \epsilon ϵ 是基域 P P P 的幺元。这组基 { ϕ i } \{\phi_i\} {ϕi} 被称为对偶基。
典范同构( canonical isomorphism \text{canonical isomorphism} canonical isomorphism)
注意到 V ∗ V^* V∗ 也是线性空间,因此 V ∗ V^* V∗ 也存在对偶空间,记为 V ∗ ∗ V^{**} V∗∗,它被称为 V V V 的 bidual \text{bidual} bidual 。
首先
dim
(
V
)
=
dim
(
V
∗
)
=
dim
(
V
∗
∗
)
\dim(V)=\dim(V^\ast)=\dim(V^{\ast\ast})
dim(V)=dim(V∗)=dim(V∗∗) 。而且
V
V
V 和
V
∗
∗
V^{\ast\ast}
V∗∗ 之间存在典范同构:设
u
∈
V
u\in V
u∈V 与
u
^
∈
V
∗
∗
\hat u\in V^{\ast\ast}
u^∈V∗∗ 是同态元素,定义
u
^
(
ϕ
)
=
ϕ
(
u
)
(
∀
ϕ
∈
V
∗
)
\hat u(\phi)=\phi(u)\quad(\forall\phi\in V^\ast)
u^(ϕ)=ϕ(u)(∀ϕ∈V∗)
不难验证 u ^ \hat u u^ 是 V ∗ V^\ast V∗ 上的线性泛函,且 u u u 与 u ^ \hat u u^ 同态。
对偶映射( dual map \text{dual map} dual map)
任取线性映射 f : V ↦ W f:V\mapsto W f:V↦W,则对于任意 W W W 上的线性泛函 h h h,可以发现复合函数 h ∘ f h\circ f h∘f 是 V V V 上的线性泛函。并且它关于 h h h 肯定是 linear \text{linear} linear 的。因此这给出了 f ∗ : W ∗ ↦ V ∗ f^\ast:W^\ast\mapsto V^\ast f∗:W∗↦V∗ 对偶空间之间的线性映射。这被称为 f f f 的对偶或 转置( transpose \text{transpose} transpose)。因为
定理: f ∗ f^\ast f∗ 在 dual basis \text{dual basis} dual basis 上的矩阵就是 f f f 的矩阵的转置。
证明:坐标化后, f f f 的矩阵的每一列就是 f ( e i ) f(e_i) f(ei),其中 { e i } \{e_i\} {ei} 是 V V V 的基。
考虑 W W W 上的线性泛函 h = ⟨ x 1 , x 2 , ⋯ , x n ⟩ h=\langle x_1,x_2,\cdots,x_n\rangle h=⟨x1,x2,⋯,xn⟩,尝试写出 h ∘ f h\circ f h∘f 的坐标。显然 e i e_i ei 将会提供 h ( f ( e i ) ) h(f(e_i)) h(f(ei)),也就是 η i = ∑ j x j A j , i \eta_i=\sum_{j}x_j A_{j,i} ηi=∑jxjAj,i,其中 A A A 是 f f f 对应的矩阵,第 i i i 列恰为 f ( e i ) f(e_i) f(ei) 坐标。
不难发现这就是 A T h A^{\sf T}h ATh,因此 A T A^\mathsf{T} AT 就是 f ∗ f^\ast f∗ 对应的矩阵。 ■ \blacksquare ■
伴随矩阵
对于 n × n n\times n n×n 方阵 A A A,将第 i i i 行、第 j j j 列元素移除后,剩余的行和列按原顺序排列,得到 ( n − 1 ) (n{\rm-}1) (n−1) 阶方阵,其行列式记为 M i , j M_{i,j} Mi,j,称为余子式。
定义
C
i
,
j
=
(
−
1
)
i
+
j
M
i
,
j
C_{i,j}=(-1)^{i+j}M_{i,j}
Ci,j=(−1)i+jMi,j 为代数余子式,定义
A
A
A 的伴随矩阵
A
∗
A^{*}
A∗ 为
A
i
,
j
∗
=
C
j
,
i
A^*_{i,j}=C_{j,i}
Ai,j∗=Cj,i 。此时有
[
A
×
A
∗
]
i
,
j
=
∑
k
A
i
,
k
A
k
,
j
∗
=
∑
k
A
i
,
k
C
j
,
k
[A\times A^*]_{i,j}=\sum_{k}A_{i,k}A^*_{k,j}=\sum_{k}A_{i,k}C_{j,k}
[A×A∗]i,j=k∑Ai,kAk,j∗=k∑Ai,kCj,k
当
i
=
j
i=j
i=j 时,该式为
det
(
A
)
\det(A)
det(A) 的按行展开 。当
i
≠
j
i\ne j
i=j 时,该值等价于将第
j
j
j 行元素替换为第
i
i
i 行元素后按行展开的
det
\det
det,即
0
0
0 。于是我们得到
A
×
A
∗
=
det
(
A
)
⋅
I
A\times A^*=\det(A)\cdot I
A×A∗=det(A)⋅I
其中 I I I 是单位对角矩阵。
性质推导
记
rank
(
A
)
\text{rank}(A)
rank(A) 为
A
A
A 的秩,则
rank
(
A
∗
)
=
{
n
,
rank
(
A
)
=
n
1
,
rank
(
A
)
=
n
−
1
0
,
rank
(
A
)
<
n
−
1
\operatorname{rank}(A^*)= \begin{cases} n, &\operatorname{rank}(A)=n\\ 1, &\operatorname{rank}(A)=n-1\\ 0, &\operatorname{rank}(A)<n-1 \end{cases}
rank(A∗)=⎩
⎨
⎧n,1,0,rank(A)=nrank(A)=n−1rank(A)<n−1
对于第一项:对 A × A ∗ = det ( A ) ⋅ I A\times A^*=\det(A)\cdot I A×A∗=det(A)⋅I 两边同时取行列式得 det ( A ) ⋅ det ( A ∗ ) = det ( A ) n ⇒ det ( A ∗ ) = det ( A ) n − 1 ≠ 0 \det(A)\cdot \det(A^*)=\det(A)^n\Rightarrow\det(A^*)=\det(A)^{n-1}\ne 0 det(A)⋅det(A∗)=det(A)n⇒det(A∗)=det(A)n−1=0 即 rank ( A ∗ ) = n \operatorname{rank}(A^*)=n rank(A∗)=n 。
对于第三项:此时删去一行一列后,仍不满秩,故 M i , j = 0 M_{i,j}=0 Mi,j=0,即 A ∗ A^* A∗ 为全零矩阵。
对于第二项:此时 A × A ∗ = det ( A ) ⋅ I A\times A^*=\det(A)\cdot I A×A∗=det(A)⋅I 为全零阵,所以 A ∗ A^* A∗ 的列向量 v v v 满足 A v = 0 → Av=\overrightarrow{0} Av=0 。而 rank ( A ) = n − 1 \operatorname{rank}(A)=n-1 rank(A)=n−1,所以 A v = 0 Av=0 Av=0 的解 v v v 至多有一个自由元,即解空间的 dim = 1 \dim=1 dim=1 。所以 A ∗ A^* A∗ 的列向量组的秩为 1 1 1,即 rank ( A ∗ ) = 1 \operatorname{rank}(A^*)=1 rank(A∗)=1 。
代码求解
在域上
当 rank ( A ) = n \operatorname{rank}(A)=n rank(A)=n 时,由于 A − 1 A^{-1} A−1 可以 O ( n 3 ) \mathcal O(n^3) O(n3) 求解,故 A ∗ = ∣ A ∣ ⋅ A − 1 A^*=|A|\cdot A^{-1} A∗=∣A∣⋅A−1 也可以快速求解。平凡情况 rank ( A ) < n − 1 \operatorname{rank}(A)<n-1 rank(A)<n−1 略。只需要讨论 rank ( A ) = n − 1 \operatorname{rank}(A)=n-1 rank(A)=n−1 的情况。
事实上,性质推导
中已经说过解法:解
A
v
=
0
Av=0
Av=0 可得非零向量特解
v
0
v_0
v0,则
A
∗
A^*
A∗ 的列向量都是
v
v
v 的若干倍。同理可解行向量
q
q
q 使得
q
A
=
0
qA=0
qA=0,则
q
q
q 也是
A
∗
A^*
A∗ 任意一行的若干倍。
存在 i , j i,j i,j 使得 v i q j ≠ 0 v_iq_j\ne 0 viqj=0 。暴力求出 C i , j C_{i,j} Ci,j,那么 A ∗ A^* A∗ 列向量 “除以” v v v 的商的比值就是 q 1 , q 2 , … , q n q_1,q_2,\dots,q_n q1,q2,…,qn,故 A x , y = q y q j ⋅ v x v i ⋅ A i , j A_{x,y}=\frac{q_y}{q_j}\cdot\frac{v_x}{v_i}\cdot A_{i,j} Ax,y=qjqy⋅vivx⋅Ai,j,可以全部求出。总复杂度 O ( n 3 ) \mathcal O(n^3) O(n3) 。
在欧几里得环上
也就是说,我们主要的工具就只是高斯消元。考虑完全意义上的解决原问题:删去一行一列后求行列式。
首先枚举一行,将其删去,求出剩余矩阵高斯消元后的结果,不难发现其应只在 j ⩾ i − 1 j\geqslant i-1 j⩾i−1 处 a i , j ≠ 0 a_{i,j}\ne 0 ai,j=0 。我们姑且不考虑此步的复杂度。
再枚举删去哪一列,则左上方为对角矩阵、右下角为上海森堡矩阵。只需求解任意右下角
i
×
i
i\times i
i×i 上海森堡矩阵的行列式。将
det
\det
det 按第一行展开得
f
i
=
∑
j
=
i
n
(
−
1
)
j
−
i
f
j
+
1
a
i
,
j
∏
k
=
i
j
−
1
a
k
,
k
f_i = \sum_{j=i}^{n} (-1)^{j-i} f_{j+1} a_{i,j}\prod_{k=i}^{j-1} a_{k,k}
fi=j=i∑n(−1)j−ifj+1ai,jk=i∏j−1ak,k
于是压力来到删去一行
上。事实上只需分治,将确定要保留的部分立刻消元完毕。
消去一个变元的时间复杂度是 O [ n ⋅ ( n + log ∣ R ∣ ) ] \mathcal O[n\cdot(n+\log|R|)] O[n⋅(n+log∣R∣)],其中 ∣ R ∣ |R| ∣R∣ 是环的大小。共 O ( n log n ) \mathcal O(n\log n) O(nlogn) 次消元,总复杂度 O ( n 3 log n + n 2 log n log ∣ R ∣ ) \mathcal O(n^3\log n + n^2\log n\log|R|) O(n3logn+n2lognlog∣R∣) 。
在模合数的环上
前面的做法基于高斯消元。消元的本质是左乘初等行变换矩阵。所以我们实际上求出了
A
′
×
A
∗
=
det
(
A
)
⋅
C
A'\times A^\ast = \det(A)\cdot C
A′×A∗=det(A)⋅C
其中
C
C
C 是若干初等行变换矩阵的乘积,
A
′
A'
A′ 是高斯消元的结果。对两边同时提取
(
i
,
j
)
(i,j)
(i,j) 位置的系数,根据
A
′
A'
A′ 为上三角矩阵的特性可知
∑
k
⩾
i
A
i
,
k
′
A
k
,
j
∗
=
det
(
A
)
⋅
C
i
,
j
\sum_{k\geqslant i} A'_{i,k} A^\ast_{k,j} = \det(A)\cdot C_{i,j}
k⩾i∑Ai,k′Ak,j∗=det(A)⋅Ci,j
只要 A i , i ′ A'_{i,i} Ai,i′ 的逆元存在,且 A ∗ A^* A∗ 更靠后的行上的值已知,就可以得到 A i , j ∗ A^*_{i,j} Ai,j∗ 了。因此只用讨论这些行。
不妨将所有这样的元素放在最后 k k k 行 k k k 列的主对角线上(对应修改 C C C 矩阵即可)。则左上角的 ( n − k ) × ( n − k ) (n{-}k)\times(n{-}k) (n−k)×(n−k) 方阵是对角矩阵,而最后 k k k 列无法消元。
利用 CRT \textit{CRT} CRT,只需求出模数为 p τ p^{\tau} pτ 的答案。
定理:若 k > τ k>\tau k>τ 则所有余子式为 p k p^k pk 的倍数。
证明:把模数当成 p p p 之后 rank ⩽ n − τ \text{rank}\leqslant n-\tau rank⩽n−τ,删去一行之后仍有至少 ( τ − 1 ) (\tau{-}1) (τ−1) 个主对角线元素为 0 0 0(是 p p p 的倍数)因此取模 p k p^k pk 意义下所有余子式是零。 ■ \blacksquare ■
因此
k
⩽
τ
⩽
log
P
k\leqslant\tau\leqslant\log P
k⩽τ⩽logP 时才需要计算;这
k
k
k 行套用 在欧几里得环上
的做法,时间复杂度
O
(
n
3
+
n
2
log
P
log
log
P
)
\mathcal O(n^3+n^2\log P\log\log P)
O(n3+n2logPloglogP) 。
递推数列
常系数线性递推数列
其基础算法内容写在另一文中。
求向量或矩阵的最短递推式
设运算在 G F ( p ) \mathbb{GF}(p) GF(p) 下进行。先考虑求解向量列的最短递推式。
随机生成 n n n 维向量 v v v,则可以将每个向量先与 v v v 求内积,再求解内积的最短递推式。
不难发现,此时求出的线性递推式 A ( x ) A(x) A(x) 是使得 [ A ( x ) f ( x ) − R ( x ) ] ⋅ v = 0 [A(x)f(x)-R(x)]\cdot v=0 [A(x)f(x)−R(x)]⋅v=0 的解,其中多项式的系数为向量。根据 Schwartz–Zippel \text{Schwartz–Zippel} Schwartz–Zippel 引理4,随机向量 v v v 与非零向量相乘,得到零的概率不超过 n p \frac{n}{p} pn 。在 n ≪ p n\ll p n≪p 时可以放心选用。
对 n × m n{\times}m n×m 矩阵列,可随机 n n n 维行向量和 m m m 维列向量,然后作向量乘法。同理,若矩阵非全零,第一次乘法得到零向量概率不超过 n p \frac{n}{p} pn,在非零向量情况下第二次乘法得到零概率不超过 m p \frac{m}{p} pm,所以正确率至少 ( p − n ) ( p − m ) p 2 ⩾ n + m p \frac{(p-n)(p-m)}{p^2}\geqslant\frac{n+m}{p} p2(p−n)(p−m)⩾pn+m 。
求矩阵最小多项式
最短线性递推式就是最小多项式。且长度不超过 n n n,因为特征多项式是解。
于是我们只需要得到 { a b , a M b , a M 2 b , … , a M 2 n b } \{ab,aMb,aM^2b,\dots,aM^{2n}b\} {ab,aMb,aM2b,…,aM2nb},其中 a , b a,b a,b 是随机向量, M M M 是原矩阵。对它作 BM \textit{BM} BM 是 O ( n 2 ) \mathcal O(n^2) O(n2) 的,并非瓶颈。
全体 a M i aM^i aMi 可以 O ( n 3 ) \mathcal O(n^3) O(n3) 求出(总是用向量乘矩阵),然后乘 b b b,总复杂度 O ( n 3 ) \mathcal O(n^3) O(n3) 。特别地,若 M M M 只有 α \alpha α 个非零值,则 v M vM vM 的计算复杂度是 O ( n + α ) \mathcal O(n{+}\alpha) O(n+α),因此总复杂度为 O ( n 2 + α n ) \mathcal O(n^2{+}\alpha n) O(n2+αn) 。这将使得下面的算法对于稀疏矩阵有较好的结果。
解满秩线性方程组
先求出最小多项式 f ( x ) f(x) f(x),由 f ( A ) = 0 f(A)=0 f(A)=0 乘 A − 1 A^{-1} A−1 后移项得 A − 1 = − 1 [ x 0 ] f ( x ) ∑ i = 1 deg ( f ( x ) ) A i − 1 [ x i ] f ( x ) A^{-1}=-\frac{1}{[x^0]f(x)}\sum_{i=1}^{\deg(f(x))}A^{i-1}[x^i]f(x) A−1=−[x0]f(x)1∑i=1deg(f(x))Ai−1[xi]f(x) 。解满秩线性方程组就是求 A − 1 b A^{-1}b A−1b,由上述等式,可以 O ( n 2 + α n ) \mathcal O(n^2{+}\alpha n) O(n2+αn) 的求出答案。
求稀疏矩阵行列式
由 引理
知,几何重数均为
1
1
1 时,最小多项式是特征多项式。特征多项式的常数项就是
det
(
−
A
)
\det(-A)
det(−A),由此可知
det
(
A
)
\det(A)
det(A) 。而最小多项式可以
O
(
n
2
+
α
n
)
\mathcal O(n^2{+}\alpha n)
O(n2+αn) 。
遗憾的是 A A A 未必满足上述性质。于是随机 n × n n{\times}n n×n 对角矩阵 B B B,可以证明 A × B A\times B A×B 至少有 ( 1 − 2 n 2 − n p ) (1-\frac{2n^2-n}{p}) (1−p2n2−n) 的概率满足该性质3。求出 det ( A × B ) \det(A\times B) det(A×B) 后除以 det ( B ) \det(B) det(B) 即可。时间复杂度 O ( n 2 + α n ) \mathcal O(n^2{+}\alpha n) O(n2+αn) 。
整式递推数列
基本定义
若存在有限非空多项式列 { P 0 ( x ) , P 1 ( x ) , P 2 ( x ) , … , P m − 1 ( x ) } \{P_0(x),P_1(x),P_2(x),\dots,P_{m-1}(x)\} {P0(x),P1(x),P2(x),…,Pm−1(x)} 满足 P m − 1 ( x ) ≠ 0 P_{m-1}(x)\ne 0 Pm−1(x)=0 且 ∑ i = 0 m − 1 P i ( x ) A ( i ) ( x ) = 0 \sum_{i=0}^{m-1}P_i(x)A^{(i)}(x)=0 ∑i=0m−1Pi(x)A(i)(x)=0,则称形式幂级数 A ( x ) A(x) A(x) 为微分有限( D-finite \text{D-finite} D-finite)的,其中 A ( i ) ( x ) A^{(i)}(x) A(i)(x) 表示 A ( x ) A(x) A(x) 的 i i i 阶导函数。
若存在有限非空多项式列 { P 0 ( x ) , P 1 ( x ) , P 2 ( x ) , … , P m − 1 ( x ) } \{P_0(x),P_1(x),P_2(x),\dots,P_{m-1}(x)\} {P0(x),P1(x),P2(x),…,Pm−1(x)} 满足 P 0 ( x ) ≠ 0 P_0(x)\ne 0 P0(x)=0 且 ∑ i = 0 m − 1 a n − i P i ( n ) = 0 ( n ⩾ m − 1 ) \sum_{i=0}^{m-1}a_{n-i}P_i(n)=0\;(n\geqslant m{-}1) ∑i=0m−1an−iPi(n)=0(n⩾m−1) 则称 { P i ( x ) } \{P_i(x)\} {Pi(x)} 为 { a i } \{a_i\} {ai} 的整式递推式,此时 { a i } \{a_i\} {ai} 是一个整式递推数列。
也就是说,递推的系数是关于当前项的下标 n n n 的有理式(对于分式只需令 P 0 ( x ) P_0(x) P0(x) 为分母) 。但 deg P i ( x ) = + ∞ \deg P_i(x)=+\infty degPi(x)=+∞ 时,不很令人满意……
定理: { a i } \{a_i\} {ai} 是整式递推数列,当且仅当其普通生成函数 A ( x ) A(x) A(x) 是微分有限的。
求复合后的系数
主要参考 EI \textsf{EI} EI 的干货讲义与配套的实验性讲稿。 Prean \textsf{Prean} Prean 又重讲了一遍。
我也试试启发性讲法。这个想法的启发源自线性求
B
e
l
l
\rm Bell
Bell 数:
欲求 [ x n ] exp ( exp ( x ) − 1 ) = [ x n ] ∑ i = 0 + ∞ ( exp ( x ) − 1 ) i i ! [x^n]\exp(\exp(x)-1)=[x^n]\sum_{i=0}^{+\infty}\frac{(\exp(x)-1)^i}{i!} [xn]exp(exp(x)−1)=[xn]∑i=0+∞i!(exp(x)−1)i,由 [ x 0 ] exp ( x ) − 1 = 0 [x^0]\exp(x)-1=0 [x0]exp(x)−1=0 知 i > n i>n i>n 时无贡献。由此答案即为
[ x n ] ∑ i = 0 n ( exp ( x ) − 1 ) i i ! = [ x n ] ∑ i = 0 n ∑ j = 0 i ( − 1 ) i − j exp ( x j ) 1 j ! ( i − j ) ! = [ x n ] ∑ j = 0 n exp ( x j ) j ! ∑ i = 0 n − j ( − 1 ) i i ! = ∑ j = 0 n j n j ! ∑ i = 0 n − j ( − 1 ) i i ! \begin{aligned} [x^n]\sum_{i=0}^{n}\frac{(\exp(x){-}1)^i}{i!} &=[x^n]\sum_{i=0}^n\sum_{j=0}^i(-1)^{i-j}\exp(xj)\frac{1}{j!(i{-}j)!}\\ &=[x^n]\sum_{j=0}^{n}\frac{\exp(xj)}{j!}\sum_{i=0}^{n-j}\frac{(-1)^i}{i!}\\ &=\sum_{j=0}^{n}\frac{j^n}{j!}\sum_{i=0}^{n-j}\frac{(-1)^i}{i!} \end{aligned} [xn]i=0∑ni!(exp(x)−1)i=[xn]i=0∑nj=0∑i(−1)i−jexp(xj)j!(i−j)!1=[xn]j=0∑nj!exp(xj)i=0∑n−ji!(−1)i=j=0∑nj!jni=0∑n−ji!(−1)i后者是前缀和,可预处理。前者利用线性筛求出。时间复杂度 O ( n ) \mathcal O(n) O(n) 。
关键点:其一是内层函数常数项为零;其二是外层函数可展开为幂级数。
那么,更一般地,我们考虑求解
∑
i
=
0
n
a
i
[
x
i
]
F
(
G
(
x
)
)
\sum_{i=0}^{n}a_i[x^i]F(G(x))
∑i=0nai[xi]F(G(x)),其中
F
(
x
)
F(x)
F(x) 是微分有限的,不妨设
∑
j
=
0
m
−
1
P
j
(
x
)
F
(
j
)
(
x
)
=
0
\sum_{j=0}^{m-1}P_j(x)F^{(j)}(x)=0
∑j=0m−1Pj(x)F(j)(x)=0 。引入系数
a
i
a_i
ai 只是为了 用来卖萌 显得更通用。下面是
E
I
\sf EI
EI 的讲法。
第一步,让
G
(
x
)
G(x)
G(x) 常数为零(多项式平移)。直接写出微分有限的条件
∑
i
=
0
m
−
1
P
i
(
x
+
c
)
F
(
i
)
(
x
+
c
)
=
0
\sum_{i=0}^{m-1}P_i(x{+}c)F^{(i)}(x{+}c)=0
i=0∑m−1Pi(x+c)F(i)(x+c)=0
因为答案就是关于 F ( y + c ) ∣ y = G ( x ) − c F(y{+}c)\Big|_{y=G(x)-c} F(y+c)∣ ∣y=G(x)−c 的,并且只需 y n y^n yn 以内的项。
第二步,截断。令
F
(
x
+
c
)
=
F
(
x
+
c
)
m
o
d
x
n
+
1
\mathscr F(x{+}c)=F(x{+}c)\bmod x^{n+1}
F(x+c)=F(x+c)modxn+1,考虑对方程的影响。设
γ
=
max
deg
(
P
i
)
\gamma=\max\deg(P_i)
γ=maxdeg(Pi),显然会存在多项式
D
(
x
)
\mathscr D(x)
D(x),其只在
x
n
−
m
+
2
x^{n-m+2}
xn−m+2 到
x
n
+
γ
x^{n+\gamma}
xn+γ 项有值,且
∑
i
=
0
m
−
1
P
i
(
x
+
c
)
F
(
i
)
(
x
+
c
)
=
D
(
x
)
⇒
∑
i
=
0
m
−
1
P
i
(
x
)
F
(
i
)
(
x
)
=
D
(
x
−
c
)
\begin{aligned} \sum_{i=0}^{m-1}P_i(x{+}c)\mathscr{F}^{(i)}(x{+}c)&=\mathscr{D}(x)\\ \Rightarrow\sum_{i=0}^{m-1}P_i(x)\mathscr{F}^{(i)}(x)&=\mathscr{D}(x{-}c) \end{aligned}
i=0∑m−1Pi(x+c)F(i)(x+c)⇒i=0∑m−1Pi(x)F(i)(x)=D(x)=D(x−c)
两边对比系数可以 O ( m γ n ) \mathcal O(m\gamma n) O(mγn) 求出 [ x i ] F ( x ) ( i ⩽ n ) [x^i]\mathscr{F}(x)\;(i\leqslant n) [xi]F(x)(i⩽n) 。对于需自行推导的多项式,一般 m , γ m,\gamma m,γ 都是常数级别。
第三步,求答案。由于截断过程实际上只消去了
(
G
(
x
)
−
c
)
(G(x){-}c)
(G(x)−c) 的
(
n
+
1
)
(n{+}1)
(n+1) 及更高次项,所以答案不受影响,即
∑
i
=
0
n
a
i
[
x
i
]
F
(
G
(
x
)
)
=
∑
i
=
0
n
a
i
[
x
i
]
F
(
G
(
x
)
)
=
∑
i
=
0
n
a
i
[
x
i
]
∑
j
=
0
n
G
(
x
)
j
[
x
j
]
F
(
x
)
=
∑
j
=
0
n
[
x
j
]
F
(
x
)
∑
i
=
0
n
a
i
[
x
i
]
G
(
x
)
j
\begin{aligned} \sum_{i=0}^{n}a_i[x^i]F(G(x)) =\sum_{i=0}^{n}a_i[x^i]\mathscr{F}(G(x))\\ =\sum_{i=0}^{n}a_i[x^i]\sum_{j=0}^{n}G(x)^j[x^j]\mathscr{F}(x)\\ =\sum_{j=0}^{n}[x^j]\mathscr{F}(x)\sum_{i=0}^{n}a_i[x^i]G(x)^j \end{aligned}
i=0∑nai[xi]F(G(x))=i=0∑nai[xi]F(G(x))=i=0∑nai[xi]j=0∑nG(x)j[xj]F(x)=j=0∑n[xj]F(x)i=0∑nai[xi]G(x)j
所以我们只需快速求出 G ( x ) j ( j ⩽ n ) G(x)^j\;(j\leqslant n) G(x)j(j⩽n) 中某些系数的线性和。当 { a i } \{a_i\} {ai} 非零值少,或 G ( x ) G(x) G(x) 形式简单时,这是很可能实现的。例题较零碎,写于他处。