N-body operators
EnergyExpressions.NBodyOperator
— TypeNBodyOperator{N}
Abstract N-body operator coupling N
bodies each between two Slater determinants
EnergyExpressions.LinearCombinationOperator
— TypeLinearCombinationOperator(operators)
Represents a linear combination of NBodyOperator
s.
EnergyExpressions.IdentityOperator
— TypeIdentityOperator{N}
The N-body identity operator. Leaves the orbital(s) acted upon unchanged.
EnergyExpressions.ContractedOperator
— TypeContractedOperator(a, o, b)
An NBodyOperator
representing the contraction of the operator o
over the orbital sets a
and b
. The lengths of a
and b
have to equal, and they cannot exceed the dimension of o
.
Base.in
— Methodin(orbital, co::ContractedOperator)
Test if orbital
is among the right set of orbitals of the ContractedOperator
co
. Useful to test if co
is an integral operator with respect to orbital
.
Base.in
— Methodin(corbital::Conjugate, co::ContractedOperator)
Test if corbital
is among the left set of orbitals of the ContractedOperator
co
. Useful to test if co
is an integral operator with respect to corbital
.
EnergyExpressions.contract
— Functioncontract(orbital_matrix_element, i...)
Contract the orbital_matrix_element
over all coordinates i...
.
EnergyExpressions.complement
— Functioncomplement(N, i...)
Generate the complement to i...
in the set 1:N
. Useful for contracting OrbitalMatrixElement
s over all coordinates except i...
.
LinearAlgebra.ishermitian
— Methodishermitian(op::QuantumOperator)
By default, all QuantumOperator
s are Hermitian; this can be overridden for subtypes to explicitly declare an operator non-Hermitian.