使用numpy获取矩阵的复共轭问题

问题描述 投票:0回答:3

我有以下代码:

import numpy as np
A=np.array([[2, 2-9j, -5j], [4-1j, 0, 9+6j], [4j, 6+7j, 6]])
print(A)
print(A.getH())

这不起作用。我检查了不同的网站并关注了这个网页(geeksforgeeks)和这个其他(官方numpy文档),但我仍然收到错误,我不知道在哪里。有人可以帮我吗?

错误是

'numpy.ndarray' object has no attribute 'getH'

python numpy attributeerror complex-numbers
3个回答
2
投票

没错,numpy 数组没有方法

getH
。您的第二个链接实际上是官方文档,它表明该方法不是称为
getH
。仔细阅读文档!


0
投票

你必须使用

numpy.conj()
功能。

import numpy as np
A=np.array([[2, 2-9j, -5j], [4-1j, 0, 9+6j], [4j, 6+7j, 6]])
print(A)
print(A.conj())

输出

[[ 2.+0.j  2.-9.j -0.-5.j]
 [ 4.-1.j  0.+0.j  9.+6.j]
 [ 0.+4.j  6.+7.j  6.+0.j]]
[[ 2.-0.j  2.+9.j -0.+5.j]
 [ 4.+1.j  0.-0.j  9.-6.j]
 [ 0.-4.j  6.-7.j  6.-0.j]]

-1
投票

您正在查看有关

numpy.matrix
类的页面,但
numpy.array
函数创建
numpy.ndarray
的实例,而不是
numpy.matrix

您可以使用

numpy.matrix
,但这是一个坏主意。
numpy.matrix
有很多奇怪的兼容性问题,并且在新代码中不鼓励使用它。要获得 ndarray 的共轭转置,请使用
numpy.conj
进行复数共轭,使用
.T
进行转置:

print(numpy.conj(A.T))
© www.soinside.com 2019 - 2024. All rights reserved.