MIT G.Strang老先生在《线性代数公开课》第一章提到的矩阵和向量乘法,我们进行引申,即可计算矩阵和矩阵乘法规则
1、矩阵和向量乘法思路,有两种解法:
1)列向量方法
对于矩阵A以及向量x,Ax是矩阵A列向量的线性组合,例如 :
2)行向量方法
通过矩阵A的行向量和x向量进行点积来进行计算,例如:
2、矩阵和矩阵乘法思路,对应也有两种解法:
1)列向量方法
矩阵A和矩阵B
矩阵A的列向量,分别被矩阵B的各个列向量进行线性组合
2)行向量方法
矩阵A(M个N维行向量叠加起来,每个计算都是行向量为单位),
矩阵B(K个N维列向量叠加起来,每个计算都是以列向量为单位)。
矩阵A的各个行向量分别与矩阵B分解的各个向量进行点积
图示:矩阵乘法示意图-AB相乘,A分解成行向量,再跟B的列向量进行点积
新矩阵C的每一行的分量的个数=B的列数(这个描述不太严谨,待完善)
注:为了实现线性组合,B作为系数矩阵,每一列的项数要与A矩阵每一行的项数相同
附录:矩阵乘法Python代码示例
M = [[1,1,1],[1,1,1],[1,1,1],[1,1,1]]
N = [[1,1],[1,1],[1,1]]
R = [[0,0],[0,0],[0,0],[0,0]]
for i in range(len(M)):
for j in range(len(M[0])-1):
sum =0
for k in range(len(N)):
sum += M[i][k]*N[k][j]
R[i][j] = sum
print(R)
网友评论