具有运算符,Python,Sympy的矩阵的厄米共轭

时间:2019-05-29 15:11:17

标签: python sympy

我有一个包含运算符的矩阵。我要采用厄米共轭。

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中做到吗?

1 个答案:

答案 0 :(得分:0)

您可以手动转置匕首并将其应用于每个元素:

In [38]: mat.transpose().applyfunc(Dagger)                                                                                        
Out[38]: 
⎡         0           0⎤
⎢                      ⎥
⎣Dagger(B)⋅Dagger(A)  0⎦