python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > NumPy矩阵乘法

NumPy矩阵乘法的实现

作者:睿科知识云

本文主要介绍了NumPy矩阵乘法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

NumPy矩阵乘法

矩阵乘法是将两个矩阵作为输入值,并将 A 矩阵的行与 B 矩阵的列对应位置相乘再相加,从而生成一个新矩阵,如下图所示:
注意:必须确保第一个矩阵中的行数等于第二个矩阵中的列数,否则不能进行矩阵乘法运算。

矩阵乘法

图1:矩阵乘法

矩阵乘法运算被称为向量化操作,向量化的主要目的是减少使用的 for 循环次数或者根本不使用。这样做的目的是为了加速程序的计算。

下面介绍 NumPy 提供的三种矩阵乘法,从而进一步加深对矩阵乘法的理解。

逐元素矩阵乘法

multiple() 函数用于两个矩阵的逐元素乘法,示例如下:

import numpy as np 
array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) 
array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) 
result=np.multiply(array1,array2) 
result  

输出结果:

array([[[ 9, 16, 21],
         [24, 25, 24],
         [21, 16,  9]]])

矩阵乘积运算

matmul() 用于计算两个数组的矩阵乘积。示例如下:

import numpy as np 
array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) 
array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) 
result=np.matmul(array1,array2) 
print(result) 

输出结果:

数组([[[
         [30,24,18],
         [84,69,54 ],[138,114,90]]])

矩阵点积

dot() 函数用于计算两个矩阵的点积。如下所示:

示例如下:

import numpy as np 
array1=np.array([[1,2,3],[4,5,6],[7,8,9]],ndmin=3) 
array2=np.array([[9,8,7],[6,5,4],[3,2,1]],ndmin=3) 
result=np.dot(array1,array2) 
print(result)

输出结果:

array([[[[ 30,  24,  18]],
         [[ 84,  69,  54]],
         [[138, 114,  90]]]])

到此这篇关于NumPy矩阵乘法的实现的文章就介绍到这了,更多相关NumPy矩阵乘法内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文