矩阵
1485字,阅读需时5分钟
来自专栏
课程/专栏

矩阵是向量的集合,把多个向量组织在一起就构成了一个矩阵。例如在三维空间内,有A、B、C三个向量。

20.png

将A、B、C三个向量按照行的方式组织在一起构成了矩阵M:

19.png

将A、B、C三个向量按照列的方式组织在一起构成了矩阵T:

21.png

矩阵M的向量称为行向量,矩阵T的向量称为列向量。下面给出矩阵的定义:

矩阵是由m X n个数aij排列成的m行n列的数表,称为m行n列矩阵,简称m X n 矩阵。矩阵表示如下:

22.png

在上述定义中,可以把矩阵A看作是由m个:

23.png

向量构成的。

如果矩阵的行和列相同,即矩阵是由n X n个数aij排列成的n行n列的数表,称为n阶矩阵。

矩阵的转置运算

前面的矩阵M和矩阵T可以互相转换,这种转换称为矩阵的转置运算。矩阵的转置就是把矩阵的行列互换,行变成列,列变成行。例如对M矩阵行列互换后,就构成了矩阵T。

下面给出矩阵的转置概念:

把m X n矩阵A的行列依次互换得到n X m矩阵,称为矩阵A的转置矩阵,记作AT。

26.png

矩阵的转置运算满足下面的运算律:

27.png

转置矩阵的转置矩阵是原矩阵。

28.png

A与B和的转置矩阵等于A的转置矩阵与B的转置矩阵的和。

29.png

A与B矩阵积的转置矩阵等于B的转置矩阵与A的转置的积(顺序不能颠倒)。

矩阵的加法运算

设有矩阵A和矩阵B:

30.png

如何计算A+B和A-B呢?

两个矩阵进行加法和减法运算有一个前提条件,就是两个矩阵的行数和列数相同,在这种情况下,两个矩阵相加和相减的结果是一个新的矩阵,新矩阵的行数和列数和原来矩阵的行列数相同,其元素分别是两个矩阵对应元素的和值和差值。

31.png

矩阵的加法和减法运算可以看作矩阵内对应向量的加法或减法运算。例如在计算A+B的过程中,A的列向量或行向量分别与B的列向量或行向量相加,结果是新矩阵的列向量或行向量。

纯量与矩阵的乘法运算

纯量与矩阵相乘,结果矩阵与原矩阵的行列数相同,其元素的值是原矩阵中每个对应元素与纯量相乘的数值。

(-1)* B的计算过程如下所示:

32.png

例1:编写Python程序,实现前面矩阵A和B的加法运算和减法运算。

在Python程序中,使用嵌套列表定义一个二维数组,这个二维数组就是一个矩阵。

#使用嵌套列表定义矩阵A和B
A = [[-1,3,2],[5,7,-2],[-3,0,1]]
B = [[8,2,-1],[6,4,0],[-2,3,5]]
 
#定义矩阵C,存储A+B的结果
C = [[0,0,0],[0,0,0],[0,0,0]]
 
#定义矩阵D,存储A-B的结果
D = [[0,0,0],[0,0,0],[0,0,0]]
 
# 遍历A矩阵的行
for i in range(len(A)):
   # 遍历A矩阵的列
   for j in range(len(A[0])):
       C[i][j] = A[i][j] + B[i][j]
       D[i][j] = A[i][j] - B[i][j]
print(C)
print(D)
 
在实际应用中,一般使用numpy对矩阵进行运算。
# 导入numpy模块
import numpy as np
 
# 定义矩阵
A = np.array([[-1,3,2],[5,7,-2],[-3,0,1]])
B = np.array([[8,2,-1],[6,4,0],[-2,3,5]])
 
# 矩阵运算
print(A+B)
print(A-B)
我要评论
全部评论