In [1]:
function spinner(N)
spins = Array(Int, 2^N, N)
for i in 0:2^N-1
base2 = bin(i,N)
for j in 1:N
if base2[j] == '0'
spins[i+1,j] = 0
else
spins[i+1,j] = 1
end
end
end
for Sz in .5*N:-1:-.5*N
println("Sz_ges = $Sz")
for l in 1:2^N
if sum(spins[l,:]-.5) == Sz
psi = ""
for val in spins[l,:]
psi = string(psi, val)
end
println(" l = $l, |psi> = |$psi>")
end
end
end
end
spinner(4)