我有一个包含运算符的矩阵。我要采用厄米共轭。
from sympy import Matrix, symbols
from sympy.physics.quantum import Operator
from sympy.physics.secondquant import Dagger
A, B = symbols('A, B', cls=Operator)
mat = Matrix([[0, A*B], [0, 0]])
print(mat.H)
print(Dagger(mat))
我期望得到的是
Matrix([[0, 0], [Dagger(B)*Dagger(A), 0]])
但是,我从mat.H收到
Matrix([[0, 0], [conjugate(A)*conjugate(B), 0]])
和Dagger(mat)
Dagger(Matrix([
[0, A*B],
[0, 0]]))
有什么办法可以在sympy中做到吗?
答案 0 :(得分:0)
您可以手动转置匕首并将其应用于每个元素:
In [38]: mat.transpose().applyfunc(Dagger)
Out[38]:
⎡ 0 0⎤
⎢ ⎥
⎣Dagger(B)⋅Dagger(A) 0⎦