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)