文章目录
- 线性变换与矩阵
- 线性变换与二阶方阵
- 常见的线性变换
- 复合变换与矩阵乘法
- 矩阵的定义
- 列空间与基
- 矩阵的秩
- 逆变换与逆矩阵
线性变换与矩阵
线性变换与二阶方阵
本节从二维平面出发学习线性代数。通常选用平面坐标系
O
x
y
Oxy
Oxy ,基向量为
i
,
j
\mathbf i,\ \mathbf j
i, j,平面内的任意向量都可以写成基向量的线性组合
v
=
x
i
+
y
j
\mathbf v=x\mathbf i+y\mathbf j
v=xi+yj
这样,平面内的点和有序实数对
(
x
,
y
)
(x,y)
(x,y) 一一对应。借助平面坐标系,我们可以从代数的角度来研究几何变换。
变换与函数类似,函数把数映射到数,变换把点(向量)映射到点(向量)。
T
:
v
↦
T
(
v
)
T:\quad \mathbf v\mapsto T(\mathbf v)
T:v↦T(v)
例如,(1) 平面内任意一点
P
(
x
,
y
)
P(x,y)
P(x,y) 绕原点
O
O
O 逆时针方向旋转
60
°
60\degree
60° 角得到点
P
′
(
x
′
,
y
′
)
P'(x',y')
P′(x′,y′),坐标变换公式为
{
x
′
=
1
2
x
−
3
2
y
y
′
=
3
2
x
+
1
2
y
\begin{cases} x'=\frac{1}{2}x-\frac{\sqrt 3}{2}y \\ y'=\frac{\sqrt 3}{2}x+\frac{1}{2}y \end{cases}
{x′=21x−23yy′=23x+21y
可写为向量形式
[
x
′
y
′
]
=
x
[
1
2
3
2
]
+
y
[
−
3
2
1
2
]
\begin{bmatrix}x'\\y'\end{bmatrix}= x\begin{bmatrix}\frac{1}{2}\\\frac{\sqrt 3}{2}\end{bmatrix}+ y\begin{bmatrix}-\frac{\sqrt 3}{2}\\\frac{1}{2}\end{bmatrix}
[x′y′]=x[2123]+y[−2321]
(2) 平面内任意一点
P
(
x
,
y
)
P(x,y)
P(x,y) 关于
y
y
y 轴的对称点
P
′
(
x
′
,
y
′
)
P'(x',y')
P′(x′,y′)的表达式为
{
x
′
=
−
x
y
′
=
y
\begin{cases} x'=-x \\ y'=y \end{cases}
{x′=−xy′=y
可写为向量形式
[
x
′
y
′
]
=
x
[
−
1
0
]
+
y
[
0
1
]
\begin{bmatrix}x'\\y'\end{bmatrix}= x\begin{bmatrix}-1\\0\end{bmatrix}+ y\begin{bmatrix}0\\1\end{bmatrix}
[x′y′]=x[−10]+y[01]
事实上,在平面坐标系
O
x
y
Oxy
Oxy 中,很多几何变换都具有如下坐标变换公式
{
x
′
=
a
x
+
b
y
y
′
=
c
x
+
d
y
\begin{cases} x'=ax+by \\ y'=cx+dy \end{cases}
{x′=ax+byy′=cx+dy
向量形式为
[
x
′
y
′
]
=
x
[
a
c
]
+
y
[
b
d
]
\begin{bmatrix}x'\\y'\end{bmatrix}= x\begin{bmatrix}a\\c\end{bmatrix}+ y\begin{bmatrix}b\\d\end{bmatrix}
[x′y′]=x[ac]+y[bd]
其中
(
x
′
,
y
′
)
(x',y')
(x′,y′)为平面内任意一点
(
x
,
y
)
(x,y)
(x,y) 变换后的点。我们把形如上式的几何变换叫做平面线性变换。
容易证明,线性变换满足下列两条性质
(1) 可加性:
T
(
v
+
w
)
=
T
(
v
)
+
T
(
w
)
T(\mathbf v+\mathbf w)=T(\mathbf v)+T(\mathbf w)
T(v+w)=T(v)+T(w)
(2) 伸缩性:
T
(
c
v
)
=
c
L
(
v
)
T(c\mathbf v)=cL(\mathbf v)
T(cv)=cL(v)
事实上,这两条性质才是线性变换的严格定义。
为了进一步了解线性变换的本质,取任意向量
v
=
x
i
+
y
j
\mathbf v=x\mathbf i+y\mathbf j
v=xi+yj ,在线性变换
T
T
T 的作用下
T
(
v
)
=
T
(
x
i
+
y
j
)
=
x
T
(
i
)
+
y
T
(
j
)
T(\mathbf v)=T(x\mathbf i+y\mathbf j)=xT(\mathbf i)+yT(\mathbf j)
T(v)=T(xi+yj)=xT(i)+yT(j)
可知,变换后的向量
T
(
v
)
T(\mathbf v)
T(v) 由变换后的基向量以同样的系数完全确定。设变换后的基向量分别为
T
(
i
)
=
a
i
+
c
j
=
[
a
c
]
,
T
(
j
)
=
b
i
+
d
j
=
[
b
d
]
T(\mathbf i)=a\mathbf i+c\mathbf j=\begin{bmatrix}a\\c\end{bmatrix},\quad T(\mathbf j)=b\mathbf i+d\mathbf j=\begin{bmatrix}b\\d\end{bmatrix}
T(i)=ai+cj=[ac],T(j)=bi+dj=[bd]
注意:本章线性变换中的坐标始终使用最初的 O x y Oxy Oxy 坐标系。
于是,线性变换
T
:
v
↦
T
(
v
)
T:\mathbf v\mapsto T(\mathbf v)
T:v↦T(v) 对应的坐标运算为
[
x
′
y
′
]
=
x
[
a
c
]
+
y
[
b
d
]
\begin{bmatrix}x'\\y'\end{bmatrix}= x\begin{bmatrix}a\\c\end{bmatrix}+ y\begin{bmatrix}b\\d\end{bmatrix}
[x′y′]=x[ac]+y[bd]
由于上述变换由变换后的基向量唯一确定,我们可以按顺序写为数表的形式
我们把这个数表称为二阶矩阵,一般用大写英文字母表示。变换后的向量则定义为矩阵与向量的乘积
[
a
b
c
d
]
[
x
y
]
=
x
[
a
c
]
+
y
[
b
d
]
=
[
a
x
+
b
y
c
x
+
d
y
]
\begin{bmatrix}a & b\\c & d\end{bmatrix}\begin{bmatrix}x\\y\end{bmatrix}= x\begin{bmatrix} a \\ c \end{bmatrix}+ y\begin{bmatrix} b \\ d \end{bmatrix}= \begin{bmatrix} ax+by \\ cx+dy \end{bmatrix}
[acbd][xy]=x[ac]+y[bd]=[ax+bycx+dy]
可知,矩阵代表一个特定的线性变换,我们完全可以把矩阵的列看作变换后的基向量,矩阵向量乘法就是将线性变换作用于给定向量。
Grant:矩阵最初的定义就来自线性变换。
至此,任何一个线性变换都可以写为矩阵与向量乘积的形式。反之,确定了坐标系后,任何一个矩阵都唯一确定了一个线性变换。矩阵和向量的乘积与线性变换实现了一一对应。
一般地,直线在线性变换后仍然保持直线。
证明:如图
l
l
l 为向量
w
1
,
w
2
\mathbf w_1,\mathbf w_2
w1,w2 终点所确定的直线,
v
\mathbf v
v 为终点在直线
l
l
l 上的任意向量。
v
=
w
1
+
λ
(
w
2
−
w
1
)
=
(
1
−
λ
)
w
1
+
λ
w
2
(
λ
∈
R
)
\mathbf v=\mathbf w_1+\lambda(\mathbf w_2-\mathbf w_1)=(1-\lambda)\mathbf w_1+\lambda \mathbf w_2 \quad (\lambda\in\R)
v=w1+λ(w2−w1)=(1−λ)w1+λw2(λ∈R)
令
λ
1
+
λ
2
=
1
\lambda_1+\lambda_2=1
λ1+λ2=1 则
v
=
λ
1
w
1
+
λ
2
w
2
\mathbf v=\lambda_1 \mathbf w_1+\lambda_2 \mathbf w_2
v=λ1w1+λ2w2
这就是由向量
w
1
,
w
2
\mathbf w_1,\mathbf w_2
w1,w2 的终点所确定的直线的向量形式。由线性变换的基本性质可知,直线
l
l
l 在线性变换
A
A
A 的作用下变成
v
′
=
A
(
λ
1
w
1
+
λ
2
w
2
)
=
λ
1
A
w
1
+
λ
2
A
w
2
\mathbf v'=A(\lambda_1 \mathbf w_1+\lambda_2 \mathbf w_2)=\lambda_1 A\mathbf w_1+\lambda_2 A\mathbf w_2
v′=A(λ1w1+λ2w2)=λ1Aw1+λ2Aw2
(1) 如果
A
w
1
≠
A
w
2
A\mathbf w_1\neq A\mathbf w_2
Aw1=Aw2,那么
v
′
\mathbf v'
v′ 表示由向量
A
w
1
,
A
w
2
A\mathbf w_1,A\mathbf w_2
Aw1,Aw2 的终点确定的直线。此时矩阵
A
A
A 对应的线性变换把直线变成直线;
(2) 如果
A
w
1
=
A
w
2
A\mathbf w_1 = A\mathbf w_2
Aw1=Aw2,那么
λ
1
A
w
1
+
λ
2
A
w
2
=
A
w
1
\lambda_1 A\mathbf w_1+\lambda_2 A\mathbf w_2=A\mathbf w_1
λ1Aw1+λ2Aw2=Aw1 。由于向量
A
w
1
A\mathbf w_1
Aw1 的终点是一个确定的点,因而,矩阵
A
A
A 所对应的线性变换把直线
l
l
l 映射成了一个点
A
w
1
A\mathbf w_1
Aw1 。
常见的线性变换
Grant:我们可以使用无限网格刻画二维空间所有点的变换。线性变换是操作空间的一种手段,它能够保持网格线平行且等距,并保持原点不动。
我们已经知道,在线性变换的作用下,直线仍然保持直线(或一个点)。为了方便,我们只考虑在平面直角坐标系内,单位正方形区域的线性变换。
根据向量加法的平行四边形法则,单位正方形区域可用向量形式表示为
[
x
y
]
=
x
i
+
y
j
(
0
⩽
x
,
y
⩽
1
)
\begin{bmatrix}x\\y\end{bmatrix}=x\mathbf i+y\mathbf j \quad(0\leqslant x,y\leqslant 1)
[xy]=xi+yj(0⩽x,y⩽1)
由线性变换基本性质知,变换后的区域为
A
[
x
y
]
=
x
(
A
i
)
+
y
(
A
j
)
(
0
⩽
x
,
y
⩽
1
)
A\begin{bmatrix}x\\y\end{bmatrix}=x(A\mathbf i)+y(A\mathbf j) \quad(0\leqslant x,y\leqslant 1)
A[xy]=x(Ai)+y(Aj)(0⩽x,y⩽1)
表示以 A i , A j A\mathbf i,A\mathbf j Ai,Aj 为邻边的平行四边形区域。因此,我们只需考虑单位向量 i , j \mathbf i,\mathbf j i,j 在线性变换作用下的结果,就能得到单位正方形区域在线性变换作用下所变成的图形。
恒等变换:把平面内任意一点
P
(
x
,
y
)
P(x,y)
P(x,y) 变成它本身,记为
I
I
I 。对应的矩阵称为单位阵
[
1
0
0
1
]
\begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix}
[1001]
旋转变换:(rotations)平面内任意一点
P
(
x
,
y
)
P(x,y)
P(x,y) 绕原点
O
O
O按逆时针方向旋转
θ
\theta
θ 角,记为
R
θ
R_{\theta}
Rθ 。对应的矩阵为
[
cos
θ
−
sin
θ
sin
θ
cos
θ
]
\begin{bmatrix} \cos\theta & -\sin\theta\\ \sin\theta & \cos\theta \end{bmatrix}
[cosθsinθ−sinθcosθ]
切变变换:(shears)平行于
x
x
x 轴的切变变换对应的矩阵为
[
1
k
0
1
]
\begin{bmatrix} 1 & k\\ 0 & 1 \end{bmatrix}
[10k1]
类似的,平行于
y
y
y 轴的切变变换对应的矩阵为
[
1
0
k
1
]
\begin{bmatrix} 1 & 0\\ k & 1 \end{bmatrix}
[1k01]
反射变换:(reflection)一般的我们把平面内任意一点 P ( x , y ) P(x,y) P(x,y) 关于直线 l l l 对称的线性变换叫做关于直线 l l l 的反射变换。
(1) 关于
y
y
y 轴的反射变换对应的矩阵为
[
−
1
0
0
1
]
\begin{bmatrix} -1 & 0\\ 0 & 1 \end{bmatrix}
[−1001]
(2) 关于直线
y
=
x
y=x
y=x 的反射变换对应的矩阵为
[
0
1
1
0
]
\begin{bmatrix} 0 & 1\\ 1 & 0 \end{bmatrix}
[0110]
(3) 关于直线
y
=
k
x
y=kx
y=kx 的反射变换对应的矩阵为
1
k
2
+
1
[
1
−
k
2
2
k
2
k
k
2
−
1
]
\frac{1}{k^2+1}\begin{bmatrix} 1-k^2 & 2k\\ 2k & k^2-1 \end{bmatrix}
k2+11[1−k22k2kk2−1]
伸缩变换:(stretching)将每个点的横坐标变为原来的
k
1
k_1
k1 倍,纵坐标变为原来的
k
2
k_2
k2 倍,其中
k
1
,
k
2
≠
0
k_1,k_2\neq0
k1,k2=0 。对应的矩阵为
[
k
1
0
0
k
2
]
\begin{bmatrix} k_1 & 0\\ 0 & k_2 \end{bmatrix}
[k100k2]
投影变换:(projection)平面内任意一点 P ( x , y ) P(x,y) P(x,y) 在直线 l l l 的投影称为关于直线 l l l 的投影变换。
(1) 关于
x
x
x 轴的投影变换对应的矩阵为
[
1
0
0
0
]
\begin{bmatrix} 1 & 0\\ 0 & 0 \end{bmatrix}
[1000]
(2) 关于
y
y
y 轴的投影变换对应的矩阵为
[
0
0
0
1
]
\begin{bmatrix} 0 & 0\\ 0 & 1 \end{bmatrix}
[0001]
(3) 关于直线
y
=
k
x
y=kx
y=kx 的投影变换对应的矩阵为
1
k
2
+
1
[
1
k
k
k
2
]
\frac{1}{\sqrt{k^2+1}}\begin{bmatrix} 1 & k\\ k & k^2 \end{bmatrix}
k2+11[1kkk2]
平移变换:形如
(
x
,
y
)
↦
(
x
+
h
,
y
+
k
)
(x,y)\mapsto (x+h,y+k)
(x,y)↦(x+h,y+k) 的平移变换并不是线性变换,我们无法直接使用矩阵向量乘法。对此可以引入齐次坐标:平面内的每个点
(
x
,
y
)
(x,y)
(x,y) 都可以对应于空间中的点
(
x
,
y
,
1
)
(x,y,1)
(x,y,1) 。平移变换可以用齐次坐标写成变换
T
:
(
x
,
y
,
1
)
↦
(
x
+
h
,
y
+
k
,
1
)
T:(x,y,1)\mapsto (x+h,y+k,1)
T:(x,y,1)↦(x+h,y+k,1),对应的矩阵为
[
1
0
h
0
1
k
0
0
1
]
\begin{bmatrix} 1 & 0 & h \\ 0 & 1 & k \\ 0 & 0 & 1 \end{bmatrix}
100010hk1
复合变换与矩阵乘法
平面内任意一向量,依次做旋转变换 R θ 1 : [ cos θ 1 − sin θ 1 sin θ 1 cos θ 1 ] R_{\theta_1}:\begin{bmatrix} \cos{\theta_1} & -\sin{\theta_1}\\ \sin{\theta_1} & \cos{\theta_1} \end{bmatrix} Rθ1:[cosθ1sinθ1−sinθ1cosθ1] 和 R θ 2 : [ cos θ 2 − sin θ 2 sin θ 2 cos θ 2 ] R_{\theta_2}:\begin{bmatrix} \cos{\theta_2} & -\sin{\theta_2}\\ \sin{\theta_2} & \cos{\theta_2} \end{bmatrix} Rθ2:[cosθ2sinθ2−sinθ2cosθ2]
很显然最终作用的效果可以用一个变换
R
θ
1
+
θ
2
R_{\theta_1+\theta_2}
Rθ1+θ2 来表示,对应的矩阵为
[
cos
(
θ
1
+
θ
2
)
−
sin
(
θ
1
+
θ
2
)
sin
(
θ
1
+
θ
2
)
cos
(
θ
1
+
θ
2
)
]
\begin{bmatrix} \cos{(\theta_1+\theta_2)} & -\sin{(\theta_1+\theta_2)}\\ \sin{(\theta_1+\theta_2)} & \cos{(\theta_1+\theta_2)} \end{bmatrix}
[cos(θ1+θ2)sin(θ1+θ2)−sin(θ1+θ2)cos(θ1+θ2)]
旋转变换
R
θ
1
+
θ
2
R_{\theta_1+\theta_2}
Rθ1+θ2仍然是线性变换。
一般地,设矩阵 A = [ a 1 b 1 c 1 d 1 ] , B = [ a 2 b 2 c 2 d 2 ] A=\begin{bmatrix}a_1 & b_1\\ c_1 & d_1\end{bmatrix},B=\begin{bmatrix}a_2 & b_2\\ c_2 & d_2\end{bmatrix} A=[a1c1b1d1],B=[a2c2b2d2],他们对应的线性变换分别为 f f f 和 g g g 。
平面上任意一个向量
v
=
[
x
y
]
\mathbf v=\begin{bmatrix} x \\ y \end{bmatrix}
v=[xy] 依次做变换
g
g
g 和
f
f
f ,其作用效果为
f
(
g
(
v
)
)
=
A
(
B
v
)
f(g(\mathbf v))=A(B\mathbf v)
f(g(v))=A(Bv)
Grant:线性变换的本质主要在于追踪基向量变换后的位置。
接下来,我们追踪变换过程中基向量的位置。由矩阵向量乘法的定义知道,基向量
i
,
j
\mathbf i,\mathbf j
i,j 经过矩阵
B
B
B 变换后(第一次变换)的位置为
B
i
=
[
a
2
c
2
]
,
B
j
=
[
b
2
d
2
]
B\mathbf i=\begin{bmatrix}a_2\\c_2\end{bmatrix},\quad B\mathbf j=\begin{bmatrix}b_2\\d_2\end{bmatrix}
Bi=[a2c2],Bj=[b2d2]
基向量
B
i
,
B
j
B\mathbf i,B\mathbf j
Bi,Bj 又经过矩阵
A
A
A 变换后的最终位置为
i
′
:
[
a
1
b
1
c
1
d
1
]
[
a
2
c
2
]
=
a
2
[
a
1
c
1
]
+
c
2
[
b
1
d
1
]
=
[
a
1
a
2
+
b
1
c
2
c
1
a
2
+
d
1
c
2
]
j
′
:
[
a
1
b
1
c
1
d
1
]
[
b
2
d
2
]
=
b
2
[
a
1
c
1
]
+
d
2
[
b
1
d
1
]
=
[
a
1
b
2
+
b
1
d
2
c
1
b
2
+
d
1
d
2
]
\mathbf i':\begin{bmatrix}a_1 & b_1\\ c_1 & d_1\end{bmatrix} \begin{bmatrix}a_2\\ c_2\end{bmatrix}= a_2\begin{bmatrix}a_1\\ c_1\end{bmatrix}+ c_2\begin{bmatrix}b_1\\d_1\end{bmatrix}= \begin{bmatrix}a_1a_2+b_1c_2 \\ c_1a_2+d_1c_2\end{bmatrix} \\ \mathbf j':\begin{bmatrix}a_1 & b_1\\ c_1 & d_1\end{bmatrix} \begin{bmatrix}b_2\\ d_2\end{bmatrix}= b_2\begin{bmatrix}a_1\\ c_1\end{bmatrix}+ d_2\begin{bmatrix}b_1\\d_1\end{bmatrix}= \begin{bmatrix}a_1b_2+b_1d_2\\c_1b_2+d_1d_2\end{bmatrix}
i′:[a1c1b1d1][a2c2]=a2[a1c1]+c2[b1d1]=[a1a2+b1c2c1a2+d1c2]j′:[a1c1b1d1][b2d2]=b2[a1c1]+d2[b1d1]=[a1b2+b1d2c1b2+d1d2]
从而,对任意向量
v
=
[
x
y
]
\mathbf v=\begin{bmatrix} x \\ y \end{bmatrix}
v=[xy] 依次做变换
B
B
B 和
A
A
A ,其总体作用效果为
A
(
B
v
)
=
x
i
′
+
y
j
′
=
[
a
1
a
2
+
b
1
c
2
a
1
b
2
+
b
1
d
2
c
1
a
2
+
d
1
c
2
c
1
b
2
+
d
1
d
2
]
[
x
y
]
A(B\mathbf v)=x\mathbf i'+y\mathbf j'=\begin{bmatrix}a_1a_2+b_1c_2 & a_1b_2+b_1d_2\\ c_1a_2+d_1c_2 & c_1b_2+d_1d_2\end{bmatrix} \begin{bmatrix} x \\ y \end{bmatrix}
A(Bv)=xi′+yj′=[a1a2+b1c2c1a2+d1c2a1b2+b1d2c1b2+d1d2][xy]
这也是一个线性变换,我们称为复合变换(composite transformation),记为
f
∘
g
f\circ g
f∘g 。
在此,我们定义复合变换
f
∘
g
f\circ g
f∘g 为矩阵
A
,
B
A,B
A,B 的乘积,记为
A
B
=
[
a
1
b
1
c
1
d
1
]
[
a
2
b
2
c
2
d
2
]
=
[
a
1
a
2
+
b
1
c
2
a
1
b
2
+
b
1
d
2
c
1
a
2
+
d
1
c
2
c
1
b
2
+
d
1
d
2
]
AB=\begin{bmatrix}a_1 & b_1\\ c_1 & d_1\end{bmatrix} \begin{bmatrix}a_2 & b_2\\ c_2 & d_2\end{bmatrix}= \begin{bmatrix}a_1a_2+b_1c_2 & a_1b_2+b_1d_2\\ c_1a_2+d_1c_2 & c_1b_2+d_1d_2\end{bmatrix}
AB=[a1c1b1d1][a2c2b2d2]=[a1a2+b1c2c1a2+d1c2a1b2+b1d2c1b2+d1d2]
注意:矩阵乘积的次序与复合变换相同,从右向左相继作用。
由定义易知,对任意向量
v
\mathbf v
v 有
(
A
B
)
v
=
A
(
B
v
)
(AB)\mathbf v=A(B\mathbf v)
(AB)v=A(Bv)
矩阵的定义
接下来,我们将矩阵的概念推广到高维空间。高维线性空间中的变换与二维空间中的变换类似。
矩阵:
m
×
n
m\times n
m×n 个数按一定次序排成的数表称为矩阵
[
a
11
a
12
⋯
a
1
n
a
21
a
22
⋯
a
2
n
⋮
⋮
⋱
⋮
a
m
1
a
m
2
⋯
a
m
n
]
\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n} \\ a_{21}&a_{22}&\cdots&a_{2n} \\ \vdots&\vdots&\ddots&\vdots \\ a_{m1}&a_{m2}&\cdots&a_{mn} \\ \end{bmatrix}
a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn
常用大写英文字母表示矩阵,如
A
A
A或
A
m
×
n
A_{m× n}
Am×n。矩阵中的每个数
a
i
j
a_{ij}
aij 称为它的元素(entry),有时矩阵也记作
(
a
i
j
)
(a_{ij})
(aij) 或
(
a
i
j
)
m
×
n
(a_{ij})_{m× n}
(aij)m×n 。根据矩阵的元素所属的数域,可以将矩阵分为复矩阵和实矩阵。
几种特殊的矩阵:
- 元素全为零的矩阵称为零矩阵(zero matrix),记作 O O O。
- 只有一行的矩阵称为行矩阵(row matrix)或行向量;只有一列的矩阵称为列矩阵(column matrix)或列向量。行(列)矩阵通常用小写黑体字母表示,如 a , x \mathbf a,\mathbf x a,x。
- 当行数和列数相等时的矩阵 A n × n A_{n\times n} An×n 称为** n n n 阶方阵**(n-order square matrix)。
- 不在主对角线上的元素全为零的方阵称为对角阵(diagonal matrix),记作 d i a g ( a 1 , a 2 , ⋯ , a n ) \mathrm{diag}(a_1,a_2,\cdots,a_n) diag(a1,a2,⋯,an)
- 主对角线上的元素全为1的对角阵,称为单位阵(identity matrix)。记 n n n 阶单位阵记作 E n E_n En或 I n I_n In
矩阵的线性运算:因为矩阵 A m × n A_{m\times n} Am×n 的各列是 m m m维向量,写作 A = [ a 1 a 2 ⋯ a n ] A=\begin{bmatrix}\mathbf a_1&\mathbf a_2&\cdots&\mathbf a_n\end{bmatrix} A=[a1a2⋯an] ,因此矩阵可看作向量集,向量的线性运算自然推广到矩阵。
设矩阵 A = ( a i j ) A=(a_{ij}) A=(aij) 与 B = ( b i j ) B=(b_{ij}) B=(bij)
- 他们的对应元素完全相同 a i j = b i j a_{ij}=b_{ij} aij=bij,则称矩阵 A A A 与 B B B 相等,记作 A = B A=B A=B;
- 矩阵的加法定义为 A + B = ( a i j + b i j ) A+B=(a_{ij}+b_{ij}) A+B=(aij+bij)
- 矩阵的数乘定义为 k A = ( k a i j ) kA=(ka_{ij}) kA=(kaij)
{% label 性质 orange %}:线性运算满足以下性质
- 加法交换律: A + B = B + A A+B=B+A A+B=B+A
- 加法结合律: A + ( B + C ) = ( A + B ) + C A+(B+C)=(A+B)+C A+(B+C)=(A+B)+C
- 零矩阵: O + A = A O+A=A O+A=A
- 负矩阵: A + ( − A ) = O A+(-A)=O A+(−A)=O
- 数乘结合律: k ( l A ) = ( k l ) A k(lA)=(kl)A k(lA)=(kl)A
- 数乘分配律: k ( A + B ) = k A + k B k(A+B)=kA+kB k(A+B)=kA+kB
- 数乘分配律: ( k + l ) A = k A + l A (k+l)A=kA+lA (k+l)A=kA+lA
- 数乘单位元: 1 A = A 1A=A 1A=A
矩阵向量的乘法: 矩阵与向量的乘法来源于线性变换,它有着直观的、深刻的几何背景。设
m
×
n
m\times n
m×n 维矩阵
A
=
(
a
i
j
)
A=(a_{ij})
A=(aij) 与
n
n
n维向量
v
=
(
x
1
,
x
2
,
⋯
,
x
n
)
T
\mathbf v=(x_1,x_2,\cdots,x_n)^T
v=(x1,x2,⋯,xn)T 的乘积
[
a
11
a
12
⋯
a
1
n
a
21
a
22
⋯
a
2
n
⋮
⋮
⋱
⋮
a
m
1
a
m
2
⋯
a
m
n
]
[
x
1
x
2
⋮
x
n
]
=
x
1
[
a
11
a
21
⋮
a
m
1
]
+
⋯
+
x
n
[
a
1
n
a
2
n
⋮
a
m
n
]
=
[
∑
j
=
1
n
a
1
j
x
j
∑
j
=
1
n
a
2
j
x
j
⋮
∑
j
=
1
n
a
m
j
x
j
]
\begin{bmatrix} a_{11}&a_{12}&\cdots&a_{1n} \\ a_{21}&a_{22}&\cdots&a_{2n} \\ \vdots&\vdots&\ddots&\vdots \\ a_{m1}&a_{m2}&\cdots&a_{mn} \\ \end{bmatrix} \begin{bmatrix}x_1\\x_2\\\vdots\\x_n\end{bmatrix}= x_1\begin{bmatrix}a_{11}\\a_{21}\\\vdots\\a_{m1}\end{bmatrix}+\cdots+ x_n\begin{bmatrix}a_{1n}\\a_{2n}\\\vdots\\a_{mn}\end{bmatrix}= \begin{bmatrix}\sum_{j=1}^na_{1j}x_j\\\sum_{j=1}^na_{2j}x_j\\\vdots\\\sum_{j=1}^na_{mj}x_j\end{bmatrix}
a11a21⋮am1a12a22⋮am2⋯⋯⋱⋯a1na2n⋮amn
x1x2⋮xn
=x1
a11a21⋮am1
+⋯+xn
a1na2n⋮amn
=
∑j=1na1jxj∑j=1na2jxj⋮∑j=1namjxj
一般地,
m
×
n
m\times n
m×n 维的矩阵,表示将
n
n
n 维空间中的向量映射到
m
m
m 维空间中。矩阵的第
j
j
j列表示第
j
j
j 个基向量变换后的坐标。
矩阵乘法:矩阵与矩阵乘法来源于复合线性变换。设矩阵
A
=
(
a
i
j
)
m
×
n
A=(a_{ij})_{m\times n}
A=(aij)m×n与
B
=
(
b
i
j
)
n
×
p
B=(b_{ij})_{n\times p}
B=(bij)n×p,向量
v
=
(
x
1
,
x
2
,
⋯
,
x
p
)
\mathbf v=(x_1,x_2,\cdots,x_p)
v=(x1,x2,⋯,xp) ,用
b
1
,
b
2
,
⋯
,
b
p
\mathbf b_1,\mathbf b_2,\cdots,\mathbf b_p
b1,b2,⋯,bp表示矩阵
B
B
B 的各列,则
B
v
=
x
1
b
1
+
x
2
b
2
+
⋯
+
x
p
b
p
B\mathbf v=x_1\mathbf b_1+x_2\mathbf b_2+\cdots+x_p\mathbf b_p
Bv=x1b1+x2b2+⋯+xpbp
由线性变换的性质
A
(
B
v
)
=
A
(
x
1
b
1
)
+
A
(
x
2
b
2
)
+
⋯
+
A
(
x
p
b
p
)
=
x
1
A
b
1
+
x
2
A
b
2
+
⋯
+
x
p
A
b
p
=
[
A
b
1
A
b
2
⋯
A
b
p
]
v
\begin{aligned} A(B\mathbf v)&=A(x_1\mathbf b_1)+A(x_2\mathbf b_2)+\cdots+A(x_p\mathbf b_p) \\ &=x_1A\mathbf b_1+x_2A\mathbf b_2+\cdots+x_pA\mathbf b_p \\ &=\begin{bmatrix}A\mathbf b_1&A\mathbf b_2&\cdots&A\mathbf b_p\end{bmatrix}\mathbf v \end{aligned}
A(Bv)=A(x1b1)+A(x2b2)+⋯+A(xpbp)=x1Ab1+x2Ab2+⋯+xpAbp=[Ab1Ab2⋯Abp]v
于是可定义矩阵的乘积
A
B
AB
AB 为
m
×
p
m\times p
m×p 矩阵
A
B
=
A
[
b
1
b
2
⋯
b
p
]
=
[
A
b
1
A
b
2
⋯
A
b
p
]
AB=A\begin{bmatrix}\mathbf b_1&\mathbf b_2&\cdots&\mathbf b_p\end{bmatrix}= \begin{bmatrix}A\mathbf b_1&A\mathbf b_2&\cdots&A\mathbf b_p\end{bmatrix}
AB=A[b1b2⋯bp]=[Ab1Ab2⋯Abp]
矩阵
A
A
A的列数必须和
B
B
B 的行数相等,乘积才有意义 。之前定义的矩阵向量乘法是矩阵乘法的特例。通常,更方便的方法是用元素定义矩阵乘法。设乘积
A
B
=
(
c
i
j
)
m
×
p
AB=(c_{ij})_{m× p}
AB=(cij)m×p。则元素
c
i
j
=
a
i
1
b
1
j
+
a
i
2
b
2
j
+
⋯
+
a
i
p
b
p
j
c_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\cdots+a_{ip}b_{pj}
cij=ai1b1j+ai2b2j+⋯+aipbpj
{% label 性质 orange %}:矩阵乘法满足以下性质
- 矩阵乘法满足结合率: A ( B C ) = ( A B ) C A(BC)=(AB)C A(BC)=(AB)C
- 矩阵乘法满足左分配律: A ( B + C ) = A B + A C A(B+C)=AB+AC A(B+C)=AB+AC
- 矩阵乘法满足右分配律: ( B + C ) A = B A + C A (B+C)A=BA+CA (B+C)A=BA+CA
- 矩阵乘法满足数乘分配律: k ( A B ) = ( k A ) B = A ( k B ) k(AB)=(kA)B=A(kB) k(AB)=(kA)B=A(kB)
- 矩阵乘法单位元: I A = A I = A IA=AI=A IA=AI=A
证明:(1) 可从矩阵乘法的定义证明满足结合率。从线性变换角度来看,对于复合变换
A
(
B
C
)
A(BC)
A(BC) 和
(
A
B
)
C
(AB)C
(AB)C 是同样的变换,且依次作用的顺序并不会发生改变,变换的最终结果自然不变。
v
→
C
C
v
→
B
B
C
v
→
A
A
B
C
v
\mathbf v\xrightarrow{C}C\mathbf v\xrightarrow{B}BC\mathbf v\xrightarrow{A}ABC\mathbf v
vCCvBBCvAABCv
注意:
- 矩阵乘法不满足交换率,即一般情况下 A B ≠ B A AB\neq BA AB=BA
- 矩阵乘法不满足消去率,即若 A B = A C AB=AC AB=AC,不能推出 B = C B=C B=C ;同样由 A B = O AB=O AB=O,不能推出 A = O A=O A=O 或 B = O B=O B=O。
证明:(1) 一般地,复合变换
f
∘
g
≠
g
∘
f
f\circ g\neq g\circ f
f∘g=g∘f ,自然
A
B
≠
B
A
AB\neq BA
AB=BA,矩阵乘法不满足交换率。
(2) 可举例证明矩阵乘法不满足消去率
设矩阵
A
=
[
0
1
0
0
0
1
0
0
1
]
,
B
=
[
0
0
1
0
0
0
0
0
0
]
A=\begin{bmatrix}0&1&0\\ 0&0&1\\ 0&0&1\end{bmatrix},\quad B=\begin{bmatrix}0&0&1\\ 0&0&0\\ 0&0&0\end{bmatrix}
A=
000100011
,B=
000000100
则有
A
B
=
[
0
1
0
0
0
1
0
0
1
]
[
0
0
1
0
0
0
0
0
0
]
=
[
0
0
0
0
0
0
0
0
0
]
=
O
B
A
=
[
0
0
1
0
0
0
0
0
0
]
[
0
1
0
0
0
1
0
0
1
]
=
[
0
0
1
0
0
0
0
0
0
]
≠
O
AB=\begin{bmatrix}0&1&0\\ 0&0&1\\ 0&0&1\end{bmatrix} \begin{bmatrix}0&0&1\\ 0&0&0\\ 0&0&0\end{bmatrix}= \begin{bmatrix}0&0&0\\ 0&0&0\\ 0&0&0\end{bmatrix}=O \\ BA=\begin{bmatrix}0&0&1\\ 0&0&0\\ 0&0&0\end{bmatrix} \begin{bmatrix}0&1&0\\ 0&0&1\\ 0&0&1\end{bmatrix}= \begin{bmatrix}0&0&1\\ 0&0&0\\ 0&0&0\end{bmatrix}\neq O
AB=
000100011
000000100
=
000000000
=OBA=
000000100
000100011
=
000000100
=O
列空间与基
定义:为方便使用,先介绍几个简单的定义
- 线性变换是一种映射,称变换后的向量 T ( v ) T(\mathbf v) T(v) 为向量 v \mathbf v v 在映射 T T T 下的像,而称 v \mathbf v v 为 T ( v ) T(\mathbf v) T(v) 在映射 T T T 下的原像。
- 线性变换
T
T
T 的像集
T
(
V
)
T(V)
T(V)是一个线性空间,称为线性变换
T
T
T 的值域,记作
range ( T ) = { T ( v ) ∣ v ∈ V } \text{range}(T)=\{T(\mathbf v)\mid\mathbf v\in V\} range(T)={T(v)∣v∈V} - 在前面几节的分析中,我们始终将矩阵的列看成是向量。而这些列向量所张成的空间,称为列空间,若
A
=
(
a
1
,
a
2
,
⋯
,
a
n
)
A=(\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n)
A=(a1,a2,⋯,an)
col A = span { a 1 , a 2 , ⋯ , a n } \text{col }A=\text{span}\{\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n\} col A=span{a1,a2,⋯,an}
我们已经知道,变换后的向量
A
v
A\mathbf v
Av 是变换后的基向量以同样的系数线性组合,而矩阵的列就是基向量变换之后的位置。因此,矩阵
A
A
A 线性变换后的空间即是矩阵
A
A
A 的列空间
col
A
=
range
A
=
{
A
v
∣
v
∈
V
}
\text{col }A=\text{range }A=\{A\mathbf v\mid\mathbf v\in V\}
col A=range A={Av∣v∈V}
定理:矩阵
A
A
A 的主元列构成
col
A
\text{col }A
col A 的一组基。
下面两个例子给出对列空间求基的简单算法。
例1:求
Col
B
\text{Col }B
Col B 的一组基,其中
B
=
(
b
1
,
b
2
,
⋯
,
b
n
)
=
[
1
4
0
2
0
0
0
1
−
1
0
0
0
0
0
1
0
0
0
0
0
]
B=(\mathbf b_1,\mathbf b_2,\cdots,\mathbf b_n)=\begin{bmatrix}1&4&0&2&0\\ 0&0&1&-1&0\\ 0&0&0&0&1\\0&0&0&0&0\end{bmatrix}
B=(b1,b2,⋯,bn)=
1000400001002−1000010
事实上,
B
B
B 的每个非主元列都是主元列的线性组合
b
2
=
4
b
1
,
b
4
=
2
b
1
−
b
3
\mathbf b_2=4\mathbf b_1,\mathbf b_4=2\mathbf b_1-\mathbf b_3
b2=4b1,b4=2b1−b3 且主元列时线性无关的,所以主元列构成列空间的一组基
col
B
=
span
{
b
1
,
b
3
,
b
5
}
\text{col }B=\text{span }\{\mathbf b_1,\mathbf b_3,\mathbf b_5\}
col B=span {b1,b3,b5} 。
当矩阵不是阶梯型矩阵时,回顾矩阵
A
=
(
a
1
,
a
2
,
⋯
,
a
n
)
A=(\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n)
A=(a1,a2,⋯,an) 中列向量间的线性关系都可以用方程
A
x
=
0
A\mathbf x=0
Ax=0 的形式刻画。当
A
A
A 被行简化为阶梯型矩阵
B
=
(
b
1
,
b
2
,
⋯
,
b
n
)
B=(\mathbf b_1,\mathbf b_2,\cdots,\mathbf b_n)
B=(b1,b2,⋯,bn) 时,即存在可逆矩阵
P
P
P 使
B
=
P
A
B=PA
B=PA 。若
B
B
B 的列向量线性相关,即存在系数
x
\mathbf x
x 使得
B
x
=
0
B\mathbf x=0
Bx=0 ,即
x
1
b
1
+
x
2
b
2
+
⋯
+
x
n
b
n
=
0
x_1\mathbf b_1+x_2\mathbf b_2+\cdots+x_n\mathbf b_n=0
x1b1+x2b2+⋯+xnbn=0
同样的系数
x
\mathbf x
x 也适用于矩阵
A
A
A 的列向量,
A
x
=
P
−
1
B
x
=
0
A\mathbf x=P^{-1}B\mathbf x=0
Ax=P−1Bx=0,即
x
1
a
1
+
x
2
a
2
+
⋯
+
x
n
a
n
=
0
x_1\mathbf a_1+x_2\mathbf a_2+\cdots+x_n\mathbf a_n=0
x1a1+x2a2+⋯+xnan=0
综上,即矩阵
A
A
A的列与阶梯型矩阵
B
B
B 的列具有完全相同的线性相关关系。
例2:
A
=
(
a
1
,
a
2
,
⋯
,
a
n
)
=
[
1
4
0
2
−
1
3
12
1
5
5
2
8
1
3
2
5
20
2
8
8
]
A=(\mathbf a_1,\mathbf a_2,\cdots,\mathbf a_n)=\begin{bmatrix}1&4&0&2&-1\\ 3&12&1&5&5\\ 2&8&1&3&2\\5&20&2&8&8\end{bmatrix}
A=(a1,a2,⋯,an)=
132541282001122538−1528
已知矩阵
A
A
A 行等价于上例中的矩阵
B
B
B ,求
Col
A
\text{Col }A
Col A 的一组基。
由于上例中 b 2 = 4 b 1 , b 4 = 2 b 1 − b 3 \mathbf b_2=4\mathbf b_1,\mathbf b_4=2\mathbf b_1-\mathbf b_3 b2=4b1,b4=2b1−b3 ,相关关系完全适用于矩阵 A A A 的列向量 a 2 = 4 a 1 , a 4 = 2 a 1 − a 3 \mathbf a_2=4\mathbf a_1,\mathbf a_4=2\mathbf a_1-\mathbf a_3 a2=4a1,a4=2a1−a3 。于是线性无关集 a 1 , a 3 , a 5 \mathbf a_1,\mathbf a_3,\mathbf a_5 a1,a3,a5 是 Col A \text{Col }A Col A 的一组基 col A = span { a 1 , a 3 , a 5 } \text{col }A=\text{span }\{\mathbf a_1,\mathbf a_3,\mathbf a_5\} col A=span {a1,a3,a5}。
注意:阶梯形矩阵的主元列通常不在原矩阵的列空间中。
矩阵的秩
矩阵的秩就是列空间的维度,记作 rank A = dim ( col A ) \text{rank }A=\dim(\text{col }A) rank A=dim(col A)。
前面介绍的都是方阵,表示向量空间到自身的映射。下面简单说下非方阵的映射关系。
一般地, m × n m\times n m×n 维的矩阵,表示将 n n n 维空间中的向量映射到 m m m 维空间中。矩阵的第 j j j列表示第 j j j 个基向量变换后的坐标。例如:
3
×
2
3\times 2
3×2 维矩阵是把二维空间映射到三维空间上,因为矩阵有两列,说明输入空间有两个基向量,三行表示每一个基向量在变换后用三个独立的坐标来描述。
[
1
−
1
3
2
0
3
]
[
x
y
]
=
[
1
3
0
]
x
+
[
−
1
2
3
]
y
\begin{bmatrix}1&-1\\3&2\\0&3\end{bmatrix} \begin{bmatrix}x\\y\end{bmatrix}= \begin{bmatrix}1\\3\\0\end{bmatrix}x+ \begin{bmatrix}-1\\2\\3\end{bmatrix}y
130−123
[xy]=
130
x+
−123
y
2
×
3
2\times 3
2×3 维矩阵是把三维空间映射到二维空间上,因为矩阵有三列,说明输入空间有三个基向量,二行表示每一个基向量在变换后用二个独立的坐标来描述。
[
2
2
1
1
0
−
1
]
[
x
y
z
]
=
[
2
1
]
x
+
[
2
0
]
y
+
[
1
−
1
]
z
\begin{bmatrix}2&2&1\\1&0&-1\end{bmatrix} \begin{bmatrix}x\\y\\z\end{bmatrix}= \begin{bmatrix}2\\1\end{bmatrix}x+ \begin{bmatrix}2\\0\end{bmatrix}y+ \begin{bmatrix}1\\-1\end{bmatrix}z
[21201−1]
xyz
=[21]x+[20]y+[1−1]z
若矩阵的秩等于列数,则称为满秩矩阵(full rank matrix),零向量一定在列空间内,满秩变换中,唯一能落在原点的就是零向量自身。满秩矩阵的列即为列空间的基。
对于非满秩矩阵,意味着该线性变换会将空间压缩到一个更低维的空间,通俗来讲,就是会有一系列直线上不同方向的向量压缩为原点。
由此可得,秩可以用来描述线性变换对空间的压缩程度。
逆变换与逆矩阵
我们已经知道了矩阵与线性变换中的对应关系,试想一下,将变换后的向量还原到初始状态。
逆矩阵:对于
n
n
n 阶方阵
A
A
A ,如果存在
n
n
n 阶方阵
B
B
B ,使得
A
B
=
B
A
=
I
AB=BA=I
AB=BA=I
则称矩阵
A
A
A 可逆(invertible),
B
B
B 是
A
A
A 的逆矩阵。实际上,
A
A
A 的逆矩阵是唯一的,记为
A
−
1
A^{-1}
A−1。因为,若
B
,
C
B,C
B,C 都是
A
A
A 的逆矩阵,则
B = ( C A ) B = C ( A B ) = C B=(CA)B=C(AB)=C B=(CA)B=C(AB)=C
不可逆矩阵有时称为奇异矩阵,而可逆矩阵也称为非奇异矩阵。
{% label 性质 orange %}:逆矩阵满足下列性质
- ( A − 1 ) − 1 = A (A^{-1})^{-1}=A (A−1)−1=A
- ( k A ) − 1 = 1 k A − 1 , ( k ≠ 0 ) (kA)^{-1}=\dfrac{1}{k}A^{-1},\quad(k\neq0) (kA)−1=k1A−1,(k=0)
- ( A B ) − 1 = B − 1 A − 1 (AB)^{-1}=B^{-1}A^{-1} (AB)−1=B−1A−1
- ( A T ) − 1 = ( A − 1 ) T (A^T)^{-1}=(A^{-1})^T (AT)−1=(A−1)T
证明:(性质3)若方阵
A
,
B
A,B
A,B 都可逆,则有
(
A
B
)
(
B
−
1
A
−
1
)
=
(
B
−
1
A
−
1
)
(
A
B
)
=
I
(AB)(B^{-1}A^{-1})=(B^{-1}A^{-1})(AB)=I
(AB)(B−1A−1)=(B−1A−1)(AB)=I
因此
(
A
B
)
−
1
=
B
−
1
A
−
1
(AB)^{-1}=B^{-1}A^{-1}
(AB)−1=B−1A−1 。
从变换的角度考虑,复合变换的逆 ( f ∘ g ) − 1 = g − 1 ∘ f − 1 (f\circ g)^{-1}=g^{-1}\circ f^{-1} (f∘g)−1=g−1∘f−1 ,很容易理解。
(性质4)
I
=
(
A
A
−
1
)
T
=
(
A
−
1
)
T
A
T
,
I
=
(
A
−
1
A
)
T
=
A
T
(
A
−
1
)
T
I=(AA^{-1})^T=(A^{-1})^TA^T,\quad I=(A^{-1}A)^T=A^T(A^{-1})^T
I=(AA−1)T=(A−1)TAT,I=(A−1A)T=AT(A−1)T
因此
(
A
T
)
−
1
=
(
A
−
1
)
T
(A^T)^{-1}=(A^{-1})^T
(AT)−1=(A−1)T 。