Bootstrap

矩阵的运算

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=1naikbkj

其中, 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

重要性质

  1. 矩阵乘法不满足交换律:一般情况下 A B ≠ B A AB \neq BA AB=BA

  2. 矩阵乘法满足结合律: ( A B ) C = A ( B C ) (AB)C = A(BC) (AB)C=A(BC)

  3. 矩阵乘法满足分配律:
    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

  4. 单位矩阵 I I I 的性质:对任意合适维度的矩阵 A A A,都有:
    A I = I A = A AI = IA = A AI=IA=A

计算技巧

在实际计算中,可以记住以下要点:

  1. 结果矩阵的维度: m × n m \times n m×n 乘以 n × p n \times p n×p 得到 m × p m \times p m×p
  2. 每个元素的计算都是"行乘列": c i j c_{ij} cij 等于矩阵 A A A 的第 i i i 行与矩阵 B B B 的第 j j j 列对应元素乘积之和
  3. 两个矩阵相乘的条件是:第一个矩阵的列数必须等于第二个矩阵的行数

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 1im 1 ≤ j ≤ n 1 \leq j \leq n 1jn

具体示例

考虑两个 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)

矩阵加法的重要性质

  1. 交换律:
    A + B = B + A A + B = B + A A+B=B+A

  2. 结合律:
    ( A + B ) + C = A + ( B + C ) (A + B) + C = A + (B + C) (A+B)+C=A+(B+C)

  3. 零矩阵性质:存在零矩阵 O O O,对任意同维度矩阵 A A A,有:
    A + O = O + A = A A + O = O + A = A A+O=O+A=A

  4. 负矩阵性质:对任意矩阵 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}
$$

计算要点

  1. 维度匹配:两个矩阵必须有相同的行数和列数才能相加
  2. 对应位置:每个位置的元素与另一个矩阵相同位置的元素相加
  3. 运算顺序:当涉及多个矩阵加法时,可以任意改变运算顺序而不影响最终结果

实际上,矩阵并没有直接的除法运算。当我们谈到矩阵的"除法"时,通常是指乘以逆矩阵。让我来详细解释:

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} AB1 就是最接近"除法"的概念,其中 B − 1 B^{-1} B1 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} A1

计算逆矩阵的方法

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} A1=adbc1(dcba)

其中 a d − b c ad-bc adbc 称为矩阵的行列式,记作 ∣ 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) A1=det(A)1adj(A)

其中 adj ( A ) \text{adj}(A) adj(A) A A A 的伴随矩阵。

重要性质

  1. 并不是所有矩阵都有逆矩阵。只有行列式不为零的方阵才有逆矩阵。

  2. 如果矩阵 A A A 可逆,则:
    ( A − 1 ) − 1 = A (A^{-1})^{-1} = A (A1)1=A

  3. 乘积的逆:
    ( A B ) − 1 = B − 1 A − 1 (AB)^{-1} = B^{-1}A^{-1} (AB)1=B1A1

  4. 转置的逆:
    ( A − 1 ) T = ( A T ) − 1 (A^{-1})^T = (A^T)^{-1} (A1)T=(AT)1

"矩阵除法"的应用示例

考虑线性方程组:
A X = B AX = B AX=B

要求解 X X X,相当于两边同时左乘 A − 1 A^{-1} A1

A − 1 A X = A − 1 B A^{-1}AX = A^{-1}B A1AX=A1B
I X = A − 1 B IX = A^{-1}B IX=A1B
X = A − 1 B X = A^{-1}B X=A1B

注意事项

  1. 矩阵"除法"不满足交换律: A − 1 B ≠ B A − 1 A^{-1}B \neq BA^{-1} A1B=BA1
  2. 只有方阵才可能有逆矩阵
  3. 奇异矩阵(行列式为0的矩阵)没有逆矩阵
  4. 在实际应用中,由于数值计算的误差,通常避免直接求逆矩阵,而是使用其他数值方法(如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+C1)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} C1

对于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} C1=adbc1(dcba)

其中 ∣ C ∣ = 2 × 2 − 1 × 1 = 3 |C| = 2 \times 2 - 1 \times 1 = 3 C=2×21×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} C1=31(2112)=(32313132)

3. 计算 A B + C − 1 AB + C^{-1} AB+C1

使用矩阵加法:

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+C1=(1.73.22.44.1)+(32313132)

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+C1=(2.372.872.074.77)

4. 最后计算 ( A B + C − 1 ) C (AB + C^{-1})C (AB+C1)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+C1)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)

涉及的新知识点

  1. 矩阵的条件数
    矩阵的条件数表示矩阵的"病态程度":
    κ ( A ) = ∥ A ∥ ⋅ ∥ A − 1 ∥ \kappa(A) = \|A\| \cdot \|A^{-1}\| κ(A)=AA1

  2. Hadamard乘积
    两个相同维度矩阵的对应元素相乘:
    ( A ∘ B ) i j = a i j ⋅ b i j (A \circ B)_{ij} = a_{ij} \cdot b_{ij} (AB)ij=aijbij

  3. 矩阵范数的相容性
    对于矩阵范数,有:
    ∥ A B ∥ ≤ ∥ A ∥ ⋅ ∥ B ∥ \|AB\| \leq \|A\| \cdot \|B\| ABAB

应用价值

这类矩阵运算在图像处理中有重要应用:

  • A B AB AB 代表图像的滤波操作
  • C − 1 C^{-1} C1 代表图像的反馈校正
  • 最终结果可用于图像的对比度增强

5. 综合习题:三维空间变换矩阵运算

背景介绍

在计算机图形学和机器人运动学中,需要通过矩阵运算来描述物体在三维空间中的旋转和平移。这个案例将展示如何通过矩阵运算实现复合变换。

问题描述

一个机器人需要完成以下动作序列:

  1. 绕Z轴旋转 θ = 30 ° \theta = 30° θ=30° (矩阵 R z R_z Rz)
  2. 沿X轴平移2个单位 (矩阵 T T T)
  3. 绕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°00sin30°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°00sin45°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°00sin30°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°0sin30°cos30°cos45°cos30°sin45°00sin45°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.353600.50000.61240.6124000.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θ0sinθ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. 变换的不变量

在刚体变换中:

  • 距离保持不变
  • 角度保持不变
  • 平行关系保持不变

应用意义

这种矩阵运算在以下领域有重要应用:

  1. 机器人运动学
  2. 计算机动画
  3. 虚拟现实
  4. 3D建模
  5. 计算机视觉中的相机标定

通过组合基本变换矩阵,可以实现复杂的空间运动,这是机器人控制和3D图形渲染的基础。

;