Class to represent "logical" operators used in Formula.
Note that the logical operators differ from concrete operators whose integrals are computed using integral engines. E.g. Fock operator and its siblings are not computed by the integral engine directly. Similarly, operators involving F12 correlation factors may or may not be the actual operator kernels whose integrals will be computed, e.g. the square of a Ten-no type geminal is a logical operator whose integrals will be computed by computing (scaled) Slater geminal integrals with the exponent doubled.
Dictionary of operator labels to Operator::Type values
|
enum | Type {
Type::Invalid = -1,
Type::__first_1body_operator = 0,
Type::Identity = 0,
Type::Overlap = 1,
Type::Kinetic = 2,
Type::Nuclear = 3,
Type::Core = 4,
Type::SphericalMultipole = 5,
Type::ElectricDipole = 6,
Type::ElectricQuadrupole = 7,
Type::__last_1body_operator = 7,
Type::__first_fock_operator = 32,
Type::J = 32,
Type::K = 33,
Type::KAlpha = 34,
Type::KBeta = 35,
Type::Fock = 36,
Type::FockAlpha = 37,
Type::FockBeta = 38,
Type::hJ = 39,
Type::__last_fock_operator = 39,
Type::__first_2body_operator = 127,
Type::CADF = 127,
Type::Coulomb = 128,
Type::_F12 = 129,
Type::_F12_2 = 130,
Type::_F12_G = 131,
Type::_F12_Del2 = 132,
Type::cGTG = 133,
Type::cGTG2 = 134,
Type::cGTGCoulomb = 135,
Type::DelcGTG2 = 136,
Type::TTG = 137,
Type::TTG2 = 138,
Type::TTGCoulomb = 139,
Type::DelTTG2 = 140,
Type::STG = 141,
Type::Yukawa = 142,
Type::__last_2body_operator = 142
} |
|
◆ Type
Operator types
Enumerator |
---|
Invalid | |
__first_1body_operator | |
Identity | |
Overlap | |
Kinetic | |
Nuclear | |
Core | |
SphericalMultipole | |
ElectricDipole | |
ElectricQuadrupole | |
__last_1body_operator | |
__first_fock_operator | |
J | |
K | |
KAlpha | |
KBeta | |
Fock | |
FockAlpha | |
FockBeta | |
hJ | |
__last_fock_operator | |
__first_2body_operator | |
CADF | |
Coulomb | |
_F12 | |
_F12_2 | |
_F12_G | |
_F12_Del2 | |
cGTG | |
cGTG2 | |
cGTGCoulomb | |
DelcGTG2 | |
TTG | |
TTG2 | |
TTGCoulomb | |
DelTTG2 | |
STG | |
Yukawa | |
__last_2body_operator | |
◆ Operator() [1/4]
mpqc::Operator::Operator |
( |
| ) |
|
|
inline |
◆ Operator() [2/4]
mpqc::Operator::Operator |
( |
Operator const & |
| ) |
|
|
default |
◆ Operator() [3/4]
mpqc::Operator::Operator |
( |
Operator && |
| ) |
|
|
default |
◆ Operator() [4/4]
mpqc::Operator::Operator |
( |
std::wstring |
op_id | ) |
|
Constructor
- Parameters
-
op_id | string id of operator |
- See also
- oper_to_string
◆ is_abstract() [1/2]
bool mpqc::Operator::is_abstract |
( |
| ) |
const |
check if this is an abstract operator
◆ is_abstract() [2/2]
check if a type is abstract
- Parameters
-
- Returns
- true if
type
is abstract, i.e. does not correspond to a concrete integral type; see, for example, Type::_F12
◆ is_fock()
bool mpqc::Operator::is_fock |
( |
| ) |
const |
check if oper_ is fock operator
◆ is_jk()
bool mpqc::Operator::is_jk |
( |
| ) |
const |
check if oper_ is J or K operator
◆ is_onebody()
bool mpqc::Operator::is_onebody |
( |
| ) |
const |
check if oper_ is one body operator
◆ is_twobody()
bool mpqc::Operator::is_twobody |
( |
| ) |
const |
check if oper_ is two body operator
◆ oper_string()
const std::wstring mpqc::Operator::oper_string |
( |
| ) |
const |
return string that correspond to oper_
◆ operator!=()
bool mpqc::Operator::operator!= |
( |
Operator const & |
other | ) |
const |
|
inline |
equality check by comparing oper_ and options_
◆ operator<()
bool mpqc::Operator::operator< |
( |
const Operator & |
other | ) |
const |
comparison by comparing oper_ and options_
◆ operator=() [1/2]
◆ operator=() [2/2]
◆ operator==()
bool mpqc::Operator::operator== |
( |
Operator const & |
other | ) |
const |
equality check by comparing oper_ and options_
◆ set_type()
void mpqc::Operator::set_type |
( |
const Type & |
type | ) |
|
|
inline |
◆ type()
const Type& mpqc::Operator::type |
( |
| ) |
const |
|
inline |
operator accessor
- Returns
- the operator
◆ fock_operation
const std::unordered_map<std::wstring, Type> mpqc::Operator::fock_operation |
|
static |
◆ one_body_operation
const std::unordered_map<std::wstring, Type> mpqc::Operator::one_body_operation |
|
static |
maps of string to operators and option vice versa
◆ oper_to_string
const std::map< Operator::Type, std::wstring > mpqc::Operator::oper_to_string |
|
static |
◆ two_body_operation
const std::unordered_map<std::wstring, Type> mpqc::Operator::two_body_operation |
|
static |
The documentation for this class was generated from the following files: