NuclearSpin

class NuclearSpin(dimension, name, qubit_subspace, gyromagnetic_ratio, quadrupole_splitting=0.0, anisotropy_axis=None, local_quasistatic_noise=None, quantization_axis='global_z')

Spin representation tailored for nuclear spins.

Parameters:
  • dimension (int) – Dimension, must be 2 for spin-1/2, 3 for spin-1, etc.

  • name (str) – Name of the spin.

  • qubit_subspace (Tuple[float, float]) – The quantum numbers that define the qubit subspace.

  • gyromagnetic_ratio (float) – Gyromagnetic ratio (in \(\text{MHz}/\text{T}\)).

  • quadrupole_splitting (float) – Quadrupole splitting parameter (in \(\text{MHz}\)).

  • anisotropy_axis (List[float] | None) – Local anisotropy axis of the spin, given in the global coordinate system.

  • local_quasistatic_noise (List[float] | None) – Local-quasistatic noise components of the spin (in \(\text{MHz}\)).

  • quantization_axis (str | Sequence[float]) – Quantization axis of the spin, given by the keyword 'global_z', 'local_static_field', or 'anisotropy_axis', or by an explicit vector in the global coordinate system. It determines which direction is treated as the spin’s local z-axis when building operators and states for that spin.

Raises:

SimphonyError – If an invalid dimension or qubit subspace is provided.

Note

Hamiltonian of the nuclear spin reads

\[H_n = -\gamma_n \mathbf{B} \cdot \mathbf{I} + Q \left( I_{z'}^2-\frac{I(I+1)}{3} \right),\]

where \(\gamma_n\) is the gyromagnetic_ratio, \(Q\) is quadrupole_splitting. The quadrupole term is written in the principal axis frame \((x',y',z'),\) that is defined by the anisotropy_axis.

Attributes

anisotropy_axis

Local anisotropy axis of the spin, given in the global coordinate system.

anisotropy_tensor

Anisotropy tensor in the global coordinate system (in \(\text{MHz}\)).

dimension

Dimension, it is 2 for spin-1/2, 3 for spin-1, etc.

gyromagnetic_ratio

Gyromagnetic ratio (in \(\text{MHz}/\text{T}\)).

local_quasistatic_noise

Local quasistatic noise components.

name

Name of the spin.

operator

Spin operator.

operator_qubit_subspace

Pauli operators defined on the qubit subspace.

quadrupole_splitting

Quadrupole splitting parameter (in \(\text{MHz}\)).

quantization_axis

Quantization axis of the spin.

quantum_nums

Quantum numbers corresponding to spin operator.

qubit_subspace

Qubit subspace that is defined by a two-length subset of the quantum_nums.

rotating_frame_frequency

Rotating frame frequency (in \(\text{MHz}\)).

virtual_phase

Virtual z-phase of the spin.

ZEEMAN_SIGN

Sign of the Zeeman term.