当前位置: 首页 > 编程笔记 >

在Python中使用Numpy在单行中将两个矩阵相乘

谭坚诚
2023-03-14
本文向大家介绍在Python中使用Numpy在单行中将两个矩阵相乘,包括了在Python中使用Numpy在单行中将两个矩阵相乘的使用技巧和注意事项,需要的朋友参考一下

矩阵乘法是一个漫长的过程,其中矩阵的每一行和每一列中的每个元素都要以某种方式相乘和相加。对于矩阵乘法,第一个矩阵中的列数必须等于第二个矩阵中的行数。结果矩阵具有第一个矩阵的行数和第二个矩阵的列数。

对于较小的矩阵,我们可以设计嵌套的循环并找到结果。对于更大的矩阵,我们需要使用python中的一些内置功能来解决。我们将在下面看到这两种方法。

使用for循环

我们采用尺寸为2x3和3x2(行x列)的两个矩阵。矩阵乘法的结果是2x2矩阵。我们有一个嵌套的for循环,旨在遍历A的列和B的行,并在这些行和列中添加值的乘积。

示例

#matrix A with 2 rows
A = ([5,10,15],[20,25,30])

#matrix B with 2 columns
B = ([4,8],[12,10],[14,16])

result = [[0 for x in range(2)] for y in range(2)]

for i in range(len(A)):
   # iterate through columns of A
   for j in range(len(B[0])):
      # iterate through rows of B
      for k in range(len(B)):
         result[i][j] += A[i][k] * B[k][j]
for r in result:
   print(r)

输出结果

运行上面的代码将为我们提供以下结果:

[350, 380]
[800, 890]

使用Numpy

Numpy具有一个名为dot的内置函数,该函数执行矩阵乘法。我们的程序行数变得非常少,语法也非常简单。

示例

import numpy as np

#matrix A
matrix_A = ([5,10,15],[20,25,30])

#matrix B
matrix_B = ([4,8],[12,10],[14,16])
result = np.dot(matrix_A,matrix_B)

# Result
print(result)

输出结果

运行上面的代码将为我们提供以下结果:

[[350 380]
[800 890]]
 类似资料:
  • 本文向大家介绍在Python中使用Numpy将两个矩阵相乘,包括了在Python中使用Numpy将两个矩阵相乘的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将学习如何使用Python中的NumPy库将两个矩阵相乘。使用NumPy库很简单。 它有一个称为点的矩阵乘法方法。您可以使用以下命令安装NumPy库。 让我们看看程序中涉及的步骤。 导入NumPy库。 初始化矩阵。 将矩阵与nump

  • 问题内容: 谁能告诉我如何在ojAlgo中将两个矩阵的对应元素相乘?寻找块函数 问题答案: 有几种方法可以做到这一点。这是一种选择: matrixA.operateOnMatching(MULTIPLY,matrixB).supplyTo(matrixC); MULTIPLY来自静态导入​​的位置(org.ojalgo.function.constant.PrimitiveMath)。

  • 问题内容: 使用SciPy / Numpy在Python中连接稀疏矩阵的最有效方法是什么? 在这里,我使用以下内容: 我想在回归中使用两个预测变量,但是当前格式显然不是我想要的格式。是否有可能获得以下信息: 它太大,无法转换为深格式。 问题答案: 您可以使用来连接行数相同的稀疏矩阵(水平串联): 同样,您可以用于将具有相同列数的稀疏矩阵进行串联(垂直串联)。 使用或将创建带有两个稀疏矩阵对象的数组

  • 本文向大家介绍Python中的Numpy矩阵操作,包括了Python中的Numpy矩阵操作的使用技巧和注意事项,需要的朋友参考一下 Numpy 通过观察Python的自有数据类型,我们可以发现Python原生并不提供多维数组的操作,那么为了处理矩阵,就需要使用第三方提供的相关的包。 NumPy 是一个非常优秀的提供矩阵操作的包。NumPy的主要目标,就是提供多维数组,从而实现矩阵操作。 NumPy

  • 问题内容: 在MATLAB中,您可以使用函数来计算矩阵的Jordan范式。 在NumPy和SciPy中有可用的等效功能吗? 问题答案: MATLAB jordan函数来自Symbolic Math Toolbox,因此从SymPy库中获取Python替代品似乎并不合理。具体来说,该类具有method 。创建sympy矩阵时,可以将numpy数组作为参数传递。例如,以下摘自Jordan标准格式的Wi

  • 问题内容: 我有一个Sqlite数据库,其中包含以下类型的架构: 该表包含术语及其在文档中的各自计数。喜欢 该矩阵可以被视为稀疏矩阵,因为每个文档都包含很少的具有非零值的项。 我将如何使用numpy从稀疏矩阵创建密集矩阵,因为我必须使用余弦相似度来计算文档之间的相似度。 这个密集的矩阵看起来像一个表格,第一列为docid,所有术语列为第一行,其余单元格将包含计数。 问题答案: 我用熊猫解决了这个问