gpt4 book ai didi

python - Matlab vs Numpy 内积,不同的结果

转载 作者:行者123 更新时间:2023-12-02 01:28:40 24 4
gpt4 key购买 nike

我正在将一些旧的 Matlab 代码翻译成 python。我遇到了一些我不理解的行为,并且我没有找到正确的答案:

我想将两个包含复数的向量与内积相乘,因此我希望得到一个复数标量。这是 Matlab 的 MWE(我在 Octave 中运行它,所以也许这是一个问题?):

a = [-0.21+0.58i -0.02-0.23i 0.23-0.39i];
b = [ 1.41-1.63i -0.46+0.69i -1.11+1.08i];
a*b'
ans = -2.06750 + 0.77960i

Python 中的同样的事情:

a = np.array([-0.21+0.58j, -0.02-0.23j ,
0.23-0.39j])
b = np.array([1.41-1.63j, -0.46 +0.69j,
-1.11+1.08j])
a@b
(0.9830999999999999+1.9333999999999998j)

我对 Matlab 不太了解,但我试图尽可能多地找到有关 python/numpy 差异的信息,但找不到任何方法在 python 中获得相同的结果。有人知道我在这里做错了什么吗?

最佳卢卡斯

最佳答案

我相信 Matlab 中的 b' 是 Python 中的共轭,所以你想要

<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="036243612d606c6d69" rel="noreferrer noopener nofollow">[email protected]</a>()
# (-2.0675+0.7796000000000001j)

这是正确的内积,而 a@b (在数学上)不是内积。

关于python - Matlab vs Numpy 内积,不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73816294/

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