📜  使用 NumPy 计算矩阵和向量的内积、外积和叉积(1)

📅  最后修改于: 2023-12-03 15:06:49.306000             🧑  作者: Mango

使用 NumPy 计算矩阵和向量的内积、外积和叉积

NumPy是一个常用的Python库,为科学计算提供了大量的支持。在NumPy中,可以方便地计算矩阵、向量的内积、外积和叉积。下面我们分别介绍这几个概念及其计算方法。

内积

内积也叫点积,定义为同维数向量各项的乘积之和。NumPy中使用np.dot函数计算向量之间的内积,使用np.matmul函数计算矩阵之间的内积。

import numpy as np

# 计算两个向量之间的内积
a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
result = np.dot(a, b)
print(result)  # 输出:32

# 计算两个矩阵之间的内积
x = np.array([[1, 2], [3, 4]])
y = np.array([[5, 6], [7, 8]])
result = np.matmul(x, y)
print(result)  # 输出:[[19 22]
              #       [43 50]]
外积

外积也叫叉积,定义为两个同长度向量按位相乘并求和的结果。NumPy中使用np.outer函数计算两个向量之间的外积。

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
result = np.outer(a, b)
print(result)  # 输出:[[ 4  5  6]
              #       [ 8 10 12]
              #       [12 15 18]]
叉积

叉积是一个向量和另一个向量的积得到的另一个向量,也叫向量积。叉积的结果是垂直于参与叉积运算的两个向量的向量。NumPy中使用np.cross函数计算两个向量之间的叉积。

import numpy as np

a = np.array([1, 2, 3])
b = np.array([4, 5, 6])
result = np.cross(a, b)
print(result)  # 输出:[-3  6 -3]

注意:np.cross函数的参数可以是两个长度相等的向量,也可以是两个三维矩阵。如果是矩阵,则默认对矩阵的每一行进行运算。

以上就是使用NumPy计算矩阵和向量的内积、外积和叉积的方法。在实际应用中,这些计算方法经常被用到,非常方便和实用。