我正在翻译一些旧的MatLab代码,我是给了它的.我正在经历一些我不理解的行为,我找不到合适的答案:

我想把包含复数的两个向量与一个内积相乘,所以我希望得到一个复标量. 这是一个MWE for Matlab(我用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中是conjugate,所以你想

a@b.conj()
# (-2.0675+0.7796000000000001j)

这是正确的内积,而a@b(从数学上讲)不是内积.

Python相关问答推荐

处理(潜在)不断增长的任务队列的并行/并行方法

对于一个给定的数字,找出一个整数的最小和最大可能的和

输出中带有南的亚麻神经网络

Python中绕y轴曲线的旋转

把一个pandas文件夹从juyter笔记本放到堆栈溢出问题中的最快方法?

如何设置视频语言时上传到YouTube与Python API客户端

迭代嵌套字典的值

为什么NumPy的向量化计算在将向量存储为类属性时较慢?'

为一个组的每个子组绘制,

有没有一种ONE—LINER的方法给一个框架的每一行一个由整数和字符串组成的唯一id?

索引到 torch 张量,沿轴具有可变长度索引

Python列表不会在条件while循环中正确随机化'

如何使用Numpy. stracards重新编写滚动和?

* 动态地 * 修饰Python中的递归函数

Flash只从html表单中获取一个值

Polars Group by描述扩展

如何将一组组合框重置回无 Select tkinter?

使用Python TCP套接字发送整数并使用C#接收—接收正确数据时出错

FileNotFoundError:[WinError 2]系统找不到指定的文件:在os.listdir中查找扩展名

是否从Python调用SHGetKnownFolderPath?