Canonical Spin Systems
ExactDiagonalization.CanonicalSpinSystems.SpinBases
— TypeSpinBases <: Sector
A set of spin bases.
ExactDiagonalization.CanonicalSpinSystems.SpinBases
— MethodSpinBases(spins::Vector{<:Real})
SpinBases(spins::Vector{<:Real}, partition::NTuple{N, AbstractVector{Int}}) where N
SpinBases(spins::Vector{<:Real}, quantumnumber::Sz)
SpinBases(spins::Vector{<:Real}, quantumnumber::Sz, partition::NTuple{N, AbstractVector{Int}}) where N
Construct a set of spin bases.
ExactDiagonalization.EDCore.EDKind
— MethodEDKind(::Type{<:Hilbert{<:Spin}})
The kind of the exact diagonalization method applied to a canonical quantum spin lattice system.
ExactDiagonalization.EDCore.Sector
— TypeSector(hilbert::Hilbert{<:Spin}, partition::Tuple{Vararg{AbstractVector{Int}}}=defaultpartition(length(hilbert)))
Sector(hilbert::Hilbert{<:Spin}, quantumnumber::Sz, partition::Tuple{Vararg{AbstractVector{Int}}}=defaultpartition(length(hilbert)))
Construct the spin bases of a Hilbert space with the specified quantum number.
ExactDiagonalization.EDCore.TargetSpace
— TypeTargetSpace(hilbert::Hilbert{<:Spin}, partition::Tuple{Vararg{AbstractVector{Int}}}=defaultpartition(length(hilbert)))
TargetSpace(hilbert::Hilbert{<:Spin}, quantumnumbers::Union{Sz, Tuple{Sz, Vararg{Sz}}}, partition::Tuple{Vararg{AbstractVector{Int}}}=defaultpartition(length(hilbert)))
Construct a target space from the total Hilbert space and the associated quantum numbers.
QuantumLattices.DegreesOfFreedom.Metric
— MethodMetric(::EDKind{:SED}, ::Hilbert{<:Spin}) -> OperatorUnitToTuple
Get the index-to-tuple metric for a canonical quantum spin lattice system.
QuantumLattices.QuantumNumbers.AbelianNumber
— MethodAbelianNumber(bs::SpinBases)
Get the quantum number of a set of spin bases.
ExactDiagonalization.CanonicalSpinSystems.Pspincoherentstates
— MethodPspincoherentstates(scs::AbstractVector{T}, spins::Dict{Vector{Int}, Vector{Float64}}; N::Int=100) where {T<:Number}
Get square of the Projectors of state "scs" onto spincoherentstates.
ExactDiagonalization.CanonicalSpinSystems.spincoherentstates
— Methodspincoherentstates(structure::Matrix{Float64}) -> Matrix{Float64}
Get the spin coherent states from the input spin structures specified by the polar and azimuth angles.
ExactDiagonalization.CanonicalSpinSystems.structure_factor
— Methodstructure_factor(lattice::AbstractLattice, bs::SpinBases, hilbert::Hilbert, scs::AbstractVector{T}, k::Vector{Float64}) where {T<:Number} -> [SxSx(k), SySy(k), SzSz(k)]
structure_factor(lattice::AbstractLattice, bs::SpinBases, hilbert::Hilbert, scs::AbstractVector{T}; Nk::Int=60) where {T<:Number} -> Matrix(3, Nk, Nk)
Get structure_factor of state "scs".
ExactDiagonalization.EDCore.sumable
— Methodsumable(bs₁::SpinBases, bs₂::SpinBases) -> Bool
Judge whether two sets of spin bases could be direct summed.
QuantumLattices.QuantumOperators.matrix
— Functionmatrix(op::Operator, braket::NTuple{2, SpinBases}, table, dtype=valtype(op)) -> SparseMatrixCSC{dtype, Int}
Get the CSC-formed sparse matrix representation of an operator.
Here, table
specifies the order of the operator ids.