02矩阵运算

矩阵运算教案

课程目标
  1. 了解矩阵的基本概念和常见运算。
  2. 掌握矩阵的加法、乘法、转置、行列式、逆矩阵等运算。
  3. 结合 NumPy 进行矩阵运算的编程实践。

第一部分:矩阵的基本概念

1.1 矩阵的定义

矩阵(Matrix)是一个 m × n 的数表,其中:

  • m 代表行数(row)
  • n 代表列数(column)

例如:

A =\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6
\end{bmatrix}

是一个 2×3 矩阵


第二部分:矩阵的基本运算

2.1 矩阵加法与减法

2.1.1 定义:矩阵加法一般是指两个矩阵把其相对应元素加在一起的运算
2.1.2 条件:通常的矩阵加法被定义在两个相同 大小 的矩阵

举例

\left[
 \begin{matrix}
   8 & 12 & 25 \\
   33 & 28 & 44 \\
   65 & 32 & 88 \\
  \end{matrix}
  \right] = \left[
 \begin{matrix}
   2 & 20 & 40 \\
   20 & 15 & -30 \\
   30 & 20 & 70 
  \end{matrix}
  \right] + \left[
 \begin{matrix}
   6 & -8 & 15 \\
   13 & 13 & 77 \\
   35 & 12 & 18 
  \end{matrix}
  \right] \\

参考资料:
原文

2.2 矩阵数乘

矩阵乘以一个标量 ( k ):

kA =
\begin{bmatrix}
k \cdot a_{11} & k \cdot a_{12} \\
k \cdot a_{21} & k \cdot a_{22}
\end{bmatrix}


2.3 矩阵乘法

2.3.1 定义:

规则:矩阵 ( A ) 的列数必须等于矩阵 ( B ) 的行数(( m x n ) 和 ( n x p ) 可相乘,得到 ( m x p ) 矩阵)。
矩阵相乘最重要的方法是一般矩阵乘积。它只有在第一个矩阵的列数(column)和第二个矩阵的行数(row)相同时才有意义。一般单指矩阵乘积时,指的便是一般矩阵乘积。一个m×n的矩阵就是m×n个数排成m行n列的一个数阵。由于它把许多数据紧凑地集中到了一起,所以有时候可以简便地表示一些复杂的模型,如电力系统网络模型

设A为m*p的矩阵,B为p*n的矩阵,那么称m*n的矩阵C为矩阵A与B的乘积,记作C=AB,其中矩阵C中的第i行第j列元素可以表示为

(AB)i,j = ∑k=1paikbki = ai1b1j+ai2b2j+……+aipbpj
如下图

A=\left[
 \begin{matrix}
   a11 & a12 & a13 \\
   a21 & a22 & a23 \\
  \end{matrix}
  \right] 

  B= \left[
 \begin{matrix}
   b11 & b12 \\
   b21 & b22 \\
   b31 & b32 
  \end{matrix}
  \right] \\
  
  c = A B= \left[
 \begin{matrix}
   a11b11 + a12b12 + a13b31, & a11b21 + a12b22 + a13b32  \\
   a21b11 + a22b12 + a23b31, & a21b21 + a22b22 + a23b32
  \end{matrix}
  \right] \\
\\\
\\\
A =
\begin{bmatrix}
1 & 2 & 3 \\
4 & 5 & 6
\end{bmatrix}
, \quad
B =
\begin{bmatrix}
7 & 8 \\
9 & 10 \\
11 & 12
\end{bmatrix}

\\\
AB =
\begin{bmatrix}
1 \cdot 7 + 2 \cdot 9 + 3 \cdot 11 & 1 \cdot 8 + 2 \cdot 10 + 3 \cdot 12 \\
4 \cdot 7 + 5 \cdot 9 + 6 \cdot 11 & 4 \cdot 8 + 5 \cdot 10 + 6 \cdot 12
\end{bmatrix}
=
\begin{bmatrix}
58 & 64 \\
139 & 154
\end{bmatrix}


  
2.3.2 注意事项

1、当矩阵A的列数(column)等于矩阵B的行数(row)时,A与B可以相乘。
2、矩阵C的行数等于矩阵A的行数,C的列数等于B的列数。
3、乘积C的第m行第n列的元素等于矩阵A的第m行的元素与矩阵B的第n列对应元素乘积之和。

2.3.3 基本性质

1、乘法结合律: (AB)C=A(BC)
2、乘法左分配律:(A+B)C=AC+BC
3、乘法右分配律:C(A+B)=CA+CB
4、对数乘的结合性k(AB)=(kA)B=A(kB)
5、转置 (AB)T=BTAT.
6、矩阵乘法一般不满足交换律。

网文链接


第三部分:矩阵的特殊运算

3.1 矩阵的转置

定义:矩阵 A 的转置 AT 是将行变为列,列变为行。
A = [ 1 2 3 4 5 6 ] A = \begin{bmatrix} 1 & 2 & 3 \\ 4 & 5 & 6 \end{bmatrix} A=[142536]
A T = [ 1 4 2 5 3 6 ] A^T = \begin{bmatrix} 1 & 4 \\ 2 & 5 \\ 3 & 6 \end{bmatrix} AT= 123456


3.2 矩阵的行列式(仅限方阵)

2×2 矩阵的行列式计算
det ( A ) = [ a b c d ] = a d − b c \text{det}(A) =\begin{bmatrix} a & b \\ c & d \end{bmatrix}= ad - bc det(A)=[acbd]=adbc
3×3 矩阵的行列式
A = [ a b c d e f g h i ]   det ( A ) = a ( e i − f h ) − b ( d i − f g ) + c ( d h − e g ) A= \begin{bmatrix} a & b & c \\ d & e & f \\ g & h & i \end{bmatrix} \\\ \\ \text{det}(A) = a(ei − fh) − b(di − fg) + c(dh − eg) A= adgbehcfi  det(A)=a(eifh)b(difg)+c(dheg)


3.3 矩阵的逆

定义:如果一个矩阵 ( A ) 存在 逆矩阵 ( A-1 ),满足:A A-1 = I则称 ( A ) 为 可逆矩阵;换言之矩阵可逆前提是该矩阵的行列式不为0。

计算公式(2×2 矩阵)
A − 1 = 1 det ( A ) [ d − b − c a ] A^{-1}=\frac{1} {\text{det}(A)} \begin{bmatrix} d & -b \\ -c & a \end{bmatrix} A1=det(A)1[dcba]


第四部分:编程实践(NumPy 实现)

import numpy as np

# 矩阵定义
A = np.array([[1, 2], [3, 4]])
B = np.array([[5, 6], [7, 8]])

# 矩阵加法
C = A + B
print("A + B:\n", C)

# 矩阵乘法
D = np.dot(A, B)
print("A * B:\n", D)

# 矩阵转置
print("A^T:\n", A.T)

# 计算行列式
det_A = np.linalg.det(A)
print("det(A):", det_A)

# 计算逆矩阵
A_inv = np.linalg.inv(A)
print("A^(-1):\n", A_inv)

课程总结

掌握了矩阵的基本运算:加法、乘法、转置、行列式、逆矩阵。
理解了矩阵的数学性质
使用 NumPy 进行矩阵计算,提高编程能力

你可能感兴趣的:(计算机视觉,矩阵,线性代数,计算机视觉)