1. 矩阵乘法
矩阵乘法基础定义
设矩阵 A A A 是一个 m × n m \times n m×n 的矩阵,矩阵 B B B 是一个 n × p n \times p n×p 的矩阵,那么它们的乘积 C = A B C = AB C=AB 是一个 m × p m \times p m×p 的矩阵。
矩阵 C C C 中的每个元素 c i j c_{ij} cij 的计算公式为:
c i j = ∑ k = 1 n a i k b k j c_{ij} = \sum_{k=1}^n a_{ik}b_{kj} cij=k=1∑naikbkj
其中, a i k a_{ik} aik 是矩阵 A A A 第 i i i 行第 k k k 列的元素, b k j b_{kj} bkj 是矩阵 B B B 第 k k k 行第 j j j 列的元素。
具体示例
让我们看一个 2 × 3 2 \times 3 2×3 乘以 3 × 2 3 \times 2 3×2 的矩阵乘法例子:
( a 11 a 12 a 13 a 21 a 22 a 23 ) × ( b 11 b 12 b 21 b 22 b 31 b 32 ) ( c 11 c 12 c 21 c 22 ) \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{pmatrix} \times \begin{pmatrix} b_{11} & b_{12} \\ b_{21} & b_{22} \\ b_{31} & b_{32} \end{pmatrix} \begin{pmatrix} c_{11} & c_{12} \\ c_{21} & c_{22} \end{pmatrix} (a11a21a12a22a13a23)× b11b21b31b12b22b32 (c11c21c12c22)
其中:
c
11
=
a
11
b
11
+
a
12
b
21
+
a
13
b
31
c_{11} = a_{11}b_{11} + a_{12}b_{21} + a_{13}b_{31}
c11=a11b11+a12b21+a13b31
c
12
=
a
11
b
12
+
a
12
b
22
+
a
13
b
32
c_{12} = a_{11}b_{12} + a_{12}b_{22} + a_{13}b_{32}
c12=a11b12+a12b22+a13b32
c
21
=
a
21
b
11
+
a
22
b
21
+
a
23
b
31
c_{21} = a_{21}b_{11} + a_{22}b_{21} + a_{23}b_{31}
c21=a21b11+a22b21+a23b31
c
22
=
a
21
b
12
+
a
22
b
22
+
a
23
b
32
c_{22} = a_{21}b_{12} + a_{22}b_{22} + a_{23}b_{32}
c22=a21b12+a22b22+a23b32
重要性质
-
矩阵乘法不满足交换律:一般情况下 A B ≠ B A AB \neq BA AB=BA
-
矩阵乘法满足结合律: ( A B ) C = A ( B C ) (AB)C = A(BC) (AB)C=A(BC)
-
矩阵乘法满足分配律:
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 -
单位矩阵 I I I 的性质:对任意合适维度的矩阵 A A A,都有:
A I = I A = A AI = IA = A AI=IA=A
计算技巧
在实际计算中,可以记住以下要点:
- 结果矩阵的维度: m × n m \times n m×n 乘以 n × p n \times p n×p 得到 m × p m \times p m×p
- 每个元素的计算都是"行乘列": c i j c_{ij} cij 等于矩阵 A A A 的第 i i i 行与矩阵 B B B 的第 j j j 列对应元素乘积之和
- 两个矩阵相乘的条件是:第一个矩阵的列数必须等于第二个矩阵的行数
2. 矩阵的加法
矩阵加法基础定义
两个矩阵相加的前提是它们具有相同的维度。设有两个 m × n m \times n m×n 维的矩阵 A A A 和 B B B,它们的和记为 C = A + B C = A + B C=A+B,也是一个 m × n m \times n m×n 维的矩阵。
对于矩阵 C C C 中的每个元素 c i j c_{ij} cij,有:
c i j = a i j + b i j c_{ij} = a_{ij} + b_{ij} cij=aij+bij
其中 1 ≤ i ≤ m 1 \leq i \leq m 1≤i≤m, 1 ≤ j ≤ n 1 \leq j \leq n 1≤j≤n
具体示例
考虑两个 2 × 3 2 \times 3 2×3 矩阵的加法:
( a 11 a 12 a 13 a 21 a 22 a 23 ) + ( b 11 b 12 b 13 b 21 b 22 b 23 ) ( a 11 + b 11 a 12 + b 12 a 13 + b 13 a 21 + b 21 a 22 + b 22 a 23 + b 23 ) \begin{pmatrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \end{pmatrix} + \begin{pmatrix} b_{11} & b_{12} & b_{13} \\ b_{21} & b_{22} & b_{23} \end{pmatrix} \begin{pmatrix} a_{11}+b_{11} & a_{12}+b_{12} & a_{13}+b_{13} \\ a_{21}+b_{21} & a_{22}+b_{22} & a_{23}+b_{23} \end{pmatrix} (a11a21a12a22a13a23)+(b11b21b12b22b13b23)(a11+b11a21+b21a12+b12a22+b22a13+b13a23+b23)
矩阵加法的重要性质
-
交换律:
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 O O,对任意同维度矩阵 A A A,有:
A + O = O + A = A A + O = O + A = A A+O=O+A=A -
负矩阵性质:对任意矩阵 A A A,存在负矩阵 − A -A −A,使得:
A + ( − A ) = O A + (-A) = O A+(−A)=O
数值示例
让我们看一个具体的数值例子:
$$
\begin{pmatrix}
1 & 2 & 3 \
4 & 5 & 6
\end{pmatrix}
+
\begin{pmatrix}
7 & 8 & 9 \
10 & 11 & 12
\end{pmatrix}
\begin{pmatrix}
1+7 & 2+8 & 3+9 \
4+10 & 5+11 & 6+12
\end{pmatrix}
\begin{pmatrix}
8 & 10 & 12 \
14 & 16 & 18
\end{pmatrix}
$$
计算要点
- 维度匹配:两个矩阵必须有相同的行数和列数才能相加
- 对应位置:每个位置的元素与另一个矩阵相同位置的元素相加
- 运算顺序:当涉及多个矩阵加法时,可以任意改变运算顺序而不影响最终结果
实际上,矩阵并没有直接的除法运算。当我们谈到矩阵的"除法"时,通常是指乘以逆矩阵。让我来详细解释:
3. 矩阵"除法"的本质
对于标量来说, a ÷ b a \div b a÷b 等价于 a × 1 b a \times \frac{1}{b} a×b1。类似地,对于矩阵 A A A 和可逆矩阵 B B B, A B − 1 AB^{-1} AB−1 就是最接近"除法"的概念,其中 B − 1 B^{-1} B−1 是 B B B 的逆矩阵。
逆矩阵的定义
对于一个方阵 A A A,如果存在矩阵 B B B,使得:
A B = B A = I AB = BA = I AB=BA=I
其中 I I I 是单位矩阵,则称 B B B 是 A A A 的逆矩阵,记作 A − 1 A^{-1} A−1。
计算逆矩阵的方法
1. 2×2矩阵的逆矩阵
对于2×2矩阵:
A = ( a b c d ) A = \begin{pmatrix} a & b \\ c & d \end{pmatrix} A=(acbd)
其逆矩阵为:
A − 1 = 1 a d − b c ( d − b − c a ) A^{-1} = \frac{1}{ad-bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix} A−1=ad−bc1(d−c−ba)
其中 a d − b c ad-bc ad−bc 称为矩阵的行列式,记作 ∣ A ∣ |A| ∣A∣ 或 det ( A ) \det(A) det(A)。
2. 伴随矩阵法
对于更大的矩阵,可以使用伴随矩阵:
A − 1 = 1 det ( A ) adj ( A ) A^{-1} = \frac{1}{\det(A)} \text{adj}(A) A−1=det(A)1adj(A)
其中 adj ( A ) \text{adj}(A) adj(A) 是 A A A 的伴随矩阵。
重要性质
-
并不是所有矩阵都有逆矩阵。只有行列式不为零的方阵才有逆矩阵。
-
如果矩阵 A A A 可逆,则:
( A − 1 ) − 1 = A (A^{-1})^{-1} = A (A−1)−1=A -
乘积的逆:
( A B ) − 1 = B − 1 A − 1 (AB)^{-1} = B^{-1}A^{-1} (AB)−1=B−1A−1 -
转置的逆:
( A − 1 ) T = ( A T ) − 1 (A^{-1})^T = (A^T)^{-1} (A−1)T=(AT)−1
"矩阵除法"的应用示例
考虑线性方程组:
A
X
=
B
AX = B
AX=B
要求解 X X X,相当于两边同时左乘 A − 1 A^{-1} A−1:
A
−
1
A
X
=
A
−
1
B
A^{-1}AX = A^{-1}B
A−1AX=A−1B
I
X
=
A
−
1
B
IX = A^{-1}B
IX=A−1B
X
=
A
−
1
B
X = A^{-1}B
X=A−1B
注意事项
- 矩阵"除法"不满足交换律: A − 1 B ≠ B A − 1 A^{-1}B \neq BA^{-1} A−1B=BA−1
- 只有方阵才可能有逆矩阵
- 奇异矩阵(行列式为0的矩阵)没有逆矩阵
- 在实际应用中,由于数值计算的误差,通常避免直接求逆矩阵,而是使用其他数值方法(如LU分解)来解决问题
4. 矩阵加法、乘法、除法综合习题
背景介绍
在图像处理中,常需要对多个矩阵进行运算来实现图像的变换、合成和滤波。以下是一个涉及图像处理的矩阵运算案例。
问题描述
有三个矩阵:
- 矩阵 A A A 代表原始图像的像素值
- 矩阵 B B B 代表滤波器权重
- 矩阵 C C C 代表增强系数
A = ( 2 4 1 3 1 5 ) A = \begin{pmatrix} 2 & 4 & 1 \\ 3 & 1 & 5 \end{pmatrix} A=(234115)
B = ( 0.1 0.2 0.3 0.4 0.5 0.6 ) B = \begin{pmatrix} 0.1 & 0.2 \\ 0.3 & 0.4 \\ 0.5 & 0.6 \end{pmatrix} B= 0.10.30.50.20.40.6
C = ( 2 1 1 2 ) C = \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} C=(2112)
请完成以下运算: ( A B + C − 1 ) C (AB + C^{-1})C (AB+C−1)C
解题步骤
1. 计算 A B AB AB
使用矩阵乘法公式: d i j = ∑ k = 1 n a i k b k j d_{ij} = \sum_{k=1}^n a_{ik}b_{kj} dij=∑k=1naikbkj
A B = ( ( 2 × 0.1 + 4 × 0.3 + 1 × 0.5 ) ( 2 × 0.2 + 4 × 0.4 + 1 × 0.6 ) ( 3 × 0.1 + 1 × 0.3 + 5 × 0.5 ) ( 3 × 0.2 + 1 × 0.4 + 5 × 0.6 ) ) AB = \begin{pmatrix} (2 \times 0.1 + 4 \times 0.3 + 1 \times 0.5) & (2 \times 0.2 + 4 \times 0.4 + 1 \times 0.6) \\ (3 \times 0.1 + 1 \times 0.3 + 5 \times 0.5) & (3 \times 0.2 + 1 \times 0.4 + 5 \times 0.6) \end{pmatrix} AB=((2×0.1+4×0.3+1×0.5)(3×0.1+1×0.3+5×0.5)(2×0.2+4×0.4+1×0.6)(3×0.2+1×0.4+5×0.6))
A B = ( 1.7 2.4 3.2 4.1 ) AB = \begin{pmatrix} 1.7 & 2.4 \\ 3.2 & 4.1 \end{pmatrix} AB=(1.73.22.44.1)
2. 计算 C − 1 C^{-1} C−1
对于2×2矩阵,使用以下公式:
C − 1 = 1 a d − b c ( d − b − c a ) C^{-1} = \frac{1}{ad-bc} \begin{pmatrix} d & -b \\ -c & a \end{pmatrix} C−1=ad−bc1(d−c−ba)
其中 ∣ C ∣ = 2 × 2 − 1 × 1 = 3 |C| = 2 \times 2 - 1 \times 1 = 3 ∣C∣=2×2−1×1=3
C − 1 = 1 3 ( 2 − 1 − 1 2 ) = ( 2 3 − 1 3 − 1 3 2 3 ) C^{-1} = \frac{1}{3} \begin{pmatrix} 2 & -1 \\ -1 & 2 \end{pmatrix} = \begin{pmatrix} \frac{2}{3} & -\frac{1}{3} \\ -\frac{1}{3} & \frac{2}{3} \end{pmatrix} C−1=31(2−1−12)=(32−31−3132)
3. 计算 A B + C − 1 AB + C^{-1} AB+C−1
使用矩阵加法:
A B + C − 1 = ( 1.7 2.4 3.2 4.1 ) + ( 2 3 − 1 3 − 1 3 2 3 ) AB + C^{-1} = \begin{pmatrix} 1.7 & 2.4 \\ 3.2 & 4.1 \end{pmatrix} + \begin{pmatrix} \frac{2}{3} & -\frac{1}{3} \\ -\frac{1}{3} & \frac{2}{3} \end{pmatrix} AB+C−1=(1.73.22.44.1)+(32−31−3132)
A B + C − 1 = ( 2.37 2.07 2.87 4.77 ) AB + C^{-1} = \begin{pmatrix} 2.37 & 2.07 \\ 2.87 & 4.77 \end{pmatrix} AB+C−1=(2.372.872.074.77)
4. 最后计算 ( A B + C − 1 ) C (AB + C^{-1})C (AB+C−1)C
使用矩阵乘法:
( A B + C − 1 ) C = ( 2.37 2.07 2.87 4.77 ) × ( 2 1 1 2 ) (AB + C^{-1})C = \begin{pmatrix} 2.37 & 2.07 \\ 2.87 & 4.77 \end{pmatrix} \times \begin{pmatrix} 2 & 1 \\ 1 & 2 \end{pmatrix} (AB+C−1)C=(2.372.872.074.77)×(2112)
= ( ( 2.37 × 2 + 2.07 × 1 ) ( 2.37 × 1 + 2.07 × 2 ) ( 2.87 × 2 + 4.77 × 1 ) ( 2.87 × 1 + 4.77 × 2 ) ) = \begin{pmatrix} (2.37 \times 2 + 2.07 \times 1) & (2.37 \times 1 + 2.07 \times 2) \\ (2.87 \times 2 + 4.77 \times 1) & (2.87 \times 1 + 4.77 \times 2) \end{pmatrix} =((2.37×2+2.07×1)(2.87×2+4.77×1)(2.37×1+2.07×2)(2.87×1+4.77×2))
= ( 6.81 6.51 10.51 12.41 ) = \begin{pmatrix} 6.81 & 6.51 \\ 10.51 & 12.41 \end{pmatrix} =(6.8110.516.5112.41)
涉及的新知识点
-
矩阵的条件数
矩阵的条件数表示矩阵的"病态程度":
κ ( A ) = ∥ A ∥ ⋅ ∥ A − 1 ∥ \kappa(A) = \|A\| \cdot \|A^{-1}\| κ(A)=∥A∥⋅∥A−1∥ -
Hadamard乘积
两个相同维度矩阵的对应元素相乘:
( A ∘ B ) i j = a i j ⋅ b i j (A \circ B)_{ij} = a_{ij} \cdot b_{ij} (A∘B)ij=aij⋅bij -
矩阵范数的相容性
对于矩阵范数,有:
∥ A B ∥ ≤ ∥ A ∥ ⋅ ∥ B ∥ \|AB\| \leq \|A\| \cdot \|B\| ∥AB∥≤∥A∥⋅∥B∥
应用价值
这类矩阵运算在图像处理中有重要应用:
- A B AB AB 代表图像的滤波操作
- C − 1 C^{-1} C−1 代表图像的反馈校正
- 最终结果可用于图像的对比度增强
5. 综合习题:三维空间变换矩阵运算
背景介绍
在计算机图形学和机器人运动学中,需要通过矩阵运算来描述物体在三维空间中的旋转和平移。这个案例将展示如何通过矩阵运算实现复合变换。
问题描述
一个机器人需要完成以下动作序列:
- 绕Z轴旋转 θ = 30 ° \theta = 30° θ=30° (矩阵 R z R_z Rz)
- 沿X轴平移2个单位 (矩阵 T T T)
- 绕X轴旋转 ϕ = 45 ° \phi = 45° ϕ=45° (矩阵 R x R_x Rx)
已知三个变换矩阵:
R z = ( cos 30 ° − sin 30 ° 0 0 sin 30 ° cos 30 ° 0 0 0 0 1 0 0 0 0 1 ) R_z = \begin{pmatrix} \cos 30° & -\sin 30° & 0 & 0 \\ \sin 30° & \cos 30° & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} Rz= cos30°sin30°00−sin30°cos30°0000100001
T = ( 1 0 0 2 0 1 0 0 0 0 1 0 0 0 0 1 ) T = \begin{pmatrix} 1 & 0 & 0 & 2 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} T= 1000010000102001
R x = ( 1 0 0 0 0 cos 45 ° − sin 45 ° 0 0 sin 45 ° cos 45 ° 0 0 0 0 1 ) R_x = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & \cos 45° & -\sin 45° & 0 \\ 0 & \sin 45° & \cos 45° & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} Rx= 10000cos45°sin45°00−sin45°cos45°00001
求最终的复合变换矩阵 M = R x T R z M = R_x T R_z M=RxTRz
解题步骤
1. 先计算 T R z TR_z TRz
使用齐次坐标系下的矩阵乘法:
T R z = ( cos 30 ° − sin 30 ° 0 2 sin 30 ° cos 30 ° 0 0 0 0 1 0 0 0 0 1 ) TR_z = \begin{pmatrix} \cos 30° & -\sin 30° & 0 & 2 \\ \sin 30° & \cos 30° & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} TRz= cos30°sin30°00−sin30°cos30°0000102001
2. 计算最终矩阵 M = R x ( T R z ) M = R_x(TR_z) M=Rx(TRz)
M = ( cos 30 ° − sin 30 ° 0 2 sin 30 ° cos 45 ° cos 30 ° cos 45 ° − sin 45 ° 0 sin 30 ° sin 45 ° cos 30 ° sin 45 ° cos 45 ° 0 0 0 0 1 ) M = \begin{pmatrix} \cos 30° & -\sin 30° & 0 & 2 \\ \sin 30° \cos 45° & \cos 30° \cos 45° & -\sin 45° & 0 \\ \sin 30° \sin 45° & \cos 30° \sin 45° & \cos 45° & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} M= cos30°sin30°cos45°sin30°sin45°0−sin30°cos30°cos45°cos30°sin45°00−sin45°cos45°02001
代入具体数值(取四位小数):
M = ( 0.8660 − 0.5000 0 2 0.3536 0.6124 − 0.7071 0 0.3536 0.6124 0.7071 0 0 0 0 1 ) M = \begin{pmatrix} 0.8660 & -0.5000 & 0 & 2 \\ 0.3536 & 0.6124 & -0.7071 & 0 \\ 0.3536 & 0.6124 & 0.7071 & 0 \\ 0 & 0 & 0 & 1 \end{pmatrix} M= 0.86600.35360.35360−0.50000.61240.612400−0.70710.707102001
新引入的知识点
1. 齐次坐标系
在三维空间中使用4×4矩阵的原因是采用了齐次坐标系,点的坐标表示为:
( x , y , z ) → ( x , y , z , 1 ) (x, y, z) \rightarrow (x, y, z, 1) (x,y,z)→(x,y,z,1)
向量表示为:
(
x
,
y
,
z
)
→
(
x
,
y
,
z
,
0
)
(x, y, z) \rightarrow (x, y, z, 0)
(x,y,z)→(x,y,z,0)
2. 欧拉角与旋转矩阵
绕单一坐标轴的旋转可以用基本旋转矩阵表示:
R x ( θ ) = ( 1 0 0 0 cos θ − sin θ 0 sin θ cos θ ) R_x(\theta) = \begin{pmatrix} 1 & 0 & 0 \\ 0 & \cos \theta & -\sin \theta \\ 0 & \sin \theta & \cos \theta \end{pmatrix} Rx(θ)= 1000cosθsinθ0−sinθcosθ
3. 变换矩阵的分解定理
任何齐次变换矩阵都可以分解为:
T = ( R t 0 1 ) T = \begin{pmatrix} R & t \\ 0 & 1 \end{pmatrix} T=(R0t1)
其中 R R R 是3×3旋转矩阵, t t t 是3×1平移向量。
4. 变换的不变量
在刚体变换中:
- 距离保持不变
- 角度保持不变
- 平行关系保持不变
应用意义
这种矩阵运算在以下领域有重要应用:
- 机器人运动学
- 计算机动画
- 虚拟现实
- 3D建模
- 计算机视觉中的相机标定
通过组合基本变换矩阵,可以实现复杂的空间运动,这是机器人控制和3D图形渲染的基础。