Slater determinants
Slater determinants are wavefunctions constructed from anti-symmetrized one-particle states.
Construction of Slater determinants
EnergyExpressions.SlaterDeterminant
— TypeSlaterDeterminant(orbitals::Vector{O})
Constructs a Slater determinant from a set of spin-orbitals.
Examples
julia> SlaterDeterminant([:a, :b])
a(1)b(2) - a(2)b(1)
julia> SlaterDeterminant([:a, :b, :c])
a(1)b(2)c(3) - a(1)b(3)c(2) - a(2)b(1)c(3) + a(2)b(3)c(1) + a(3)b(1)c(2) - a(3)b(2)c(1)
EnergyExpressions.SlaterDeterminant
— MethodSlaterDeterminant(configuration::Configuration{<:SpinOrbital})
Constructs a Slater determinant from the spin-orbitals of the spin-configuration configuration
.
Examples
julia> SlaterDeterminant(spin_configurations(c"1s2")[1])
1s₀α(1)1s₀β(2) - 1s₀α(2)1s₀β(1)
Base.length
— Methodlength(slater_determinant)
Return the number of spin-orbitals in the Slater determinant.
EnergyExpressions.AdjointSlaterDeterminant
— TypeAdjointSlaterDeterminant(slater_determinant)
Representation of the Hermitian conjugate (dual vector) of a Slater determinant. Constructed via the usual adjoint
operator.
Base.adjoint
— Methodadjoint(slater_determinant)
Construct the adjoint of slater_determinant
Examples
julia> SlaterDeterminant([:a, :b])'
[a(1)b(2) - a(2)b(1)]†
Base.length
— Methodlength(adjoint_slater_determinant)
Return the number of spin-orbitals in the adjoint Slater determinant.
Example usage
julia> sa = SlaterDeterminant([:l, :a])
l(1)a(2) - l(2)a(1)
julia> sb = SlaterDeterminant([:k, :b])
k(1)b(2) - k(2)b(1)
julia> using AtomicLevels
julia> SlaterDeterminant(spin_configurations(c"1s2")[1])
1s₀α(1)1s₀β(2) - 1s₀α(2)1s₀β(1)