Transition¶

class mrsimulator.transition.Transition(*, initial: List[float] = [], final: List[float] = [])

Bases: pydantic.main.BaseModel

Base Transition class describes a spin transition between two energy states, where the energy states are described using the weakly coupled basis.

(38)$|m_{i,0}, m_{i,1}, ... m_{i,N} \rangle \rightarrow |m_{f,0}, m_{f,1}, ... m_{f,N} \rangle$
Parameters
• initial (list) – The initial Zeeman energy state represented as a list of quantum numbers $$m_{i,n}$$.

• final (list) – The final Zeeman energy state represented as a list of quantum numbers $$m_{f,n}$$.

Example

>>> from mrsimulator.transition import Transition
>>> t1 = Transition(initial = [0.5, 0.5], final = [0.5, -0.5])
>>> t1
|0.5, -0.5⟩⟨0.5, 0.5|
 p Return the total Δm (m_final-m_initial) value of the spin transition. delta_m An alias for p P Return a list of Δm values of the spin transition for each site in a weakly coupled basis. D Return a list of Δm**2 values of the spin transition for each site in a weakly coupled basis.

Attribute Documentation

p

Return the total Δm (m_final-m_initial) value of the spin transition.

Example

>>> t1.p
-1.0
delta_m

An alias for p

P

Return a list of Δm values of the spin transition for each site in a weakly coupled basis.

Example

>>> t1.P
array([ 0., -1.])
D

Return a list of Δm**2 values of the spin transition for each site in a weakly coupled basis.

Example

>>> t1.D
array([0., 0.])

Method Documentation

tolist() list

Convert the transition to a list of quantum numbers where the first N quantum numbers corresponds to the initial energy state, while the last N corresponds to the final energy state, where N is the number of sites.

Example

>>> t1.tolist()
[0.5, 0.5, 0.5, -0.5]
json() dict

Parse the class object to a JSON compliant python dictionary object.

Example

>>> t1.json()
{'initial': [0.5, 0.5], 'final': [0.5, -0.5]}