文章目录
前言
为了学习多视图几何,有很多数学的基础需要去补充,目前为止,博主能力有限,有错误的地方则欢迎指正,本系列博文和多视图几何笔记将会一同编写(如果我没编写完,或许我也没看懂或者做实验太忙了,见谅)。
系列博文参考的有慕尼黑工业大学(TUM)的课程,图灵出版社出版的《线性代数应该这样学》第三版和部分高校的教材。
为了这一系列博文的基础性质,我们省略掉了一些较为基础又总所周知的知识,比如 C n \mathbb{C}^n Cn和 R n \mathbb{R}^n Rn的定义,集合的定义等。大多数采用的是众所周知的符号。
部分在多几何视图大概无用的知识点(子集和交并和直和等等),不会填入(如果有需要会在后面加)。
多视图几何的数学基础知识的掌握(1)
线性空间
集合 V V V被称为线性空间或者在域 R \mathbb{R} R上的向量空间,仅当它在向量加法
+ : V × V → V +:V\times V \rightarrow V +:V×V→V
和标量乘法
⋅ : R × V → V \cdot:\mathbb{R}\times V \rightarrow V ⋅:R×V→V,
例如 α V 1 + β V 2 ∈ V , ∀ V 1 , V 2 ∈ V , ∀ α , β ∈ R \alpha V_1+\beta V_2 \in V,\forall V_1,V_2 \in V,\forall \alpha,\beta \in \mathbb{R} αV1+βV2∈V,∀V1,V2∈V,∀α,β∈R
上封闭。
关于加法 ( + ) (+) (+),它形成一个交换群(存在零元素 0,逆元素 − V -V −V)。 标量乘法遵循 R \mathbb{R} R的结构: α ( β u ) = ( α β ) u \alpha(\beta u)=(\alpha\beta) u α(βu)=(αβ)u。 乘法和加法遵循分配律:
( α + β ) V = α V + β V (\alpha+\beta) V = \alpha V+\beta V (α+β)V=αV+βV
α ( v + u ) = α v + α u \alpha ({\mathrm v}+\mathrm u) = \alpha \mathrm v+\alpha \mathrm u α(v+u)=αv+αu
这里我们需要给出向量空间关于在大学中较为严谨的定义。
线性空间的定义
给定一个域 F F F( R \mathbb{R} R和 C \mathbb{C} C),一个非空集合 V V V叫做 F F F上的一个向量空间(vector space)也叫线性空间,如果定义了两种运算:向量加法+和纯量乘法(乘号通常省略不写),其中加法是 V × V V\times V V×V到 V V V的一个映射,纯量乘法是 F × V F\times V F×V到 V V V的一个映射,并满足以下几个性质:
- 交换律: ∀ x , y ∈ V \forall x,y \in V ∀x,y∈V,满足 x + y = y + x x+y=y+x x+y=y+x
- 结合律: ∀ x , y , z ∈ V \forall x,y,z\in V ∀x,y,z∈V,满足 ( x + y ) + z = x + ( y + z ) (x+y)+z=x+(y+z) (x+y)+z=x+(y+z)
- 存在零元素: x + 0 = x x+0=x x+0=x
- 存在逆元素: ∀ x ∈ V , ∃ y ∈ V \forall x \in V,\exist y\in V ∀x∈V,∃y∈V,满足 x + y = 0 x+y=0 x+y=0
- 数因子分配律: ∀ x , y ∈ V , ∀ k ∈ F \forall x,y\in V,\forall k \in F ∀x,y∈V,∀k∈F,满足 k ( x + y ) = k x + k y k(x+y)=kx+ky k(x+y)=kx+ky
- 分配律: ∀ x ∈ V , ∀ k , l ∈ F \forall x\in V,\forall k,l\in F ∀x∈V,∀k,l∈F,满足 , ( k + l ) x = k x + l x ,(k+l)x=kx+lx ,(k+l)x=kx+lx
- 乘法结合律: ∀ x ∈ V , ∀ k , l ∈ F \forall x\in V,\forall k,l\in F ∀x∈V,∀k,l∈F满足 k ( l x ) = ( k l ) x k(lx)=(kl)x k(lx)=(kl)x
- 乘法单位元: ∀ x ∈ V \forall x\in V ∀x∈V满足 1 x = x 1x=x 1x=x
小题目
假定 R + \mathbb{R}^+ R+为正实数组成的集合,其加法和乘法运算定义为
m ⊞ n = m n , k ∘ m = m k m \boxplus n=mn,k \circ m=m^k m⊞n=mn,k∘m=mk
验证它是 R + \mathbb{R}^+ R+上的线性空间。
证明
要证明是线性空间,则证明加法和数乘封闭,所以满足那八条性质才可。
结合律: ( m ⊞ n ) ⊞ p = m n p = m ⊞ ( n p ) = m ⊞ ( n ⊞ p ) (m \boxplus n) \boxplus p=mnp=m \boxplus (np)=m\boxplus (n\boxplus p) (m⊞n)⊞p=mnp=m⊞(np)=m⊞(n⊞p)
: m ⊞ n = m n = n m = n ⊞ m m\boxplus n=mn=nm=n\boxplus m m⊞n=mn=nm=n⊞m
存在零元素:可以发现是1是零元素,因为 m ⊞ = m × 1 = m m\boxplus = m\times1=m m⊞=m×1=m
存在逆元素:可以发现逆元素是 1 m \frac{1}{m} m1,因为 m ⊞ 1 m = m × 1 m = 1 m\boxplus \frac{1}{m}=m\times \frac{1}{m}=1 m⊞m1=m×m1=1
数因子分配律: k ∘ ( m ⊞ n ) = k ∘ ( m n ) = ( m n ) k = m k n k = ( k ∘ m ) ⊞ ( l ∘ m ) k \circ (m\boxplus n)=k \circ (mn)=(mn)^k=m^kn^k=(k \circ m)\boxplus (l \circ m) k∘(m⊞n)=k∘(mn)=(mn)k=mknk=(k∘m)⊞(l∘m)
分配律: ( k ⊞ l ) ∘ m = m k + l = m k m l = ( k ∘ m ) ⊞ ( l ∘ m ) (k \boxplus l)\circ m=m^{k+l}=m^km^l=(k \circ m)\boxplus (l\circ m) (k⊞l)∘m=mk+l=mkml=(k∘m)⊞(l∘m)
乘法结合律: k ∘ ( l ∘ m ) = k ∘ m l = ( m l ) k = m l k = m k l = ( k l ) ∘ m k \circ (l \circ m)=k \circ m^l=(m^l)^k=m^{lk}=m^{kl}=(kl) \circ m k∘(l∘m)=k∘ml=(ml)k=mlk=mkl=(kl)∘m
乘法单位元: 1 ∘ m = m 1 = m 1 \circ m=m^1=m 1∘m=m1=m
所以满足8条性质,故而是在 R + \mathbb{R}^+ R+上线性空间。
举个例子
V = R n , v = ( x 1 , x 2 , x n ) T V = \mathbb{R}^n,\mathrm v=\rm (x_1,x_2,x_n)^T V=Rn,v=(x1,x2,xn)T
n n n维实数空间 R n \mathbb{R}^n Rn或 n n n维复数空间 C n \mathbb{C}^n Cn,其中加法数乘运算为向量的加法和数乘元素
次数不超过 n n n的多项式全体 P [ x ] n = { p = ∑ i = 0 n a i x i ∣ a 0 , a 1 , . . . , a n ∈ R } P[x]_n=\{p=\sum\limits_{i=0}^na_ix^i | a_0,a_1,...,a_n\in \mathbb{R} \} P[x]n={p=i=0∑naixi∣a0,a1,...,an∈R}
子空间
向量空间 V V V的子集 W ⊂ V W\sub V W⊂V称为子空间,仅当 0 ∈ W 0\in W 0∈W和 W W W在 + + +和 ⋅ \cdot ⋅(对于 ∀ α ∈ R \forall \alpha \in \mathbb{R} ∀α∈R)运算下是封闭的。
具体来说,子空间仅 W ⊂ V W\sub V W⊂V这个条件是不够的,还需要满足下面的条件:
- 存在零元素: 0 ∈ W 0\in W 0∈W
- 加法封闭: ∀ v , w ∈ W \forall v,w\in W ∀v,w∈W,满足 v + w ∈ W v+w \in W v+w∈W
- 标量乘法封闭: a ∈ F , ∀ u ∈ U a\in F,\forall u\in U a∈F,∀u∈U,满足 a u ∈ U au\in U au∈U
举个例子
- 若 b ∈ F b\in F b∈F,则 { ( x 1 , x 2 , x 3 , x 4 ) ∈ F 4 : x 3 = 5 x 4 + b } \{(x_1,x_2,x_3,x_4)\in F^4:x_3=5x_4+b\} {(x1,x2,x3,x4)∈F4:x3=5x4+b}是 F 4 F^4 F4的子空间当且仅当 b = 0 b=0 b=0
- 区间 [ 0 , 1 ] [0,1] [0,1]上全体实值连续函数的集合是 R [ 0 , 1 ] R^{[0,1]} R[0,1]上的子空间
- 0 {0} 0是 V V V的最小子空间, V V V是 V V V的最大子空间,空集不是 V V V的子空间,因为子空间必须是向量空间,而向量空间至少包含一个元素,即加法单位元
线性独立性和基
一组向量集 S = { v 1 , . . . , v k } ⊂ V S=\{v_1,...,v_k\}\sub V S={v1,...,vk}⊂V的张成子空间,是由这些向量的所有线性组合形成的子空间:
s p a n ( S ) = { v ∈ V ∣ v = ∑ i = 1 k α i v i } {\rm span}(S) = \left\{v\in V | v=\sum\limits_{i=1}^k\alpha_iv_i\right\} span(S)={v∈V∣v=i=1∑kαivi}
在以下情况下,集合S被称为线性独立:
∑ i = 1 k α i v i = 0 ⇒ α i = 0 ∀ i \sum\limits_{i=1}^k\alpha_iv_i=0 \Rightarrow \alpha_i=0 \forall i i=1∑kαivi=0⇒αi=0∀i
换句话说:如果没有一个矢量可以表示为剩余矢量的线性组合。 否则该集合被称为线性相关的。
一组向量 B = { v 1 , . . . , v n } B=\{v_1,...,v_n\} B={v1,...,vn}如果它是线性无关的并且如果它可以张成向量空间 V V V,则称为 V V V的一组基。基是线性独立向量的最大集。
对于基的定义要知道两点:
- { v 1 , . . . , v n } \{v_1,...,v_n\} {v1,...,vn}是线性无关的
- ∀ x \forall x ∀x都能由 { v 1 , . . . , v n } \{v_1,...,v_n\} {v1,...,vn}的组合线性表示,即 x = ∑ i = 1 k β i v i x=\sum\limits_{i=1}^k\beta_i v_i x=i=1∑kβivi
基的性质
设 B B B和 B ′ B^\prime B′为线性空间 V V V的两个基数。
-
B B B和 B ′ B^\prime B′包含相同数量的向量。 该数字 n n n称为空间 V V V的维数(换句话说线性空间V中线性无关向量组所含向量的最大数量 n n n,称为 V V V的维数,记做 dim V = n \dim V=n dimV=n)。
-
任何矢量 v ∈ V v\in V v∈V可以唯一地表示为 B = { b 1 , . . . , b n } B=\{b_1,...,b_n\} B={b1,...,bn}中的基矢量的线性组合:
v = ∑ i = 1 n α i b i v=\sum\limits_{i=1}^n \alpha_i b_i v=i=1∑nαibi
-
特别地, B B B的所有向量可以表示为另一个基向量组 b i ′ ∈ B ′ b_i^\prime\in B^\prime bi′∈B′的线性组合:
b I ′ = ∑ j = 1 n α j i b j b_I^\prime=\sum\limits_{j=1}^n \alpha_{ji}b_j bI′=j=1∑nαjibj
该基变换的系数 α j i \alpha_{ji} αji可以组合在矩阵 A A A中。令 B ≡ ( b 1 , . . . , b n ) B\equiv(b_1,...,b_n) B≡(b1,...,bn)和 B ′ ≡ ( b 1 ′ , . . . , b n ′ ) B^\prime \equiv(b_1^\prime,...,b_n^\prime) B′≡(b1′,...,bn′)作为基向量的矩阵,我们可以写: B ′ = B A ⇔ B = B ′ A − 1 B^\prime=BA \Leftrightarrow B=B^\prime A^{-1} B′=BA⇔B=B′A−1。
向量的内积
在向量空间上,可以定义内积(点积, d t . : \rm dt.: dt.:,标积 ≠ \neq ̸= 乘法):
< ⋅ , ⋅ > : V × V → R <\cdot,\cdot>:V\times V \rightarrow \mathbb{R} <⋅,⋅>:V×V→R
其中有如下属性:
1. 线性性:
<
u
,
α
v
+
β
w
>
=
α
<
u
,
v
>
+
β
<
u
,
w
>
<u,\alpha v+\beta w>= \alpha<u,v>+\beta<u,w>
<u,αv+βw>=α<u,v>+β<u,w>
2. 对称性:
<
u
,
v
>
=
<
v
,
u
>
<u,v>=<v,u>
<u,v>=<v,u>,注意是在
R
\mathbb{R}
R上才成立
3. 正定性:
<
v
,
v
>
≥
0
<v,v>\ge 0
<v,v>≥0和
<
v
,
v
>
=
0
⇔
v
=
0
<v,v>=0 \Leftrightarrow v=0
<v,v>=0⇔v=0
4. 第一个位置的可加性:
<
u
+
v
,
w
>
=
<
u
,
w
>
+
<
v
,
w
>
<u+v,w>=<u,w>+<v,w>
<u+v,w>=<u,w>+<v,w>
5. 第一个位置的齐次性:
∀
λ
∈
R
,
∀
u
,
v
∈
V
\forall \lambda\in \mathbb{R},\forall u,v \in V
∀λ∈R,∀u,v∈V,满足
<
λ
u
,
v
>
=
λ
<
u
,
v
>
<\lambda u,v>=\lambda<u,v>
<λu,v>=λ<u,v>
标量积被认为是一种范数
∣ ⋅ ∣ : V → R , ∣ ∣ v ∣ ∣ = < v , v > |\cdot|:V \rightarrow \mathbb{R},||v||=\sqrt{<v,v>} ∣⋅∣:V→R,∣∣v∣∣=<v,v>
∀ λ ∈ F , ∣ ∣ λ v ∣ ∣ = ∣ λ ∣ ∣ ∣ v ∣ ∣ \forall \lambda \in F,||\lambda v||=|\lambda| ||v|| ∀λ∈F,∣∣λv∣∣=∣λ∣∣∣v∣∣
和一个度量指标
d : V × V → R , d ( v , w ) = ∣ ∣ v − w ∣ ∣ = < v − w , v − w > d:V\times V \rightarrow \mathbb{R},d(v,w)=||v-w||=\sqrt{<v-w,v-w>} d:V×V→R,d(v,w)=∣∣v−w∣∣=<v−w,v−w>
用于测量长度和距离,使V成为度量空间(metric space)。 由于度量由标量积 V V V引起,因此称为希尔伯特空间(Hilbert space)。
在数学中,希尔伯特空间是欧几里德空间的一个推广,其不再局限于有限维的情形。与欧几里德空间相仿,希尔伯特空间也是一个内积空间,其上有距离和角的概念(及由此引申而来的正交性与垂直性的概念)。此外,希尔伯特空间还是一个完备的空间,其上所有的柯西序列等价于收敛序列,从而微积分中的大部分概念都可以无障碍地推广到希尔伯特空间中。希尔伯特空间为基于任意正交系上的多项式表示的傅立叶级数和傅立叶变换提供了一种有效的表述方式,而这也是泛函分析的核心概念之一。希尔伯特空间是公式化数学和量子力学的关键性概念之一。
现在我们就来说说内积的具体模样
规范和诱导内积
当 V = R V=\mathbb{R} V=R时,我们可以为规范基 B = I n B=I_n B=In定义规范内积:
< x , y > = x T y = ∑ i = 1 n x i y i <x,y>=x^Ty=\sum\limits_{i=1}^nx_iy_i <x,y>=xTy=i=1∑nxiyi
它引出了标准的L2范数或欧几里德范数
∣ ∣ x ∣ ∣ 2 = x T x = x 1 2 + . . . + x n 2 ||x||_2=\sqrt{x^Tx}=\sqrt{x_1^2+...+x_n^2} ∣∣x∣∣2=xTx=x12+...+xn2
由 B = B ′ A − 1 B=B^\prime A^{-1} B=B′A−1,应用基变换 A A A得到新基 B ′ B^\prime B′,然后由下式给出在新坐标系下的 x ′ , y ′ x^\prime,y^\prime x′,y′的规范内积:
< x , y > = x T y = ( A x ′ ) T ( A y ′ ) = x ′ T A T A Y ′ ≡ < x ′ , y ′ > A T A <x,y>=x^Ty=(Ax^\prime)^T(Ay^\prime)=x^{\prime T}A^TAY^{\prime} \equiv <x^\prime,y^\prime>_{A^TA} <x,y>=xTy=(Ax′)T(Ay′)=x′TATAY′≡<x′,y′>ATA
B x = ( B ′ A − 1 ) x = B ′ ( A − 1 x ) = B ′ x ′ ⇒ x = A x ′ B x =(B^\prime A^{-1})x=B^\prime(A^{-1}x)=B^\prime x^\prime \Rightarrow x=Ax^\prime Bx=(B′A−1)x=B′(A−1x)=B′x′⇒x=Ax′
后一种乘积被称为矩阵A的诱导内积。
两个 v v v和 w w w向量正交当且仅 < v , w > = 0 <v,w>=0 <v,w>=0
值得注意的是:
- 0正交于 V V V中的任意向量
- 0是 V V V中唯一一个与自身正交的向量
勾股定理(毕达哥拉斯定理)
设 v v v和 u u u是 V V V的正交向量,则 ∣ ∣ u + v ∣ ∣ 2 = ∣ ∣ u ∣ ∣ 2 + ∣ ∣ v ∣ ∣ 2 ||u+v||^2=||u||^2+||v||^2 ∣∣u+v∣∣2=∣∣u∣∣2+∣∣v∣∣2
证明:
∣ ∣ u + v ∣ ∣ 2 = < u + v , u + v > = < u , u > + < u , v > + < v , u > + < v , v > = ∣ ∣ u ∣ ∣ 2 + ∣ ∣ v ∣ ∣ 2 ||u+v||^2 =<u+v,u+v>\\=<u,u>+<u,v>+<v,u>+<v,v>\\=||u||^2+||v||^2 ∣∣u+v∣∣2=<u+v,u+v>=<u,u>+<u,v>+<v,u>+<v,v>=∣∣u∣∣2+∣∣v∣∣2
正交分解
设 u , v ∈ V u,v\in V u,v∈V且 v ≠ 0 v \neq 0 v̸=0,令 c = < u , v > ∣ ∣ v ∣ ∣ 2 , w = u − < u , v > ∣ ∣ v ∣ ∣ 2 v c=\frac{<u,v>}{||v||^2},w=u-\frac{<u,v>}{||v||^2}v c=∣∣v∣∣2<u,v>,w=u−∣∣v∣∣2<u,v>v,则 < w , v > = 0 <w,v>=0 <w,v>=0且 u = c v + w u=cv+w u=cv+w
证明:
设 u , v ∈ V u,v\in V u,v∈V且 v ≠ 0 v \neq 0 v̸=0,把 u u u写成 v v v的标量倍加上一个正交于 v v v的向量 w w w,若下图所示:

令 c ∈ F c\in F c∈F表示一个标量,则
u = c v + ( u − c v ) u=cv+(u-cv) u=cv+(u−cv)
要取合适 c c c使得 v v v正交于 ( u − c v ) (u-cv) (u−cv),即
0 = < u − c v , v > = < u , v > − c ∣ ∣ v ∣ ∣ 2 ⇒ c = < u , v > ∣ ∣ v ∣ ∣ 2 0=<u-cv,v>=<u,v>-c||v||^2 \Rightarrow c=\frac{<u,v>}{||v||^2} 0=<u−cv,v>=<u,v>−c∣∣v∣∣2⇒c=∣∣v∣∣2<u,v>
因此我们得到
u = c v + ( u − c v ) = < u , v > ∣ ∣ v ∣ ∣ 2 v + ( u − < u , v > ∣ ∣ v ∣ ∣ 2 v ) u=cv+(u-cv)=\frac{<u,v>}{||v||^2}v+(u-\frac{<u,v>}{||v||^2}v) u=cv+(u−cv)=∣∣v∣∣2<u,v>v+(u−∣∣v∣∣2<u,v>v)
令 w = u − < u , v > ∣ ∣ v ∣ ∣ 2 v w=u-\frac{<u,v>}{||v||^2}v w=u−∣∣v∣∣2<u,v>v,即可证得。
柯西-施瓦茨不等式
设 u , v ∈ V u,v\in V u,v∈V,则 ∣ < u , v > ∣ ≤ ∣ ∣ u ∣ ∣    ∣ ∣ v ∣ ∣ |<u,v>|\le ||u||\;||v|| ∣<u,v>∣≤∣∣u∣∣∣∣v∣∣,等号成立当且仅当 u , v u,v u,v之一是另一个的标量倍。
证明:
若 v = 0 v=0 v=0,则不等式两端都等于0。
因为所有向量都与零向量正交,零向量的模为0
假设 v ≠ 0 v\neq 0 v̸=0,考虑正交分解式子:
u = < u , v > ∣ ∣ v ∣ ∣ 2 v + w u=\frac{<u,v>}{||v||^2}v+w u=∣∣v∣∣2<u,v>v+w
由于 w w w正交于 v v v,由于勾股定理有:
∣ ∣ u ∣ ∣ 2 = ∥ < u , v > ∣ ∣ v ∣ ∣ 2 ∥ 2 + ∣ ∣ w ∣ ∣ 2 = ∣ < u , v > ∣ ∣ ∣ v ∣ ∣ 2 + ∣ ∣ w ∣ ∣ 2 ≥ ∣ < u , v > ∣ 2 ∣ ∣ v ∣ ∣ 2 \begin{aligned} ||u||^2 & =\left\lVert \frac{<u,v>}{||v||^2}\right\rVert^2+||w||^2 \\ &= \frac{|<u,v>|}{||v||^2} +||w||^2 \\ & \ge \frac{|<u,v>|^2}{||v||^2}\end{aligned} ∣∣u∣∣2=∥∥∥∥∣∣v∣∣2<u,v>∥∥∥∥2+∣∣w∣∣2=∣∣v∣∣2∣<u,v>∣+∣∣w∣∣2≥∣∣v∣∣2∣<u,v>∣2
然后两端同时乘以 ∣ ∣ v ∣ ∣ 2 ||v||^2 ∣∣v∣∣2,再开平方即可证明。
显然 w = 0 w=0 w=0时取等号,而当 w = 0 w=0 w=0时由于正交分解式子可以得到 u = c v u=cv u=cv,即 u u u是 v v v的标量倍(或说 v v v是 u u u的标量倍)。
三角不等式
设 u , v ∈ V u,v\in V u,v∈V,则 ∣ u ∣ + v ∣ ∣ ≤ ∣ ∣ u ∣ ∣ + ∣ ∣ v ∣ ∣ |u|+v||\le ||u||+||v|| ∣u∣+v∣∣≤∣∣u∣∣+∣∣v∣∣,等号成立当且仅当 u , v u,v u,v之一是另一个的非负标量倍。
考虑三角形两边之和大于第三边求证
平行四边形恒等式
设 u , v ∈ V u,v\in V u,v∈V,则 ∣ ∣ u + v ∣ ∣ 2 + ∣ ∣ u − v ∣ ∣ 2 = 2 ( ∣ ∣ u ∣ ∣ 2 + ∣ ∣ v ∣ ∣ 2 ) ||u+v||^2+||u-v||^2=2(||u||^2+||v||^2) ∣∣u+v∣∣2+∣∣u−v∣∣2=2(∣∣u∣∣2+∣∣v∣∣2)
证明:
∣ ∣ u + v ∣ ∣ 2 + ∣ ∣ u − v ∣ ∣ 2 = < u + v , u + v > + < u − v , u − v > = ∣ ∣ u ∣ ∣ 2 + ∣ ∣ v ∣ ∣ 2 + < u , v > + < v , u > + ∣ ∣ u ∣ ∣ 2 + ∣ ∣ v ∣ ∣ 2 − < u , v > − < v , u > = 2 ( ∣ ∣ u ∣ ∣ 2 + ∣ ∣ v ∣ ∣ 2 ) \begin{aligned} ||u+v||^2+||u-v||^2 & = <u+v,u+v>+<u-v,u-v> \\ & =||u||^2+||v||^2+<u,v>+<v,u> \\& \quad\quad+||u||^2+||v||^2-<u,v>-<v,u> \\ & = 2(||u||^2+||v||^2) \end{aligned} ∣∣u+v∣∣2+∣∣u−v∣∣2=<u+v,u+v>+<u−v,u−v>=∣∣u∣∣2+∣∣v∣∣2+<u,v>+<v,u>+∣∣u∣∣2+∣∣v∣∣2−<u,v>−<v,u>=2(∣∣u∣∣2+∣∣v∣∣2)
克罗内克乘积(Kronecker Product)和矩阵的拼接(stack)
给出两个矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n和 B ∈ R k × l B\in R^{k\times l} B∈Rk×l,通过下面的方式可以定义克罗内克内积 A ⊗ B A\otimes B A⊗B:
A ⊗ B ≡ ( a 11 B ⋯ a 1 n B ⋮ ⋱ ⋮ a m 1 B ⋯ a m n B ) ∈ R m k × n l A\otimes B \equiv \begin{pmatrix} a_{11}B &\cdots & a_{1n}B \\ \vdots & \ddots & \vdots \\ a_{m1}B & \cdots & a_{mn}B \end{pmatrix}\in \mathbb{R}^{mk\times nl} A⊗B≡⎝⎜⎛a11B⋮am1B⋯⋱⋯a1nB⋮amnB⎠⎟⎞∈Rmk×nl
在Matlab中可以通过下面代码实现
C=kron(A,B)
例子
[ 1 2 3 1 ] ⊗ [ 0 3 2 1 ] = [ 1 × 0 1 × 3 2 × 0 2 × 3 1 × 2 1 × 1 2 × 2 2 × 1 3 × 0 3 × 3 1 × 0 1 × 3 3 × 2 3 × 1 1 × 2 1 × 1 ] = [ 0 3 0 6 2 1 4 2 0 9 0 3 6 3 2 1 ] \begin{bmatrix} 1&2\\3&1 \end{bmatrix}\otimes\begin{bmatrix} 0&3\\2&1 \end{bmatrix}=\begin{bmatrix} 1\times0 &1\times3 & 2\times 0 & 2\times 3\\1\times2&1\times1 & 2\times2 & 2\times1 \\3\times0 & 3\times3 & 1\times 0 & 1\times3 \\ 3\times2 & 3\times1 & 1\times2 &1\times 1 \end{bmatrix}=\begin{bmatrix} 0 &3 & 0&6\\2&1& 4 & 2 \\0 & 9 & 0 & 3 \\ 6 & 3 & 2 &1 \end{bmatrix} [1321]⊗[0231]=⎣⎢⎢⎡1×01×23×03×21×31×13×33×12×02×21×01×22×32×11×31×1⎦⎥⎥⎤=⎣⎢⎢⎡0206319304026231⎦⎥⎥⎤
给定一个矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n,它的拼接 A s A^s As是通过拼接它的 n n n列向量 a 1 , ⋯   , a n ∈ R m a_1,\cdots,a_n\in \mathbb{R}^m a1,⋯,an∈Rm获得:
A s ≡ ( a 1 ⋮ a n ) ∈ R m n A^s \equiv \begin{pmatrix}a_1\\ \vdots \\ a_n \end{pmatrix}\in \mathbb{R}^{mn} As≡⎝⎜⎛a1⋮an⎠⎟⎞∈Rmn
python中的numpy有stack函数,除此之外还有hstack等等
例子
( 1 2 3 4 5 6 7 8 9 1 2 3 ) s = ( 1 5 9 2 6 1 3 7 2 4 8 3 ) \begin{pmatrix}1&2&3&4 \\5 & 6 & 7& 8 \\ 9 & 1 & 2&3\end{pmatrix}^s=\begin{pmatrix} 1\\5\\9 \\2 \\6\\1\\3\\7\\2\\4\\8\\3 \end{pmatrix} ⎝⎛159261372483⎠⎞s=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛159261372483⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
这些符号允许重写代数表达式,例如:
u T A v = ( v ⊗ u ) T A s u^TAv=(v \otimes u)^TA^s uTAv=(v⊗u)TAs
证明就不证明了,有需要评论里说,我举例子验证和进行维数的判断,没任何问题,该式恒成立。
线性变换和矩阵
线性代数研究线性空间之间线性变换的性质。 由于这些可以用矩阵表示,线性代数研究矩阵的性质。 两个线性空间 V V V和 W W W之间的线性变换 L L L是映射 L L L: V → W V \rightarrow W V→W这,如下所示:
- L ( x + y ) = L ( x ) + L ( y ) , ∀ x , y ∈ V L(x+y)=L(x)+L(y),\forall x,y\in V L(x+y)=L(x)+L(y),∀x,y∈V
- L ( α x ) = α L ( x ) , ∀ x ∈ V , α ∈ R L(\alpha x)=\alpha L(x),\forall x\in V,\alpha \in R L(αx)=αL(x),∀x∈V,α∈R
由于线性, L L L对空间 V V V的作用由其对 V V V的基矢量的作用唯一地定义。在规范基础上 { e 1 , . . . , e n } \{e_1,...,e_n\} {e1,...,en}, 我们有:
L ( x ) = A x , ∀ x ∈ V L(x)=Ax,\forall x\in V L(x)=Ax,∀x∈V
其中
A = ( L ( e 1 ) , . . . , L ( e n ) ) ∈ R m × n A=(L(e_1),...,L(e_n)) \in \mathbb{R}^{m\times n} A=(L(e1),...,L(en))∈Rm×n
所有的 m × n m\times n m×n的实矩阵用 M ( m , n ) \mathcal{M}(m,n) M(m,n)表示。 在 m = n m = n m=n的情况下,令 M ( m , n ) ≡ M ( n ) \mathcal{M}(m,n)\equiv \mathcal{M}(n) M(m,n)≡M(n)在域R上形成环(ring),即它在矩阵乘法和求和下闭合(引出了群的概念)。
我们给出线性映射的一些规范化定义。
规范化定义
设 v 1 , . . , v n v_1,..,v_n v1,..,vn是 V V V的基, w 1 , . . . , w n ∈ W w_1,...,w_n\in W w1,...,wn∈W。则存在唯一一个线性映射 L : V → W L:V\rightarrow W L:V→W(有些书本会写成 T T T)使得对于任意的 j = 1 , . . . , n j=1,...,n j=1,...,n都有
L v j = w j Lv_j = w_j Lvj=wj
对于证明就不证明了,有需要的话。留言评论我再修改博文添加。此博文只是用于实际的计算机处而非数学的课程博文
单射(injective)
当 L v = L u Lv=Lu Lv=Lu时必有 u = v u=v u=v,则称线性映射 L : V → W L:V\rightarrow W L:V→W是单射。
换句话说,单射映射将不同输入映射成不同输出,即 u ≠ v u\neq v u̸=v则 T u ≠ T v Tu\neq Tv Tu̸=Tv
线性群 G L ( n ) GL(n) GL(n)和 S L ( n ) SL(n) SL(n)
存在形成一组的某些线性变换群(Group)。
博主将群定义为一种集合加上一种运算的代数结构,当然这也可能并不规范,下面给出较为规范的定义。
一个群是具有操作 ∘ : G × G → G \circ:G\times G\rightarrow G ∘:G×G→G的一个集合 G G G,它满足下面的性质:
- 封闭性: g 1 ∘ g 2 ∈ G , ∀ g 1 , g 2 ∈ G g_1\circ g_2 \in G,\forall g_1,g_2\in G g1∘g2∈G,∀g1,g2∈G
- 结合律: ( g 1 ∘ g 2 ) ∘ g 3 = g 1 ∘ ( g 2 ∘ g 3 ) , ∀ g 1 , g 2 , g 3 ∈ G (g_1\circ g_2)\circ g_3 = g_1 \circ (g_2 \circ g_3),\forall g_1,g_2,g_3\in G (g1∘g2)∘g3=g1∘(g2∘g3),∀g1,g2,g3∈G
- 幺(零)元: ∃ e ∈ G : e ∘ g = g ∘ e = g , ∀ g ∈ G \exist e\in G:e\circ g= g \circ e = g,\forall g\in G ∃e∈G:e∘g=g∘e=g,∀g∈G
- 逆元: ∃ g − 1 ∈ G : g ∘ g − 1 = g − 1 ∘ g = e , ∀ g ∈ G \exist g^{-1}\in G:g\circ g^{-1} = g^{-1}\circ g=e,\forall g\in G ∃g−1∈G:g∘g−1=g−1∘g=e,∀g∈G
示例
所有可逆(非奇异) n × n n\times n n×n实矩阵形成关于矩阵乘法的群。 该群称为一般线性群 G L ( n ) GL(n) GL(n)。 它由所有 A ∈ M A\in \mathcal{M} A∈M组成,都满足:
det ( A ) ≠ 0 \det (A) \neq 0 det(A)̸=0
所有满足 A ∈ G L ( n ) A\in GL(n) A∈GL(n)矩阵,其 det ( A ) = 1 \det (A)=1 det(A)=1形成一个群,被称为特殊线性群 S L ( n ) SL(n) SL(n)。而且值得一说的是, A A A的逆也在这个群中,即 det ( A − 1 ) = d e t ( A ) − 1 \det(A^{-1})=det(A)^{-1} det(A−1)=det(A)−1。
后期会涉及到李群和李代数,他们也是群的一种
群的矩阵表达
如果存在单射变换(injective transformation),则组G具有矩阵表达或者被认为是矩阵群:
R : G → G L ( n ) R:G\rightarrow GL(n) R:G→GL(n)
它保留了G的群结构,即逆(inverse)和组合(composition)由映射保留:
R ( e ) = I n × n , R ( g ∘ h ) = R ( g ) R ( h ) , ∀ g , h ∈ G R(e)=I_{n\times n},R(g\circ h)=R(g)R(h),\forall g,h\in G R(e)=In×n,R(g∘h)=R(g)R(h),∀g,h∈G
这样的映射 R R R被称为群同态(Group homomorphism)。
中文版维基百科需要翻墙,没有条件还是去英文版吧,原汁原味。
值得注意的,这群的矩阵表示有什么作用?
使用群的矩阵表示的想法是让我们可以允许通过查看相应矩阵群的属性来分析更抽象的群。
示例
我们知道对象的旋转形成一个群,因为存在零元素(无旋转)和逆元素(反向旋转),并且旋转的任何连接也是旋转(围绕不同的轴)。 如果旋转由相应的矩阵表示,则研究旋转群的属性更容易。
这就是旋转矩阵的群的引出,比如 S O ( 2 ) , S O ( 3 ) SO(2),SO(3) SO(2),SO(3)
仿射变换群 A ( n ) A(n) A(n)
我们使用矩阵 A ∈ G L ( n ) A\in GL(n) A∈GL(n)和一个向量 b ∈ R n b\in \mathbb{R}^n b∈Rn定义仿射变换 L : R n → R n L:\mathbb{R}^n\rightarrow \mathbb{R}^n L:Rn→Rn:
L ( x ) = A ( x ) + b L(x)=A(x)+b L(x)=A(x)+b
所有这种仿射变换的集合称为维度 n n n的仿射群,由 A ( n ) A(n) A(n)表示。
除非 b = 0 b = 0 b=0,否则上面定义的 L L L不是线性映射。通过引入齐次坐标来表示 x ∈ R n \rm x\in \mathbb{R}^n x∈Rn为 ( x 1 ) ∈ R n + 1 \begin{pmatrix}\rm x\\1\end{pmatrix}\in \mathbb{R}^{n+1} (x1)∈Rn+1, L L L成为线性映射:
L : R n + 1 → R n + 1 ; ( x 1 ) ↦ ( A b 0 1 ) ( x 1 ) L:\mathbb{R}^{n+1}\rightarrow \mathbb{R}^{n+1};\begin{pmatrix}\rm x \\ 1\end{pmatrix}\mapsto \begin{pmatrix}A & b \\0 & 1\end{pmatrix}\begin{pmatrix}\rm x \\ 1\end{pmatrix} L:Rn+1→Rn+1;(x1)↦(A0b1)(x1)
具有 A ∈ G L ( n ) A \in GL(n) A∈GL(n)和 b ∈ R n b\in \mathcal{R}^{n} b∈Rn的矩阵 ( A b 0 1 ) \begin{pmatrix}A & b \\0 & 1\end{pmatrix} (A0b1)称为仿射矩阵。 它是 G L ( n + 1 ) GL(n+1) GL(n+1)的一个元素。 仿射矩阵形成 G L ( n + 1 ) GL(n+1) GL(n+1)的子群。
留个思考题,为什么是子群呢?答案我就不揭秘了。(感觉很简单)
正交群 O ( n ) O(n) O(n)
如果一个矩阵 A ∈ M ( n ) A\in \mathcal{M}(n) A∈M(n)保留了内积性质就被称为是正交矩阵:
< A x , A y > = < x , y > , ∀ x , y ∈ R n <Ax,Ay>=<x,y>,\forall x,y \in \mathbb{R}^n <Ax,Ay>=<x,y>,∀x,y∈Rn
感觉这样定义不够严谨。不过有些书是这么定义正交矩阵的。
如果一个 n × n n\times n n×n的实矩阵 A A A满足
A A T = E , A T A = E AA^T=E,A^TA=E AAT=E,ATA=E
其中 E E E是单位矩阵, A T A^T AT表示是矩阵 A A A的转置矩阵,则称该矩阵 A A A为正交矩阵。
值得注意的是这样矩阵具有以下性质:
- A T A^T AT也是正交矩阵
- A A A的各行是单位向量且两两正交,列也是如此
- det A = 1    o r    − 1 \det A = 1 \;or\; -1 detA=1or−1
- A T = A − 1 A^T=A^{-1} AT=A−1
接下来说正交群。
所有正交矩阵的集合形成正交群 O ( n ) O(n) O(n),其是 G L ( n ) GL(n) GL(n)的子群。 对于正交矩阵 R R R,我们有
< R x , R y > = x T R T R y = x T y , ∀ x , y ∈ R n <Rx,Ry>=x^T R^T R y=x^Ty,\forall x,y\in \mathbb{R}^{n} <Rx,Ry>=xTRTRy=xTy,∀x,y∈Rn
因此,我们必然有 R T R = R R T = I R^TR=RR^T=I RTR=RRT=I,换句话说:
O ( n ) = { R ∈ G L ( n ) ∣ R R T = I } O(n)=\{R\in GL(n)|RR^T=I\} O(n)={R∈GL(n)∣RRT=I}
谢天谢地,博主终于到此引出了正交群的概念。
上述恒等式表明,对于任何正交矩阵R,我们得到 det ( R T R ) = ( det ( R ) ) 2 = det ( I ) = 1 \det(R^TR)=(\det (R))^2=\det (I)=1 det(RTR)=(det(R))2=det(I)=1,使得 det ( R ) ∈ { ± 1 } \det(R)\in \{\pm1\} det(R)∈{±1}。
具有 det ( R ) = ± 1 \det(R)=\pm1 det(R)=±1的 O ( n ) O(n) O(n)的子群称为特殊正交群 S O ( n ) SO(n) SO(n)。 S O ( n ) = O ( n )    ∩    S L ( n ) SO(n) = O(n) \;\cap \;SL(n) SO(n)=O(n)∩SL(n)。 特别地, S O ( 3 ) SO(3) SO(3)是所有三维旋转矩阵的组。
回顾: O ( n ) O(n) O(n)是正交群, S L ( L ) SL(L) SL(L)是特殊线性群(前面有讲述)
欧式群 E ( n ) E(n) E(n)
从 R n \mathbb{R}^n Rn到 R n \mathbb{R}^n Rn的欧几里德变换 L L L由正交矩阵 R ∈ O ( n ) R\in O(n) R∈O(n)和向量 T ∈ R n T\in \mathbb{R}^n T∈Rn定义:
L : R n → R n ; x ↦ R x + T L:\mathbb{R}^n\rightarrow \mathbb{R}^n;x\mapsto Rx+T L:Rn→Rn;x↦Rx+T
所有这些变换的集合称为欧几里德群 E ( n ) E(n) E(n)。 它是仿射群A(n)的子组。 通过齐次坐标表示,我们得到:
E ( n ) = { ( R T 0 1 ) ∣ R ∈ O ( n ) , T ∈ R n } E(n)=\left\{\begin{pmatrix}R & T \\ 0 &1\end{pmatrix}\Bigg| R\in O(n) ,T\in \mathbb{R}^n\right\} E(n)={(R0T1)∣∣∣∣∣R∈O(n),T∈Rn}
如果 R ∈ S O ( 3 ) R\in SO(3) R∈SO(3)(即 det ( R ) = 1 \det (R)=1 det(R)=1),则我们得到特殊欧式群 S E ( 3 ) SE(3) SE(3)。 特别地, S E ( 3 ) SE(3) SE(3)代表 R 3 \mathbb{R}^3 R3中的刚体运动。
群的范围总结
让我们来总结一下
S O ( n ) ⊂ O ( n ) ⊂ G L ( n ) SO(n)\sub O(n)\sub GL(n) SO(n)⊂O(n)⊂GL(n)
S E ( n ) ⊂ E ( n ) ⊂ A ( n ) ⊂ G L ( n + 1 ) SE(n)\sub E(n) \sub A(n) \sub GL(n+1) SE(n)⊂E(n)⊂A(n)⊂GL(n+1)
值域(range),扩张空间(span),零空间(Null Space)和核(Kernel)
设 A ∈ R m × n A\in R^{m\times n} A∈Rm×n是定义从 R n \mathbb{R}^n Rn到 R m \mathbb{R}^m Rm的线性映射的矩阵。 A的值域(range,即为列空间)或扩张空间(span,也是张成的空间)定义为 R m \mathbb{R}^m Rm的子空间,可以通过A“可达”的空间:
r a n g e ( A ) = { y ∈ R m ∣ ∃ x ∈ R n : A x = y } {\rm range}(A) = \{y\in \mathbb{R}^m | \exist x\in \mathbb{R}^n:Ax=y\} range(A)={y∈Rm∣∃x∈Rn:Ax=y}
矩阵A的值域由其列向量的张成的空间。
矩阵A的零空间或核由被映射为零向量的向量集 x ∈ R n x\in \mathbb{R}^n x∈Rn给出:
n u l l ( A ) ≡ k e r ( A ) = { x ∈ R 3 ∣ A x = 0 } {\rm null}(A) \equiv {\rm ker}(A) = \{x\in \mathbb{R}^3| Ax=0\} null(A)≡ker(A)={x∈R3∣Ax=0}
矩阵A的零空间由与其行向量正交的向量给出。
用matlab的代码写如下:
Z=null(A)
在研究线性方程的解时,值域和零空间的概念是有用的。 方程 A x = b Ax=b Ax=b有一个解 x ∈ R 3 x\in \mathbb{R}^3 x∈R3当且仅当 b ∈ r a n g e ( A ) b\in {\rm range}(A) b∈range(A)。 而且,只有当 k e r ( A ) = 0 {\rm ker}(A)={0} ker(A)=0时,该解才是唯一解。 实际上,如果 x s x_s xs是 A x = b Ax=b Ax=b和 x o ∈ k e r ( A ) x_o \in {\rm ker}(A) xo∈ker(A)的解,则 x s + x o x_s+x_o xs+xo也是解: A ( x s + x o ) = A x s + A x o = b A(x_s+x_o)=Ax_s+Ax_o=b A(xs+xo)=Axs+Axo=b。
可能有人把之称之为通解或一般解
矩阵求解不想额外扩展,如果有人想要额外扩展,我可能需要开个新博文详细讲解,但具体来说,我们需要记求解的时候是需要增广矩阵或者克拉默法则来求解的,另外有以下的几点总结(矩阵求解有需要的人下面博文评论,我就另外开一篇博文描述)。
总结需要矩阵的秩的内容,如果不懂的,先跳过,后面讲解了矩阵的秩。
- r a n k ( A ) < r a n k ( A , b ) {\rm rank}(A) < {\rm rank}(A,b) rank(A)<rank(A,b),则方程组无解
- r a n k ( A ) = r a n k ( A , b ) = r = n {\rm rank}(A) = {\rm rank}(A,b) = r = n rank(A)=rank(A,b)=r=n,则方程组有唯一解
- r a n k ( A ) = r a n k ( A , b ) = r < n {\rm rank}(A) = {\rm rank}(A,b) = r < n rank(A)=rank(A,b)=r<n,则方程组有无穷多解
对于有解的情况:
- d e t ( A ) = 0 {\rm det}(A)=0 det(A)=0,则无穷多解
- d e t ( A ) ≠ 0 {\rm det}(A)\neq 0 det(A)̸=0,则存在唯一解
矩阵的秩(Rank)
我们把矩阵的值域的维度称为矩阵的秩,即:
r a n k ( A ) = d i m ( r a n g e ( A ) ) {\rm rank}(A) = {\rm dim}({\rm range}(A)) rank(A)=dim(range(A))
矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n的秩有如下的性质:
-
r a n k ( A ) = n − d i m ( k e r ( A ) ) {\rm rank}(A)=n-{\rm dim}({\rm ker}(A)) rank(A)=n−dim(ker(A))
-
0 ≤ r a n k ( A ) 等 于 A 的 线 性 独 立 行 ( 或 列 ) 向 量 的 最 大 数 量 。 ≤ min { m , n } 0\le rank(A)等于A的线性独立行(或列)向量的最大数量。\le \min\{m,n\} 0≤rank(A)等于A的线性独立行(或列)向量的最大数量。≤min{m,n}
-
r a n k ( A ) {\rm rank}(A) rank(A)等于 A A A的线性独立行(或列)向量的最大数量。
-
r a n k ( A ) {\rm rank}(A) rank(A)是A的非零子式的最高阶,其中阶数为 k k k的子式(minor)是 A A A的 k × k k\times k k×k的子矩阵
-
西尔维斯特不等式(Sylvester’s inequality):
让 B ∈ R n × k B\in \mathbb{R}^{n\times k} B∈Rn×k,然后 A B ∈ R m × k AB\in \mathbb{R}^{m\times k} AB∈Rm×k,而且
r a n k ( A ) + r a n k ( B ) − n ≤ r a n k ( A B ) ≤ min { r a n k ( A ) , r a n k ( B ) } {\rm rank}(A)+{\rm rank}(B)-n \le {\rm rank}(AB) \le \min\{{\rm rank}(A),{\rm rank}(B)\} rank(A)+rank(B)−n≤rank(AB)≤min{rank(A),rank(B)}
-
对于任何非奇异矩阵 C ∈ R m × m C \in \mathbb{R}^{m\times m} C∈Rm×m和 D ∈ R n × n D \in \mathbb{R}^{n\times n} D∈Rn×n,我们有
r a n k ( A ) = r a n k ( C A D ) {\rm rank(A)}={\rm rank}(CAD) rank(A)=rank(CAD)
matlab中求矩阵的秩:
d=rank(A)
特征值和特征向量
让 A ∈ C n × n A\in \mathbb{C}^{n\times n} A∈Cn×n是复矩阵。一个非零向量 v ∈ C n v\in \mathbb{C}^n v∈Cn被称为 A A A 的(右)特征向量,仅当它满足下面条件时:
A v = λ v , λ ∈ C Av=\lambda v,\lambda\in \mathbb{C} Av=λv,λ∈C
λ \lambda λ被称为 A A A的特征值。
类似的,如果对于 λ ∈ C \lambda\in \mathbb{C} λ∈C,有 v T A = λ v T v^TA=\lambda v^T vTA=λvT,则称为 A A A的左特征向量。
矩阵A的谱(spectrum) σ ( A ) \sigma(A) σ(A)是其所有特征值的集合。
用matlab求特征值和特征向量:
[V,D]=eig(A)
其中 D D D是包含特征值的对角矩阵, V V V是矩阵,其列是对应的特征向量,使得 A V = V D AV = VD AV=VD。
特征值和特征向量的性质
让 A ∈ R n × n A\in \mathbb{R}^{n\times n} A∈Rn×n,然后
-
对于一些 λ ∈ R \lambda \in \mathbb{R} λ∈R,满足 A v = λ v Av=\lambda v Av=λv,接着存在一个左特征向量 η ∈ R n : η T A = λ η T \eta \in \mathbb{R}^n:\eta^TA=\lambda\eta^T η∈Rn:ηTA=ληT。因此 σ ( A ) = σ ( A T ) \sigma(A)=\sigma(A^T) σ(A)=σ(AT)。
想想将 η T A = λ η T \eta^TA=\lambda\eta^T ηTA=ληT两边都转置
-
与不同特征值相关联的矩阵 A A A的特征向量是线性无关的。
-
所有特征值 σ ( A ) \sigma(A) σ(A)是特征多项式方程 d e t ( λ I − A ) = 0 {\rm det}(\lambda I - A)=0 det(λI−A)=0的根。因此 det ( A ) \det (A) det(A)等于所有特征值的乘积(其中一些特征值可能多次出现)。
-
对于一些非奇异矩阵,如果 B = P A P − 1 B=PAP^{-1} B=PAP−1,则 σ ( B ) = σ ( A ) \sigma(B)=\sigma(A) σ(B)=σ(A)
-
如果 λ ∈ C \lambda \in \mathbb{C} λ∈C是一个特征值,那么它的共轭 λ ‾ ∈ C \overline{\lambda} \in \mathbb{C} λ∈C也是一个特征值。 因此对于实矩阵 A A A来说, σ ( A ) = σ ( A ) ‾ \sigma(A)=\overline{\sigma(A)} σ(A)=σ(A).
对称矩阵
如果 S T = S S^T=S ST=S,则矩阵 S ∈ R n × n S\in \mathbb{R}^{n\times n} S∈Rn×n称为对称的。如果 x T S x ≥ 0 x^TSx\ge 0 xTSx≥0,则对称矩阵 S S S称为半正定矩阵(由 S ≥ 0 S \ge 0 S≥0或 S ⪰ 0 S \succeq 0 S⪰0表示)。 如果 x T S x > 0 , ∀ x ≠ 0 x^TSx>0,\forall x \neq 0 xTSx>0,∀x̸=0,则称 S S S为正定(用 S > 0 S>0 S>0或 S ≻ 0 S \succ 0 S≻0表示)。
让 S ∈ R n × n S\in \mathbb{R}^{n\times n} S∈Rn×n是实对称矩阵,则:
- S S S的所有特征值都是实数。例: σ ( S ) ∈ R \sigma(S)\in \mathbb{R} σ(S)∈R
- 对应于不同特征值 λ i ≠ λ j \lambda_i\neq \lambda_j λi̸=λj的 S S S的特征向量 v i v_i vi和 v j v_j vj是正交的。
- S S S总是存在 n n n个正交的特征向量,它们构成 R n \mathbb{R}^n Rn的基。 设 V = ( v 1 , . . . , v n ) ∈ O ( n ) V=(v_1,...,v_n)\in O(n) V=(v1,...,vn)∈O(n)是这些特征向量的正交矩阵,并且 ∧ = d i a g ( λ 1 , . . . , λ n ) \land = {\rm diag}(\lambda_1,...,\lambda_n) ∧=diag(λ1,...,λn)是特征值组成的对角矩阵。 然后我们有 S = V ∧ V T S=V\land V^T S=V∧VT。
- 如果所有特征值都是正的(非负),则 S S S是正(半正)定的。
- 设 S S S为半正定且 λ 1 , λ n \lambda_1,\lambda_n λ1,λn是最大和最小的特征值。 那么 λ 1 = max ∣ x ∣ = 1 < x , S x > \lambda_1=\max_{|x|=1}<x,Sx> λ1=max∣x∣=1<x,Sx>和 λ n = min ∣ x ∣ = 1 < x , S x > \lambda_n=\min_{|x|=1}<x,Sx> λn=min∣x∣=1<x,Sx>。
矩阵的范数
有很多方法可以在矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n的空间(space)上定义范数。 它们可以基于 A A A操作的域空间上的范数来定义。 特别地,矩阵A的诱导2范数被定义为
∣ ∣ A ∣ ∣ 2 ≡ max ∣ x ∣ 2 = 1 ∣ A x ∣ 2 = max ∣ x ∣ 2 = 1 < x , A T A x > ||A||_2\equiv \max\limits_{|x|_2=1}|Ax|_2=\max\limits_{|x|_2=1}\sqrt{<x,A^TAx>} ∣∣A∣∣2≡∣x∣2=1max∣Ax∣2=∣x∣2=1max<x,ATAx>
或者,可以将 A A A的 F r o b e n i u s Frobenius Frobenius范数( F F F范数)定义为:
∣ ∣ A ∣ ∣ f ≡ ∑ i , j a i j 2 = t r a c e ( A T A ) ||A||_f \equiv \sqrt{\sum\limits_{i,j}a_{ij}^2}=\sqrt{{\rm trace}(A^TA)} ∣∣A∣∣f≡i,j∑aij2=trace(ATA)
国内书籍可能写成 ∣ ∣ A ∣ ∣ F ||A||_F ∣∣A∣∣F
请注意,这些范数通常不一样。 由于矩阵 A T A A^TA ATA是对称的并且是半正定的,我们可以将它对角化为: A T A = V d i a g ( σ 1 2 , . . . , σ n 2 ) V T A^TA=V {\rm diag}(\sigma_1^2,...,\sigma_n^2)V^T ATA=Vdiag(σ12,...,σn2)VT,其中 σ 1 2 ≥ σ i 2 ≥ 0 \sigma_1^2\ge\sigma_i^2\ge 0 σ12≥σi2≥0。这导致:
∣ ∣ A ∣ ∣ 2 = σ 1 ||A||_2=\sigma_1 ∣∣A∣∣2=σ1
而且
∣ ∣ A ∣ ∣ f = t r a c e ( A T A ) = σ 1 2 + . . . + σ n 2 ||A||_f=\sqrt{{\rm trace}(A^TA)}=\sqrt{\sigma_1^2+...+\sigma_n^2} ∣∣A∣∣f=trace(ATA)=σ12+...+σn2
值得注意的矩阵的迹有如下性质:
- T r ( A ) = T r ( A T ) {\rm Tr}(A)={\rm Tr}(A^T) Tr(A)=Tr(AT)
- T r ( A B C ) = T r ( C A B ) = T r ( B C A ) {\rm Tr}(ABC)={\rm Tr}(CAB)={\rm Tr}(BCA) Tr(ABC)=Tr(CAB)=Tr(BCA)
- a ∈ R , a = T r ( a ) a\in \mathbb{R},a={\rm Tr}(a) a∈R,a=Tr(a)
斜对称矩阵
如果 A T = − A A^T=-A AT=−A,矩阵 A ∈ R n × n A\in \mathbb{R}^{n\times n} A∈Rn×n称为斜对称(skew-symmetric)或反对称矩阵(anti-symmetric)。
如果 A A A是实斜对称矩阵,则
-
A A A的所有特征值都是零或纯虚数,即形式为 i w iw iw ,其中 i 2 = − 1 , w ∈ R i^2=-1,w\in \mathbb{R} i2=−1,w∈R
-
存在正交矩阵V,使得
A = V ∧ V T A=V \land V^T A=V∧VT
其中 ∧ \land ∧是分块对角矩阵
∧ = d i a g { A 1 , . . . , A m , 0 , . . . , 0 } \land = {\rm diag}\{A_1,...,A_m,0,...,0\} ∧=diag{A1,...,Am,0,...,0},其中实对称矩阵 A i A_i Ai有如下形式:
A i = ( 0 a i − a i 0 ) ∈ R 2 × 2 , i = 1... , m A_i = \begin{pmatrix}0 & a_i \\ -a_i & 0 \end{pmatrix}\in \mathbb{R}^{2\times 2},i=1...,m Ai=(0−aiai0)∈R2×2,i=1...,m
特别地,任何斜对称矩阵的秩是偶数。
例子-计算机视觉中的斜对称
在计算机视觉中,一个常见的斜对称矩阵由矢量 u ∈ R 3 u\in \mathbb{R}^3 u∈R3的帽算子(hat operator)给出:
u ^ = ( 0 − u 3 u 2 u 3 0 − u 1 − u 2 u 1 0 ) ∈ R 3 × 3 \hat{u}=\begin{pmatrix} 0 & -u_3 & u_2\\ u_3 & 0 & -u_1 \\ -u_2 & u_1 & 0 \end{pmatrix}\in \mathbb{R}^{3\times 3} u^=⎝⎛0u3−u2−u30u1u2−u10⎠⎞∈R3×3
这是从矢量 R 3 \mathbb{R}^3 R3的空间到 R 3 × 3 \mathbb{R}^{3\times 3} R3×3中的斜对称矩阵的空间的线性算子。
特别地,矩阵 u ^ \hat{u} u^具有以下特性
u ^ v = u × v \hat{u} v = u\times v u^v=u×v
其中 × \times ×表示 R 3 \mathbb{R}^3 R3中的标准向量积。 对于 u ≠ 0 u \ne 0 u̸=0,我们得到 r a n k ( u ^ ) = 2 {\rm rank}(\hat{u})=2 rank(u^)=2并且由 u u u扩展的 u ^ \hat{u} u^的零空间,因为 u ^ u = u T u ^ = 0 \hat{u}u=u^T\hat{u}=0 u^u=uTu^=0。
奇异值分解(SVD)
我们研究了矩阵的许多属性,例如秩,值域,零空间和矩阵的诱导范数。 许多这些属性可以通过所谓的奇异值分解(SVD)来获得。
SVD:singular value decomposition
SVD可以看作是非方阵的特征值和特征向量的推广。
SVD的计算在数值上是良态的(well-conditioned)。 它对于求解线性代数问题非常有用,例如矩阵求逆,秩计算,线性最小二乘估计,投影和固定秩近似。
在实践中,奇异值分解和特征值分解都被广泛使用。
博主认为有一篇关于SVD的描述还是不错,可以参考该文SVD分解及几何意义。
要说明奇异值分解,首先我们需要说一说什么是奇异值。
奇异值(singular values)
这里我们不给出很严谨的数学定义(如果有需要则在评论中说明,我会添加)
我们说奇异值是指给定一个矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n,我们令 q = min { m , n } q=\min\{m,n\} q=min{m,n},假设 r a n k ( A ) = r {\rm rank}(A)=r rank(A)=r。
那么当我们求 A H A A^HA AHA的特征值中非负特征值的算术平方根叫做奇异值。
SVD的代数推导
让我们定义一个矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n,其中 m ≥ 0 , r a n k ( A ) = p m\ge 0,{\rm rank}(A)=p m≥0,rank(A)=p。接着存在如下性质:
- U ∈ R m × p U \in \mathbb{R}^{m\times p} U∈Rm×p,其列是正交的
- V ∈ R n × p V\in \mathbb{R}^{n\times p} V∈Rn×p,其列是正交的
- Σ ∈ R p × p , Σ = d i a g ( σ 1 , . . . , σ p ) \Sigma \in \mathbb{R}^{p\times p},\Sigma={\rm diag}(\sigma_1,...,\sigma_p) Σ∈Rp×p,Σ=diag(σ1,...,σp),其中 σ 1 ≥ . . . ≥ σ p \sigma_1 \ge ... \ge \sigma_p σ1≥...≥σp,
以至于可得到:
A = U Σ V T A=U\Sigma V^T A=UΣVT
注意,这概括了特征值分解。 而后者用正交变换 V V V分解对称方阵 A A A:
A = V ∧ V T A=V \land V^T A=V∧VT
其中 V ∈ O ( n ) , ∧ = d i a g { λ 1 , . . . , λ n } V \in O(n),\land = {\rm diag}\{\lambda_1,...,\lambda_n\} V∈O(n),∧=diag{λ1,...,λn}
SVD允许利用具有正交列的两个变换 U U U和 V V V来分解秩 p p p的任意(非方阵)矩阵 A A A,如上所示。 然而,我们将看到SVD基于对称方阵的特征值分解。
SVD分解的证明
给定一个矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n,其中 m ≥ n m \ge n m≥n而且 r a n k ( A ) = p {\rm rank}(A)=p rank(A)=p,则矩阵
A T A ∈ R n × n A^TA\in \mathbb{R}^{n\times n} ATA∈Rn×n
是对称的,半正定的。 因此,它可以被分解为具有的非负特征值 σ 1 2 ≥ . . . ≥ σ n 2 ≥ 0 \sigma_1^2\ge ...\ge \sigma_n^2\ge0 σ12≥...≥σn2≥0的正交特征向量 v 1 , . . . , v n v_1,...,v_n v1,...,vn。 σ 1 \sigma_1 σ1被称为奇异值。
由于 k e r ( A T A ) = k e r ( A ) {\rm ker}(A^TA)={\rm ker}(A) ker(ATA)=ker(A)和 r a n g e ( A T A ) = r a n g e ( A T ) {\rm range}(A^TA)={\rm range}(A^T) range(ATA)=range(AT)
加上已知 s p a n { v 1 , . . . , v p } = r a n g e ( A T ) {\rm span}\{v_1,...,v_p\}={\rm range}(A^T) span{v1,...,vp}=range(AT)和 s p a n { v p + 1 , . . . , v n } = k e r ( A ) {\rm span}\{v_{p+1},...,v_n\}={\rm ker(A)} span{vp+1,...,vn}=ker(A)。
然后让
u i = 1 σ i A v i ⇔ A v i = σ i u i , i = 1 , . . . , p u_i=\frac{1}{\sigma_i}Av_i \Leftrightarrow Av_i = \sigma_iu_i,i=1,...,p ui=σi1Avi⇔Avi=σiui,i=1,...,p
而 u i ∈ R m u_i\in \mathbb{R}_m ui∈Rm是正交的:
< u i , u j > = 1 σ i σ j < A v i , A v j > = 1 σ i σ j < v i , A T A v j > = δ i j <u_i,u_j>=\frac{1}{\sigma_i\sigma_j}<Av_i,Av_j>=\frac{1}{\sigma_i\sigma_j}<v_i,A^TAv_j>=\delta_{ij} <ui,uj>=σiσj1<Avi,Avj>=σiσj1<vi,ATAvj>=δij
然后完成 { u i } i = 1 p \{u_i\}_{i=1}^p {ui}i=1p到 R m \mathbb{R}_m Rm的基 { u i } i = 1 m \{u_i\}_{i=1}^m {ui}i=1m。由于 A v i = σ i u i Av_i=\sigma_iu_i Avi=σiui,我们可以得到:
A ( v 1 , . . . , v n ) = ( u 1 , . . . , u m ) ( σ 1 0 0 ⋯ 0 0 ⋱ 0 ⋮ 0 0 ⋯ σ ⋮ 0 ⋮ ⋯ ⋯ ⋮ 0 0 ⋯ ⋯ 0 0 ) A(v_1,...,v_n)=(u_1,...,u_m)\begin{pmatrix}\sigma_1 & 0&0&\cdots&0 \\ 0& \ddots& 0 &\vdots&0 \\ 0& \cdots& \sigma &\vdots&0\\ \vdots & \cdots & \cdots & \vdots & 0 \\ 0 &\cdots & \cdots & 0 & 0 \end{pmatrix} A(v1,...,vn)=(u1,...,um)⎝⎜⎜⎜⎜⎜⎜⎜⎛σ100⋮00⋱⋯⋯⋯00σ⋯⋯⋯⋮⋮⋮000000⎠⎟⎟⎟⎟⎟⎟⎟⎞
它具有 A V ~ = U ~ Σ ~ A \widetilde{V} = \widetilde{U}\widetilde{\Sigma} AV =U Σ 的形式,因此:
A = U ~ Σ ~ V ~ T A=\widetilde{U}\widetilde{\Sigma} \widetilde{V}^T A=U Σ V T
现在简单地删除所有乘以零奇异值 U ~ \widetilde{U} U 的列和 V ~ T \widetilde{V}^T V T的行,我们得到形式 A = U Σ V T A=U\Sigma V^T A=UΣVT,其中 U ∈ R m × p U\in \mathbb{R}^{m\times p} U∈Rm×p和 V ∈ R n × p V \in \mathbb{R}^{n\times p} V∈Rn×p。
在matlab中,使用以下代码可以求矩阵的SVD分解
[U,S,V]=svd(A)
SVD的几何解释
对于 A ∈ R n × n A\in \mathbb{R}^{n\times n} A∈Rn×n,奇异值分解 A = U Σ V t A=U\Sigma V^t A=UΣVt使得 U = ( u 0 , . . . , u n ) U=(u_0,...,u_n) U=(u0,...,un)的列和 V = ( v 1 , . . . , v n ) V=(v_1,...,v_n) V=(v1,...,vn)形成 R n \mathbb{R}^n Rn的正交基。 如果通过变换 A A A将点 x ∈ R n x \in \mathbb{R}^n x∈Rn映射到点 y ∈ R n y \in \mathbb{R}^n y∈Rn,则以 U U U的基为底得到的坐标 y y y通过对角矩阵 Σ \Sigma Σ与 V V V的基为底的 x x x坐标相关:每个坐标仅通过相应的奇异值进行缩放:
y = A x = U Σ V T x ⇔ U T y = Σ V T x y=Ax=U\Sigma V^Tx \Leftrightarrow U^Ty=\Sigma V^Tx y=Ax=UΣVTx⇔UTy=ΣVTx
矩阵 A A A将单位球体映射为具有半轴长为 σ i u i \sigma_iu_i σiui的椭圆体。
我们将 α ≡ V T x \alpha\equiv V^Tx α≡VTx是点 x x x在以 V V V为基下的系数,同理 y y y在以 U U U为基下的系数被记为 β ≡ U T y \beta\equiv U^Ty β≡UTy。圆的所有点都满足 ∣ x ∣ 2 2 = ∑ i α i 2 = 1 |x|_2^2=\sum\limits_{i}\alpha_i^2=1 ∣x∣22=i∑αi2=1。按照上面的推算可以得到 β i = σ i α i \beta_i=\sigma_i\alpha_i βi=σiαi。 因此对于在球体上的点:
∑ i a i 2 = ∑ i β o 2 α i 2 = 1 \sum\limits_{i}a_i^2=\sum\limits_{i}\frac{\beta_o^2}{\alpha_i^2}=1 i∑ai2=i∑αi2βo2=1
其中指出,变换点位于沿着以 U U U为基的轴取向的椭圆体上。
本博主推荐一篇博文,关于讲解SVD的几何意义。
广义(Moore Penrose)逆
对于某些二次矩阵,如果 det ( A ) = 0 \det (A)=0 det(A)=0,则可以定义逆矩阵。所有可逆矩阵的集合形成群 G L ( n ) GL(n) GL(n)。
还可以为任意(非二次)矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n定义(广义)逆(也称为伪逆)(dt。:伪逆)。 如果其SVD为 A = U Σ V T A=U\Sigma V^T A=UΣVT,则伪逆定义为:
A † = V Σ † U T A^{\dagger}=V\Sigma^{\dagger}U^T A†=VΣ†UT
其中:
Σ † = ( Σ 1 − 1 0 0 0 ) n × m \Sigma^{\dagger}=\begin{pmatrix}\Sigma_1^{-1} & 0\\ 0 &0\end{pmatrix}_{n\times m} Σ†=(Σ1−1000)n×m
国内的书对于广义逆的上标可能直接是 + + +而不是 † \dagger †
其中 Σ 1 \Sigma_1 Σ1是非零奇异值的对角矩阵。
在Matlab中这样求解出广义(伪)逆:
X = pinv(A)
特别地,伪逆能以与二次可逆矩阵的逆相似的方式使用:
A A † A = A , A † A A † = A † AA^{\dagger}A=A,A^{\dagger}AA^{\dagger}=A^{\dagger} AA†A=A,A†AA†=A†
线性方程 A x = b Ax = b Ax=b,其中秩 r ≤ min { m , n } r\le \min\{m,n\} r≤min{m,n}的矩阵 A ∈ R m × n A\in \mathbb{R}^{m\times n} A∈Rm×n可以有多个或没有解。 x m i n = A † b x_{min}=A^{\dagger}b xmin=A†b是 ∣ ∣ A x − b ∣ ∣ 2 ||Ax-b||^2 ∣∣Ax−b∣∣2中最小范数 ∣ ∣ x ∣ ∣ ||x|| ∣∣x∣∣的极小化变量(minimizers)。
详细的说。
当矩阵 A A A的列数多余行数的时候,使用使用伪逆求解线性方程是众多可能解法中的一种。特别地, x = A † x=A^{\dagger} x=A† 是方程所有可行解中欧几里得范数 ∣ ∣ x ∣ ∣ 2 ||x||_2 ∣∣x∣∣2最小的一个。
当矩阵A 的行数多于列数时,可能没有解。在这种情况下,通过伪逆得到的
x
x
x
使得
A
x
Ax
Ax 和
b
b
b 的欧几里得距离
∣
∣
A
x
−
b
∣
∣
2
||Ax-b||_2
∣∣Ax−b∣∣2 最小。
总结
本次博文到这里介绍,介绍了线性代数的知识,只要是感觉在计算机视觉尤其是多几何视图中需要的。