gpt4 book ai didi

python - NumPy 如何将复数矩阵相乘?

转载 作者:行者123 更新时间:2023-12-05 02:07:28 29 4
gpt4 key购买 nike

我一直在努力找出NumPy 的复数矩阵乘法背后的算法:

import numpy as np

A = np.array([[17.+0.j, -3.+0.j],
[-7.+0.j, 1.+0.j]])

B = np.array([[ 60.+0.j, -4.+0.j],
[-12.+0.j, 0.+0.j]])

print(A * B)

输出:

[[1020.+0.j   12.-0.j]
[ 84.-0.j 0.+0.j]]

standard matrix multiplication 的结果非常不同,正如您可以从下面的数字中看到的那样,所以我想知道 NumPy 到底做了什么:

[[1056.+0.j  -68.+0.j]
[-432.+0.j 28.+0.j]]

我一直在尝试仅使用 for 循环来重现他们的乘法算法,但我仍然没有找到答案。有什么建议吗?

最佳答案

当您计算 A*B 时,它实际上是按元素乘以矩阵,得到所谓的 hadamard 乘积。这不是马特穆尔。例如 (17.+0.j) * (60.+0.j) = 1020.+0.j,这是输出中的第一个元素。对于矩阵乘法,使用 np.dot 或简单地使用 @ 运算符,即 A@B

关于python - NumPy 如何将复数矩阵相乘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61736794/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com