Difference between revisions of "Pauli.m"

From Spinach Documentation Wiki
Jump to: navigation, search
m (Spot-update function page against current Spinach source)
m (Rename Arguments section heading to Parameters)
Line 6: Line 6:
 
     S=pauli(mult)
 
     S=pauli(mult)
  
==Arguments==
+
==Parameters==
  
 
     mult - an integer specifying the  
 
     mult - an integer specifying the  

Revision as of 18:50, 5 June 2026

Pauli matrices (sparse, see below for normalisation conventions) for a spin of a user-specified energy level multiplicity.

Syntax

    S=pauli(mult)

Parameters

    mult - an integer specifying the 
           multiplicity of the spin

Outputs

    S.u - unit operator

    S.p - raising operator

    S.m - lowering operator

    S.x - Sx observable operator

    S.y - Sy observable operator

    S.z - Sz observable operator

Notes

1. The matrices are normalized so as to obey the following commutation relations:

         [S.x,S.y]=1i*S.z
         [S.y,S.z]=1i*S.x
         [S.z,S.x]=1i*S.y

2. Raising and lowering operators are defined as:

          S.p=S.x+1i*S.y
          S.m=S.x-1i*S.y

3. It is never a good idea to normalise spin operators using matrix norms because commutation relations would break.

4. The arrays are declared complex at creation to avoid expensive reallocations later on.

See also

stevens.m, irr_sph_ten.m, wigner.m, operator.m, state.m, hamiltonian.m

SU(2), SO(3), and other groups

Version 2.8, authors: Ilya Kuprov