Python 程序:两个矩阵相乘

2024年9月5日 | 阅读时长:4分钟

引言

在本教程中,我们将讨论一个Python程序,用于将两个矩阵相乘。我们将编写一个Python程序来获取两个输入矩阵的乘积,并将结果打印出来。这个Python程序指定了如何将两个具有特定值的矩阵相乘。

在编写Python程序之前,让我们先了解一下两个矩阵相乘的概述。

矩阵乘法

矩阵乘法是一种二元运算,它使用一对矩阵来产生另一个矩阵。矩阵内的元素根据基本算术进行乘法。

在两个矩阵的乘法中,第一个矩阵的行元素与第二个矩阵的列元素相乘。在矩阵乘法中,第一个矩阵的行值必须与第二个矩阵的列值相同。这意味着,如果第一个矩阵是3X3,那么第二个矩阵的列值必须是3。

示例: 假设我们给定了以下两个A和B矩阵

C将是上述两个矩阵的加法,即C = A+B,因此C应该是

正如我们所看到的,结果矩阵C(也称为矩阵乘积)具有与第一个矩阵(A矩阵)相同的行数,并具有与第二个矩阵(B矩阵)相同的列数。我们还将这种类型的矩阵乘法称为矩阵的点积。

两个矩阵的乘法

现在,我们将编写一个Python程序,用于两个矩阵的乘法,我们在上面给出的示例中执行了乘法。我们可以使用各种方法来编写Python程序,但在本教程中,我们将仅使用以下两种方法

  1. 使用嵌套for循环方法
  2. 使用嵌套列表推导式方法

在这两种方法中,我们将编写一个示例程序来了解它们用于将两个矩阵相乘的实现。

方法1:使用嵌套for循环方法

在这种方法中,我们将对两个矩阵使用嵌套的for循环,对它们执行乘法,并将乘法结果存储在第三个矩阵中作为结果值。

让我们通过以下示例了解此方法的实现。

程序代码 1

现在,我们给出一个使用Python中的嵌套for循环的矩阵乘法示例。程序代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

The multiplication result of matrix A and B is: 
[37, 43, 59]
[34, 58, 62]
[58, 92, 103]

程序代码 2

现在,我们给出一个使用Python中的嵌套for循环的矩阵乘法示例。程序代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

[3, 2, 1]
[6, 5, 4]
[9, 8, 7]

方法2:使用嵌套列表推导式方法

在这种方法中,我们将使用嵌套列表推导式来获取两个输入矩阵的乘积结果。在使用程序中的列表推导式方法时,我们还将在嵌套列表上使用“Python中的zip”。让我们通过以下示例了解此方法的实现。

程序代码

现在,我们给出一个使用Python的嵌套列表推导式方法的矩阵乘法示例。程序代码如下 -

输出

现在我们在 Python 中编译上述代码,并在成功编译后运行它。然后输出如下:

The multiplication result of matrix A and B is: 
[3, 2, 1]
[6, 5, 4]
[9, 8, 7]

结论

在本文中,我们讨论了一个Python程序,用于将两个矩阵相乘。在这里,我们讨论了Python中两种类型的矩阵乘法,并给出了一些合适的示例。


下一个主题Pyhton转置矩阵