矩阵计算
矩阵乘法
左乘是更普遍的方式。
左行右列:
初等阵
P
P
P 左乘
A
A
A 有
P
A
PA
PA,相当于对
A
A
A 按照
P
P
P 的行元素,做了一次初等行变换;
初等阵
Q
Q
Q 右乘
A
A
A 有
A
Q
AQ
AQ,相当于对
A
A
A 按照
Q
Q
Q 的列元素,做了一次初等列变换。
对角矩阵相乘,对每个行(列)都进行缩放。
三角矩阵相乘,对每个行(列)都进行缩放且有相应偏移(偏移为非对角元素作用的效果)。用图像表示为:右乘上三角矩阵,相当于图像往右上偏移;右乘下三角矩阵,相当于图像往左下偏移。
例如,矩阵A和向量B相乘为矩阵C
[
1
2
2
0
]
×
[
1
2
]
=
[
5
2
]
\left [ \begin{matrix} 1 & 2 \\ 2 & 0 \end{matrix} \right ] \times \left [ \begin{matrix} 1 \\ 2 \end{matrix} \right ] = \left [ \begin{matrix} 5 \\ 2 \end{matrix} \right ]
[1220]×[12]=[52]
可以理解为将 B 视为二维空间中一个箭头,被左乘矩阵后,变成矩阵C。如果B是矩阵,则将B视为多个列向量进行转化。
[
1
/
2
1
/
2
−
1
/
2
1
/
2
]
×
[
1
2
3
1
2
3
]
=
[
2
/
2
4
/
2
6
/
2
0
0
0
]
\left[\begin{matrix} 1/\sqrt{2} &1/\sqrt{2} \\-1/\sqrt{2} & 1/\sqrt{2} \end{matrix} \right] \times \left[\begin{matrix} 1&2&3\\1 & 2&3 \end{matrix} \right]=\left[\begin{matrix} 2/\sqrt{2} &4/\sqrt{2} &6/\sqrt{2} \\0& 0&0 \end{matrix} \right]
[1/2−1/21/21/2]×[112233]=[2/204/206/20]矩阵相乘几何意义:右侧矩阵中的每一个列向量变换到左边矩阵中的每一行行向量为基底的空间中。数据点
(
2
/
2
,
0
)
(2/\sqrt{2} ,0)
(2/2,0)
(
4
/
2
,
0
)
(4/\sqrt{2} ,0)
(4/2,0)
(
6
/
2
,
0
)
(6/\sqrt{2} ,0)
(6/2,0) 是
(
1
,
1
)
(1,1)
(1,1)
(
2
,
2
)
(2,2)
(2,2)
(
3
,
3
)
(3,3)
(3,3) 在
(
1
/
2
,
1
/
2
)
(1/\sqrt{2},1/\sqrt{2})
(1/2,1/2)
(
−
1
/
2
,
1
/
2
)
(-1/\sqrt{2},1/\sqrt{2})
(−1/2,1/2) 为基的坐标。其实就是矩阵的乘法法则推导出来的表达方式。

矩阵求逆
有分块矩阵 [ A B 0 C ] \left [ \begin{matrix}A&B\\ 0&C \end{matrix}\right ] [A0BC],逆为 [ A − 1 − A − 1 B C − 1 0 C − 1 ] \left [ \begin{matrix}A^{-1}&-A^{-1}BC^{-1}\\ 0&C^{-1} \end{matrix}\right ] [A−10−A−1BC−1C−1]
矩阵特征
特征表示能代表物体的属性。矩阵的特征值和特征向量。
A
x
=
λ
x
Ax=\lambda x
Ax=λx
该式子表明,向量
x
x
x 在
A
A
A 基底的空间变换,等价于其单独
λ
\lambda
λ 倍的变换。满足这一性质的向量
x
x
x 就属于矩阵
A
A
A 的特征向量,而
λ
\lambda
λ 属于对应的特征值。可以视为复杂的矩阵变换转换到简单的数乘计算。
矩阵是对称的,特征向量全都是正交的
特征分解(谱分解)
A [ x 1 , x 2 , ⋯ x n ] = [ λ 1 x 1 , λ 2 x 2 , ⋯ , λ n x n ] A [ x 1 , x 2 , ⋯ x n ] = [ x 1 , x 2 , ⋯ , x n ] ⋅ diag ( λ 1 , λ 2 , ⋯ , λ n ) A = [ x 1 , x 2 , ⋯ , x n ] ⋅ diag ( λ 1 , λ 2 , ⋯ , λ n ) ⋅ [ x 1 , x 2 , ⋯ x i ] T \begin{array}{cc}A[x_1, x_2, \cdots x_n]=[\lambda_1 x_1, \lambda_2 x_2, \cdots, \lambda_n x_n] \\ A[x_1, x_2, \cdots x_n]=\left[x_1, x_2, \cdots, x_n\right]\cdot \text{diag}(\lambda_1, \lambda_2, \cdots, \lambda_n) \\ A=\left[x_1, x_2, \cdots, x_n\right]\cdot \text{diag}(\lambda_1, \lambda_2, \cdots, \lambda_n) \cdot [x_1, x_2, \cdots x_i]^T\end{array} A[x1,x2,⋯xn]=[λ1x1,λ2x2,⋯,λnxn]A[x1,x2,⋯xn]=[x1,x2,⋯,xn]⋅diag(λ1,λ2,⋯,λn)A=[x1,x2,⋯,xn]⋅diag(λ1,λ2,⋯,λn)⋅[x1,x2,⋯xi]T
性质
特征值的和等于迹,特征值的积等于行列式。
矩阵分解
矩阵分解就是将矩阵组合的方式逆过来,矩阵的组合、分解类似于乘法除法。
特征分解(谱分解)
奇异值分解(Singular Value Decomposition)
定义:设矩阵
A
∈
C
r
m
×
n
A \in C_r^{m\times n}
A∈Crm×n ,
λ
i
\lambda _i
λi 是
A
A
H
(
A
H
A
)
AA^H(A^HA)
AAH(AHA) 的非零特征值,则称
σ
i
=
λ
i
\sigma _i=\sqrt{\lambda _i}
σi=λi 为
A
A
A 的奇异值,
i
=
1
,
2
,
⋯
,
r
i=1,2,\cdots,r
i=1,2,⋯,r
定理:设矩阵
A
∈
C
r
m
×
n
A \in C_r^{m\times n}
A∈Crm×n ,则存在
U
∈
U
m
×
m
U \in U^{m\times m}
U∈Um×m,
V
∈
U
n
×
n
V \in U^{n\times n}
V∈Un×n,使得
A
=
U
[
Δ
0
0
0
]
V
H
A=U \left [ \begin{matrix} \Delta &0\\ 0&0\end{matrix} \right]V^H
A=U[Δ000]VH,其中
Δ
=
d
i
a
g
[
σ
1
,
σ
2
,
⋯
,
σ
r
]
\Delta=diag[\sigma _1,\sigma _2,\cdots,\sigma _r]
Δ=diag[σ1,σ2,⋯,σr],
σ
1
≥
σ
2
≥
⋯
≥
σ
r
\sigma _1 \geq \sigma _2 \geq \cdots \geq \sigma _r
σ1≥σ2≥⋯≥σr 为
A
A
A 的奇异值。
证明:因为
A
A
H
AA^H
AAH 是正规阵,所以存在
U
∈
U
m
×
m
U\in U^{m\times m}
U∈Um×m ,使得
U
H
A
A
H
U
=
d
i
a
g
[
σ
1
2
,
σ
2
2
,
⋯
,
σ
r
2
,
0
,
⋯
,
0
]
=
[
Δ
Δ
H
0
0
0
]
U^HAA^HU=diag[\sigma _1^2,\sigma _2^2, \cdots,\sigma _r^2,0,\cdots,0]=\left[\begin{matrix}\Delta \Delta ^H&0\\0&0\end{matrix}\right ]
UHAAHU=diag[σ12,σ22,⋯,σr2,0,⋯,0]=[ΔΔH000]
且
σ
1
2
≥
σ
2
2
≥
⋯
≥
σ
r
2
\sigma _1^2 \geq \sigma _2^2 \geq \cdots \geq\sigma _r^2
σ12≥σ22≥⋯≥σr2
其中
Δ
=
d
i
a
g
[
σ
1
,
σ
2
,
⋯
,
σ
r
]
\Delta=diag[\sigma _1,\sigma _2,\cdots,\sigma _r]
Δ=diag[σ1,σ2,⋯,σr]。设
U
=
[
U
1
U
2
]
U=[\begin{matrix}U_1&U_2\end{matrix}]
U=[U1U2],则
U
H
A
A
H
U
=
[
U
1
H
U
2
H
]
A
A
H
[
U
1
U
2
]
=
[
U
1
H
U
2
H
]
[
A
A
H
U
1
A
A
H
U
2
]
=
[
U
1
H
A
A
H
U
1
U
1
H
A
A
H
U
2
U
2
H
A
A
H
U
1
U
2
H
A
A
H
U
2
]
=
[
Δ
Δ
H
0
0
0
]
\begin{aligned}U^HAA^HU&=\left[ \begin{matrix} U_1^H\\U_2^H\end{matrix}\right]AA^H\left[\begin{matrix}U_1&U_2\end{matrix}\right]\\&=\left[ \begin{matrix}U_1^H\\U_2^H\end{matrix}\right]\left[\begin{matrix}AA^HU_1&AA^HU_2\end{matrix}\right]\\&=\left[\begin{matrix}U_1^HAA^HU_1&U_1^HAA^HU_2\\U_2^HAA^HU_1&U_2^HAA^HU_2\end{matrix}\right]\\&=\left[\begin{matrix}\Delta \Delta ^H&0\\0&0\end{matrix}\right]\end{aligned}
UHAAHU=[U1HU2H]AAH[U1U2]=[U1HU2H][AAHU1AAHU2]=[U1HAAHU1U2HAAHU1U1HAAHU2U2HAAHU2]=[ΔΔH000]故有
U
1
H
A
A
H
U
1
=
Δ
Δ
H
U
1
H
A
A
H
U
2
=
0
U
2
H
A
A
H
U
1
=
0
U
2
H
A
A
H
U
2
=
0
\begin{aligned}U_1^HAA^HU_1&=\Delta \Delta ^H \\U_1^HAA^HU_2&=0\\U_2^HAA^HU_1&=0\\U_2^HAA^HU_2&=0\end{aligned}
U1HAAHU1U1HAAHU2U2HAAHU1U2HAAHU2=ΔΔH=0=0=0令
V
1
=
A
H
U
1
Δ
−
H
V_1=A^HU_1\Delta ^{-H}
V1=AHU1Δ−H,则
V
1
H
V
1
=
Δ
−
1
U
1
H
A
A
H
U
1
Δ
−
H
V_1^HV_1=\Delta ^{-1}U_1^HAA^HU_1\Delta ^{-H}
V1HV1=Δ−1U1HAAHU1Δ−H,由
U
1
H
A
A
H
U
1
=
Δ
Δ
H
U_1^HAA^HU_1=\Delta \Delta ^H
U1HAAHU1=ΔΔH 得
V
1
H
V
1
=
E
r
V_1^HV_1=E_r
V1HV1=Er所以
V
1
V_1
V1 为次酉阵,即
V
1
∈
U
r
n
×
r
V_1 \in U_r^{n\times r}
V1∈Urn×r,故存在
V
2
∈
U
n
−
r
n
×
(
n
−
r
)
V_2 \in U_{n-r}^{n\times (n-r)}
V2∈Un−rn×(n−r),使得
V
=
[
V
1
V
2
]
∈
U
n
×
n
V=[\begin{matrix}V_1&V_2\end{matrix}]\in U^{n\times n}
V=[V1V2]∈Un×n,所以
U
H
A
V
=
[
U
1
H
U
2
H
]
A
[
V
1
V
2
]
=
[
U
1
H
A
V
1
U
1
H
A
V
2
U
2
H
A
V
1
U
2
H
A
V
2
]
U^HAV=\left [ \begin{matrix}U_1^H\\U_2^H\end{matrix}\right]A~[\begin{matrix}V_1&V_2\end{matrix}]=\left [ \begin{matrix} U_1^HAV_1&U_1^HAV_2\\U_2^HAV_1&U_2^HAV_2\end{matrix}\right]
UHAV=[U1HU2H]A [V1V2]=[U1HAV1U2HAV1U1HAV2U2HAV2]由
U
1
H
A
A
H
U
1
=
Δ
Δ
H
U_1^HAA^HU_1=\Delta \Delta ^H
U1HAAHU1=ΔΔH 得
U
1
H
A
V
1
=
U
1
H
A
A
H
U
1
Δ
−
H
=
Δ
U_1^HAV_1=U_1^HAA^HU_1\Delta ^{-H}=\Delta
U1HAV1=U1HAAHU1Δ−H=Δ由
U
2
H
A
A
H
U
2
=
(
A
H
U
2
)
H
(
A
H
U
2
)
=
0
U_2^HAA^HU_2=(A^HU_2)^H(A^HU_2)=0
U2HAAHU2=(AHU2)H(AHU2)=0 得
A
H
U
2
=
0
,
U
2
H
A
=
0
A^HU_2=0,U_2^HA=0
AHU2=0,U2HA=0所以
U
2
H
A
V
1
=
0
,
U
2
H
A
V
2
=
0
U_2^HAV_1=0,U_2^HAV_2=0
U2HAV1=0,U2HAV2=0。又因为
V
1
=
A
H
U
1
Δ
−
H
⇒
V
1
Δ
H
=
A
H
U
1
⇒
U
1
H
A
=
Δ
V
1
H
V_1=A^HU_1\Delta ^{-H}\Rightarrow V_1\Delta ^H=A^HU_1 \Rightarrow U_1^HA=\Delta V_1^H
V1=AHU1Δ−H⇒V1ΔH=AHU1⇒U1HA=ΔV1H所以
U
1
H
A
V
2
=
Δ
V
1
H
V
2
=
0
U_1^HAV_2=\Delta V_1^HV_2=0
U1HAV2=ΔV1HV2=0。故
U
H
A
V
=
[
Δ
0
0
0
]
U^HAV=\left[\begin{matrix} \Delta&0\\0&0\end{matrix}\right]
UHAV=[Δ000],即
A
=
U
[
Δ
0
0
0
]
V
H
A=U\left[\begin{matrix} \Delta&0\\0&0\end{matrix}\right]V^H
A=U[Δ000]VH。
分解步骤
- 求出 A A H ( A H A ) AA^H(A^HA) AAH(AHA) 全部非零特征值 λ i \lambda _i λi,记 Δ = d i a g [ σ 1 , σ 2 , ⋯ , σ r ] \Delta=diag[\sigma _1,\sigma _2,\cdots,\sigma _r] Δ=diag[σ1,σ2,⋯,σr],且 σ 1 ≥ σ 2 ≥ ⋯ ≥ σ r \sigma _1 \geq \sigma _2 \geq \cdots \geq \sigma _r σ1≥σ2≥⋯≥σr 为 A A A 的正奇异值。
- 求酉矩阵 U ∈ U m × m ( V ∈ V n × n ) U \in U^{m\times m}(V \in V^{n\times n}) U∈Um×m(V∈Vn×n),使得 U H A A H U = d i a g [ σ 1 2 , σ 2 2 , ⋯ , σ r 2 , 0 , ⋯ , 0 ] ( V H A H A V = d i a g [ σ 1 2 , σ 2 2 , ⋯ , σ r 2 , 0 , ⋯ , 0 ] ) U^HAA^HU=diag[\sigma _1^2,\sigma _2^2, \cdots,\sigma _r^2,0,\cdots,0]\\(V^HA^HAV=diag[\sigma _1^2,\sigma _2^2, \cdots,\sigma _r^2,0,\cdots,0]) UHAAHU=diag[σ12,σ22,⋯,σr2,0,⋯,0](VHAHAV=diag[σ12,σ22,⋯,σr2,0,⋯,0])
- 设 U = [ U 1 U 2 ] ( V = [ V 1 V 2 ] ) U=[\begin{matrix}U_1&U_2\end{matrix}](V=[\begin{matrix}V_1&V_2\end{matrix}]) U=[U1U2](V=[V1V2]),其中 U 1 ( V 1 ) U_1(V_1) U1(V1) 为 U ( V ) U(V) U(V) 的前 r r r 列,令 V 1 = A H U 1 Δ − H ( U 1 = A V 1 Δ − 1 ) V_1=A^HU_1\Delta ^{-H}(U_1=AV_1\Delta ^{-1}) V1=AHU1Δ−H(U1=AV1Δ−1),则 V 1 ( U 1 ) V_1(U_1) V1(U1) 为次酉阵,求 V 2 ∈ U n − r n × ( n − r ) ( U 2 ∈ U m − r m × ( m − r ) ) V_2\in U_{n-r}^{n\times (n-r)}(U_2\in U_{m-r}^{m\times (m-r)}) V2∈Un−rn×(n−r)(U2∈Um−rm×(m−r)),使得 V = [ V 1 V 2 ] ∈ U n × n ( U = [ U 1 U 2 ] ∈ U m × m ) V=[\begin{matrix}V_1&V_2\end{matrix}]\in U^{n\times n}(U=[\begin{matrix}U_1&U_2\end{matrix} ]\in U^{m\times m}) V=[V1V2]∈Un×n(U=[U1U2]∈Um×m)。
- A = U [ Δ 0 0 0 ] V H A=U\left[\begin{matrix} \Delta&0\\0&0\end{matrix}\right]V^H A=U[Δ000]VH
几何意义
Δ
\Delta
Δ 视为放缩矩阵,
U
U
U 和
V
V
V 视为旋转矩阵。
因此,对于
M
=
A
N
M=AN
M=AN 和
A
=
U
Δ
V
H
A=U\Delta V^H
A=UΔVH 可以直观的解释为一个图像
N
N
N 经过
A
A
A 变换成另一个图像
M
M
M 的过程,首先经过
V
H
V^H
VH 的旋转,再经过
Δ
\Delta
Δ 的放缩,最后在经过
U
U
U 的旋转得到最终的图像。
用途
可以将矩阵归一化,归一化之前的矩阵为
A
=
U
[
Δ
0
0
0
]
V
H
A=U \left[ \begin{matrix} \Delta & 0 \\ 0 & 0 \end{matrix} \right] V^H
A=U[Δ000]VH
归一化之后的矩阵满足
A
′
=
U
V
H
A^\prime = U V^H
A′=UVH
QR 分解
紫薯布丁
Cholesky 分解
紫薯布丁
2382





