1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- from sympy.core.singleton import S
- from sympy.physics.quantum.operatorset import (
- operators_to_state, state_to_operators
- )
- from sympy.physics.quantum.cartesian import (
- XOp, XKet, PxOp, PxKet, XBra, PxBra
- )
- from sympy.physics.quantum.state import Ket, Bra
- from sympy.physics.quantum.operator import Operator
- from sympy.physics.quantum.spin import (
- JxKet, JyKet, JzKet, JxBra, JyBra, JzBra,
- JxOp, JyOp, JzOp, J2Op
- )
- from sympy.testing.pytest import raises
- def test_spin():
- assert operators_to_state({J2Op, JxOp}) == JxKet
- assert operators_to_state({J2Op, JyOp}) == JyKet
- assert operators_to_state({J2Op, JzOp}) == JzKet
- assert operators_to_state({J2Op(), JxOp()}) == JxKet
- assert operators_to_state({J2Op(), JyOp()}) == JyKet
- assert operators_to_state({J2Op(), JzOp()}) == JzKet
- assert state_to_operators(JxKet) == {J2Op, JxOp}
- assert state_to_operators(JyKet) == {J2Op, JyOp}
- assert state_to_operators(JzKet) == {J2Op, JzOp}
- assert state_to_operators(JxBra) == {J2Op, JxOp}
- assert state_to_operators(JyBra) == {J2Op, JyOp}
- assert state_to_operators(JzBra) == {J2Op, JzOp}
- assert state_to_operators(JxKet(S.Half, S.Half)) == {J2Op(), JxOp()}
- assert state_to_operators(JyKet(S.Half, S.Half)) == {J2Op(), JyOp()}
- assert state_to_operators(JzKet(S.Half, S.Half)) == {J2Op(), JzOp()}
- assert state_to_operators(JxBra(S.Half, S.Half)) == {J2Op(), JxOp()}
- assert state_to_operators(JyBra(S.Half, S.Half)) == {J2Op(), JyOp()}
- assert state_to_operators(JzBra(S.Half, S.Half)) == {J2Op(), JzOp()}
- def test_op_to_state():
- assert operators_to_state(XOp) == XKet()
- assert operators_to_state(PxOp) == PxKet()
- assert operators_to_state(Operator) == Ket()
- assert state_to_operators(operators_to_state(XOp("Q"))) == XOp("Q")
- assert state_to_operators(operators_to_state(XOp())) == XOp()
- raises(NotImplementedError, lambda: operators_to_state(XKet))
- def test_state_to_op():
- assert state_to_operators(XKet) == XOp()
- assert state_to_operators(PxKet) == PxOp()
- assert state_to_operators(XBra) == XOp()
- assert state_to_operators(PxBra) == PxOp()
- assert state_to_operators(Ket) == Operator()
- assert state_to_operators(Bra) == Operator()
- assert operators_to_state(state_to_operators(XKet("test"))) == XKet("test")
- assert operators_to_state(state_to_operators(XBra("test"))) == XKet("test")
- assert operators_to_state(state_to_operators(XKet())) == XKet()
- assert operators_to_state(state_to_operators(XBra())) == XKet()
- raises(NotImplementedError, lambda: state_to_operators(XOp))
|