运算符/状态助手函数#

将算符映射到相应的本征态,反之亦然

它包含一个具有本征态算子对的全局字典。如果创建了一个新的状态运算符对,则此字典也应更新。

它还包含函数运算符u to u state和state u to u运算符,用于两者之间的映射。它们可以处理运算符和状态的类和实例。有关详细信息,请参见各个功能说明。

TODO列表:-使用状态运算符对的完整列表更新字典

sympy.physics.quantum.operatorset.operators_to_state(operators, **options)[源代码]#

返回给定运算符或运算符集的本征状态

用于将运算符类映射到其关联状态的全局函数。它接受一个运算符或一组运算符,并返回与这些运算符关联的状态。

这个函数可以同时处理给定运算符的两个实例,也可以只处理类本身(即XOp()和XOp)

有多个用例需要考虑:

1) 传递一个类或一组类:首先,我们尝试实例化这些运算符的默认实例。如果失败,则只返回类。如果我们成功地实例化了默认实例,那么我们将尝试在操作符实例上调用state.u operatorsu tou state。如果失败,则返回类。否则,返回由u operators_返回到u state的实例。

2) 传递一个实例或一组实例:在本例中,对传递的实例调用state。如果失败,则返回状态类。如果方法返回实例,则返回该实例。

在这两种情况下,如果stateu映射字典中不存在运算符类或集,则不返回任何运算符。

参数:

arg:运算符或集合

要映射到状态的运算符或运算符集的类或实例

实例

>>> from sympy.physics.quantum.cartesian import XOp, PxOp
>>> from sympy.physics.quantum.operatorset import operators_to_state
>>> from sympy.physics.quantum.operator import Operator
>>> operators_to_state(XOp)
|x>
>>> operators_to_state(XOp())
|x>
>>> operators_to_state(PxOp)
|px>
>>> operators_to_state(PxOp())
|px>
>>> operators_to_state(Operator)
|psi>
>>> operators_to_state(Operator())
|psi>
sympy.physics.quantum.operatorset.state_to_operators(state, **options)[源代码]#

返回与给定本征状态对应的运算符或运算符集

一种全局函数,用于将状态类映射到其关联的运算符或运算符集。它需要state类或实例。

要么同时处理XKet()和XKet()的实例

有多个用例需要考虑:

1) 传递一个state类:在本例中,我们首先尝试实例化该类的默认实例。如果成功,则尝试在该实例上调用state.u stateu tou运算符。如果创建默认实例或调用u state_到u运算符失败,则返回一个运算符类或一组运算符类。否则,将返回相应的运算符实例。

2) 返回一个state实例:这里是state。如果失败,则返回一个类或一组运算符类。否则,将返回实例。

在这两种情况下,如果状态映射中不存在状态类,则不返回任何状态。

参数:

arg:StateBase类或实例(或子类)

要映射到运算符或运算符集的状态的类或实例

实例

>>> from sympy.physics.quantum.cartesian import XKet, PxKet, XBra, PxBra
>>> from sympy.physics.quantum.operatorset import state_to_operators
>>> from sympy.physics.quantum.state import Ket, Bra
>>> state_to_operators(XKet)
X
>>> state_to_operators(XKet())
X
>>> state_to_operators(PxKet)
Px
>>> state_to_operators(PxKet())
Px
>>> state_to_operators(PxBra)
Px
>>> state_to_operators(XBra)
X
>>> state_to_operators(Ket)
O
>>> state_to_operators(Bra)
O