Lecture 6 - Quantum mechanics of few-spin systems

by Leonid Pryadko

Initialization

Pauli Matrices

(Subscript[σ, x])={{0,1},{1,0}};(Subscript[σ, y])={{0,-I},{I,0}};(Subscript[σ, z])={{1,0},{0,-1}}; e=IdentityMatrix[2];

(Subscript[σ, x])//MatrixForm

e//MatrixForm

Direct product of matrices

Usual product of matrices is done element by element:

(Subscript[σ, x])e//MatrixForm

Dot-product is not what we want

(Subscript[σ, x]).e//MatrixForm

Outer product is better:

Outer[Times,(Subscript[σ, x]),e]//MatrixForm

%//FullForm

Outer[Times,(Subscript[σ, x]),e]

Outer[Times,e,(Subscript[σ, x])]//MatrixForm

<<LinearAlgebra`MatrixManipulation`

BlockMatrix[Outer[Times,e,(Subscript[σ, x])]]//MatrixForm

The function ``KroneckerProduct'' in Mathematica 6 actually already does what we want

(* KroneckerProduct[a_?SquareMatrixQ,b_?SquareMatrixQ]:=BlockMatrix[Outer[Times,a,b]];*)

We can now combine several Pauli matrices to form many-body matrices

KroneckerProduct[(Subscript[σ, x]),e]//MatrixForm

KroneckerProduct[KroneckerProduct[(Subscript[σ, x]),e],e]//MatrixForm

KroneckerProduct[KroneckerProduct[e,(Subscript[σ, x])],e]//MatrixForm

We can get the result of Outer by using Partition

Partition[KroneckerProduct[e,(Subscript[σ, x])],{2,2}]//MatrixForm

It would be nice to be able to type direct product directly

Unprotect[NonCommutativeMultiply];

NonCommutativeMultiply[A_?MatrixQ,B_?MatrixQ]:=KroneckerProduct[A,B];

We can now type easily

(Subscript[σ, x])**e ** e//MatrixForm

e**(Subscript[σ, x])** e//MatrixForm

e**e**(Subscript[σ, x])//MatrixForm

zz=Expand[a**(b**c)]

FullForm[zz]

zz/.{a->(Subscript[σ, x]),b->e,c->e}

%//MatrixForm

Spin addition

Spin-1/2 spin matrices

sx=(Subscript[σ, x])/2;sy=(Subscript[σ, y])/2; sz=(Subscript[σ, z])/2;

sz//MatrixForm

The square of the spin vector: eigenvalues S(S+1)

(sx.sx+sy.sy+sz.sz)//MatrixForm

This corresponds to S=1/2

Two spin-1/2 particles: spin matrices are just sums of those for the single-particle

Sx=sx**e+e**sx;Sy=sy**e+e**sy;Sz=sz**e+e**sz;

Sz//MatrixForm

Now, try the total spin

SS=Sx.Sx+Sy.Sy+Sz.Sz;SS//MatrixForm

Eigenvalues[SS+h Sz]

This corresponds to three spin - 1 and one spin - 0 state

Eigenvectors[SS]

{vals,vecs}=Eigensystem[SS]

vals[[1]]

vecs[[1]]

SS.vecs[[2]]-2vecs[[2]]

Spin-1 states are symmetric; Spin-0 are antisymmetric

Three spin-1/2 particles

Sx=sx**e**e+e**sx**e+e**e**sx;
Sy=sy**e**e+e**sy**e+e**e**sy;Sz=sz**e**e+e**sz**e+e**e**sz;

SS=Sx.Sx+Sy.Sy+Sz.Sz;SS//MatrixForm

Eigenvalues[SS]

Eigenvalues[SS+h Sz]

This corresponds to four spin-1/2 states and four spin-3/2 states

Check the tree of the states

Sx2=e**sx**e+e**e**sx;
Sy2=e**sy**e+e**e**sy;
Sz2=e**sz**e+e**e**sz;SS2=Sx2.Sx2+Sy2.Sy2+Sz2.Sz2;

Eigenvalues[SS+h Sz +b SS2]//Expand