# Slater determinants

Slater determinants are wavefunctions constructed from anti-symmetrized one-particle states.

## Construction of Slater determinants

EnergyExpressions.SlaterDeterminantType
SlaterDeterminant(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)
source
EnergyExpressions.SlaterDeterminantMethod
SlaterDeterminant(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)
source
Base.lengthMethod
length(slater_determinant)

Return the number of spin-orbitals in the Slater determinant.

source
Base.adjointMethod
adjoint(slater_determinant)

Construct the adjoint of slater_determinant

Examples

julia> SlaterDeterminant([:a, :b])'
[a(1)b(2) - a(2)b(1)]†
source
Base.lengthMethod
length(adjoint_slater_determinant)

Return the number of spin-orbitals in the adjoint Slater determinant.

source

## 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)