CollectiveSpins.jl is a numerical framework written in Julia used to simulate quantum systems consisting of spatially distributed spins coupled via dipole-dipole interaction.
CollectiveSpins.jl is not an officially registered package but it nevertheless can be installed using julia's package manager:
julia> Pkg.clone("https://github.com/qojulia/CollectiveSpins.jl.git")
using CollectiveSpins
# Define geometry of system
N = 5 # Number of spins
a = 0.3 # spin-spin distance
geometry = CollectiveSpins.geometry.chain(a, N)
# Create system consisting of N spins in the defined geometry
e = [0,0,1] # Quantization axis
system = CollectiveSpins.SpinCollection(geometry, e)
# Initial quantum state
phi = 0.
theta = pi/2
Ψ0 = CollectiveSpins.quantum.blochstate(phi, theta, N)
# Perform time evolution according to master equation
T = [0:0.05:5.;]
tout, ρt = CollectiveSpins.quantum.timeevolution(T, system, Ψ0)
The documentation is generated with Documenter.jl and can be found at