无名阁,只为技术而生。流水不争先,争的是滔滔不绝。

详解NumPy 矩阵乘法,np.dot(),操作(图文详解1)

Python Micheal 8个月前 (04-23) 196次浏览 已收录 扫描二维码
详解NumPy 矩阵乘法,np.dot(),操作(图文详解1)

numpy 矩阵乘法

详解NumPy 矩阵,np.dot()乘法操作(图文详解1)

详细介绍一下 NumPy 中的矩阵乘法操作。

  1. 函数作用:
    在 NumPy 中,可以使用 np.dot() 或 @ 运算符来执行矩阵乘法操作。这两种方式都可以实现矩阵乘法,但在底层实现上略有不同。
  2. 底层原理:
    NumPy 中的矩阵乘法操作利用了线性代数中矩阵乘法的定义。具体来说,对于两个矩阵 A(m×n) 和 B(n×p),它们的乘积矩阵 C(m×p) 中的每个元素 C[i,j] 都是由 A 的第 i 行和 B 的第 j 列的对应元素相乘后求和得到的。
  3. 使用步骤:
    a. 导入 NumPy 库
    b. 创建两个可以进行矩阵乘法的 NumPy 数组
    c. 使用 np.dot() 或 @ 运算符进行矩阵乘法
    d. 观察结果矩阵
  4. 开发流程:
    • 确定需要进行矩阵乘法的两个 NumPy 数组
    • 检查两个数组的形状,确保可以进行矩阵乘法(前一个矩阵的列数必须等于后一个矩阵的行数)
    • 使用 np.dot() 或 @ 运算符进行矩阵乘法
    • 将结果矩阵赋值给一个新的变量
    • 输出结果矩阵,观察计算结果
  5. 示例代码:
import numpy as np

# 创建两个矩阵
A = np.array([[1, 2, 3], [4, 5, 6]])
B = np.array([[7, 8], [9, 10], [11, 12]])

# 使用 np.dot() 进行矩阵乘法
C1 = np.dot(A, B)
print("使用 np.dot() 进行矩阵乘法:")
print(C1)
# 输出:
# [[58 64]
#  [139 154]]

# 使用 @ 运算符进行矩阵乘法
C2 = A @ B
print("\n使用 @ 运算符进行矩阵乘法:")
print(C2)
# 输出:
# [[58 64]
#  [139 154]]

# 检查矩阵乘法的维度限制
# D = np.array([[1, 2], [3, 4]])
# E = np.array([[5, 6, 7], [8, 9, 10]])
# F = D @ E  # 报错,因为 D 的列数不等于 E 的行数

总结:
NumPy 提供了两种方式进行矩阵乘法操作:使用 np.dot() 函数或 @ 运算符。这两种方式都遵循线性代数中矩阵乘法的定义,要求前一个矩阵的列数必须等于后一个矩阵的行数。掌握好矩阵乘法的使用方法和局限性,对于从事科学计算、机器学习等领域的工作非常有帮助。

喜欢 (0)
[]
分享 (0)
关于作者:
流水不争先,争的是滔滔不绝