Search Results
Documentation
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
""
-> Operator::Type::Overlap"T"
-> Operator::Type::Kinetic"V"
-> Operator::Type::Nuclear"H"
-> Operator::Type::Core"I"
-> Operator::Type::Identity"O"
-> Operator::Type::SphericalMultipole"eμ"
-> Operator::Type::ElectricDipole"eQ"
-> Operator::Type::ElectricQuadrupole"G"
-> Operator::Type::Coulomb"R"
-> Operator::Type::_F12 (abstract F12 correlation factor: dispatches to either Operator::Type::cGTG for a ttg-ng correlation factor or Operator::Type::TTG for a ttg correlation factor)"GR"
-> Operator::Type::_F12_G (abstract F12 factor times the Coulomb kernel: dispatches to Operator::Type::cGTGCoulomb or Operator::Type::TTGCoulomb, respectively)"R2"
-> Operator::Type::_F12_2 (abstract F12 correlation factor squared: dispatches to Operator::Type::cGTG2 or Operator::Type::TTG2, respectively)"dR2"
-> Operator::Type::_F12_Del2 (norm of the gradient of the abstract correlation factor: dispatches to Operator::Type::DelcGTG2 or Operator::Type::DelTTG2, respectively)"STG"
-> Operator::Type::STG"Yukawa"
-> Operator::Type::Yukawa"J"
-> Operator::Type::J (Coulomb)"hJ"
-> Operator::Type::hJ (H + J)"K"
-> Operator::Type::K (Exchange)"K(α)"
-> Operator::Type::KAlpha (Exchange for alpha spin)"K(β)"
-> Operator::Type::KBeta (Exchange for beta spin)"F"
-> Operator::Type::Fock"F(α)"
-> Operator::Type::FockAlpha (Fock for alpha spin)"F(β)"
-> Operator::Type::FockBeta (Fock for beta spin)"CADF"
-> Operator::Type::CADF (CADF Fitting Coefficents)
Public Types | |
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 } | |
Public Member Functions | |
Operator () | |
Operator (Operator const &)=default | |
Operator (Operator &&)=default | |
Operator & operator= (Operator const &)=default | |
Operator & operator= (Operator &&)=default | |
Operator (std::wstring op_id) | |
const Type & type () const | |
void set_type (const Type &type) | |
set oper_ More... | |
const std::wstring oper_string () const | |
return string that correspond to oper_ More... | |
bool is_onebody () const | |
check if oper_ is one body operator More... | |
bool is_twobody () const | |
check if oper_ is two body operator More... | |
bool is_fock () const | |
check if oper_ is fock operator More... | |
bool is_jk () const | |
check if oper_ is J or K operator More... | |
bool is_abstract (Type type) const | |
bool is_abstract () const | |
check if this is an abstract operator More... | |
bool operator== (Operator const &other) const | |
equality check by comparing oper_ and options_ More... | |
bool operator!= (Operator const &other) const | |
equality check by comparing oper_ and options_ More... | |
bool operator< (const Operator &other) const | |
comparison by comparing oper_ and options_ More... | |
Static Public Attributes | |
static const std::unordered_map< std::wstring, Type > one_body_operation | |
static const std::unordered_map< std::wstring, Type > two_body_operation | |
static const std::unordered_map< std::wstring, Type > fock_operation | |
static const std::map< Type, std::wstring > oper_to_string | |
maps Operator::Type to string id More... | |
Member Enumeration Documentation
◆ Type
|
strong |
Operator types
Constructor & Destructor Documentation
◆ Operator() [1/4]
|
inline |
◆ Operator() [2/4]
|
default |
◆ Operator() [3/4]
|
default |
◆ Operator() [4/4]
mpqc::Operator::Operator | ( | std::wstring | op_id | ) |
Member Function Documentation
◆ is_abstract() [1/2]
bool mpqc::Operator::is_abstract | ( | ) | const |
check if this is an abstract operator
◆ is_abstract() [2/2]
bool mpqc::Operator::is_abstract | ( | Operator::Type | type | ) | const |
check if a type is abstract
- Parameters
-
[in] type an Operator::Type object
- 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!=()
|
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()
|
inline |
set oper_
◆ type()
|
inline |
operator accessor
- Returns
- the operator
Member Data Documentation
◆ fock_operation
|
static |
◆ one_body_operation
|
static |
maps of string to operators and option vice versa
◆ oper_to_string
|
static |
maps Operator::Type to string id
◆ two_body_operation
|
static |
The documentation for this class was generated from the following files:
- mpqc/chemistry/qc/lcao/expression/operator.h
- mpqc/chemistry/qc/lcao/expression/operator.cpp