LIBINT
2.6.0
|
Generic integral over a one-body operator with one bfs for each particle in bra and ket. More...
#include <integral_1_1.h>
Public Types | |
typedef BFS | BasisFunctionType |
typedef Oper | OperType |
typedef DefaultOnePBraket< BFS >::Result | BraType |
typedef DefaultOnePBraket< BFS >::Result | KetType |
typedef AuxQuanta | AuxIndexType |
typedef GenIntegralSet_1_1< BFS, Oper, AuxQuanta > | this_type |
typedef GenIntegralSet< OperType, IncableBFSet, BraType, KetType, AuxIndexType > | parent_type |
typedef GenIntegralSet_1_1< typename BFS::iter_type, typename Oper::iter_type, typename AuxQuanta::iter_type > | iter_type |
this is a set of these subobjects | |
typedef parent_type::key_type | key_type |
typedef SingletonStack< this_type, key_type > | SingletonManagerType |
This the type of the object that manages objects of this type as Singletons. | |
typedef PtrEquiv< this_type > | PtrComp |
This class provides comparison operations on pointers. | |
![]() | |
typedef GenIntegralSet | this_type |
typedef GenIntegralSet< typename Oper::iter_type, IncableBFSet, typename DefaultOnePBraket< BFS >::Result ::iter_type, typename DefaultOnePBraket< BFS >::Result ::iter_type, typename AuxQuanta::iter_type > | iter_type |
GenIntegralSet is a set of these subobjects. | |
typedef IntegralSet< IncableBFSet > | parent_type |
GenIntegralSet is derived from IntegralSet. | |
typedef PtrEquiv< GenIntegralSet > | PtrComp |
This type provides comparison operations on pointers to GenIntegralSet. | |
typedef mpz_class | key_type |
typedef std::string | key_type |
typedef SingletonStack< GenIntegralSet, key_type > | SingletonManagerType |
This the type of the object that manages GenIntegralSet's as Singletons. | |
typedef Oper | OperType |
This is the type of the operator. | |
typedef DefaultOnePBraket< BFS >::Result ::bfs_type | BasisFunctionType |
This is the real type of basis functions. | |
typedef DefaultOnePBraket< BFS >::Result | BraType |
typedef DefaultOnePBraket< BFS >::Result | KetType |
typedef Oper | OperatorType |
typedef AuxQuanta | AuxQuantaType |
![]() | |
typedef MemoryManager::Address | Address |
The address on the stack during computation is described using this type. | |
typedef MemoryManager::Size | Size |
The size of a block the stack during computation is described using this type. | |
typedef NotSet< Address > | AddressNotSet |
Exception thrown if address is not set. | |
typedef NotSet< std::string > | GraphLabelNotSet |
Exception thrown if graph label is not set. | |
typedef NotSet< std::string > | SymbolNotSet |
Exception thrown if code symbol is not set. | |
typedef KeyTypes::ClassID | ClassID |
Type identifier. | |
typedef KeyTypes::InstanceID | InstanceID |
Instance identifier. | |
typedef KeyTypes::InstanceID | KeyType |
DGVertex provides function key() which computes key of type KeyType and returns it using KeyReturnType. | |
typedef Hashable< KeyType, ComputeKey >::KeyReturnType | KeyReturnType |
typedef std::list< SafePtr< DGArc > > | ArcSetType |
ArcSetType is a container used to maintain entry and exit arcs. | |
![]() | |
typedef KeyTraits< KeyTypes::InstanceID >::ReturnType | KeyReturnType |
Public Member Functions | |
bool | operator== (const this_type &) const |
Comparison operator. | |
void | unregister () const |
Reimplements DGVertex::unregister() | |
bool | auto_unroll () const |
Implements GenIntegralSet::auto_unroll() | |
template<> | |
bool | auto_unroll () const |
always unroll (s|V|s)^(m) More... | |
![]() | |
virtual | ~GenIntegralSet () |
No constructors are public since this is a singleton-like quantity. More... | |
virtual bool | operator== (const GenIntegralSet &) const |
Comparison operator. | |
bool | equiv (const SafePtr< DGVertex > &v) const |
Specialization of DGVertex::equiv() | |
virtual unsigned int | size () const |
Specialization of DGVertex::size() | |
virtual const std::string & | label () const |
Specialization of DGVertex::label() | |
virtual const std::string & | id () const |
Specialization of DGVertex::id() | |
virtual std::string | description () const |
Specialization of DGVertex::description() | |
unsigned int | num_part () const |
Implementation of IntegralSet::num_part. | |
virtual unsigned int | num_func_bra (unsigned int p) const |
Implementation of IntegralSet::num_func_bra. | |
virtual unsigned int | num_func_ket (unsigned int p) const |
Implementation of IntegralSet::num_func_ket. | |
DefaultOnePBraket< BFS >::Result ::bfs_cref | bra (unsigned int p, unsigned int i) const |
Implementation of IntegralSet::bra() const. | |
DefaultOnePBraket< BFS >::Result ::bfs_ref | bra (unsigned int p, unsigned int i) |
Implementation of IntegralSet::bra() | |
const BraType & | bra () const |
Obtain const ref to bra. | |
DefaultOnePBraket< BFS >::Result ::bfs_cref | ket (unsigned int p, unsigned int i) const |
Implementation of IntegralSet::ket() const. | |
DefaultOnePBraket< BFS >::Result ::bfs_ref | ket (unsigned int p, unsigned int i) |
Implementation of IntegralSet::ket() | |
const KetType & | ket () const |
Obtain const ref to bra. | |
const SafePtr< Oper > | oper () const |
Obtain the operator. | |
const SafePtr< AuxQuanta > | aux () const |
Obtain the auxiliary quanta. | |
DGVertex::KeyReturnType | key () const |
Implements Hashable::key() | |
void | unregister () const |
Reimplements DGVertex::unregister() | |
![]() | |
virtual unsigned int | np () const =0 |
Return the number of particles. | |
![]() | |
DGVertex (ClassID tid) | |
Sets typeid to tid. | |
DGVertex (ClassID tid, const std::vector< SafePtr< DGArc > > &parents, const std::vector< SafePtr< DGArc > > &children) | |
Sets typeid to tid. | |
DGVertex (const DGVertex &v) | |
This is a copy constructor. | |
void | make_a_target () |
make_a_target() marks this vertex as a target | |
bool | is_a_target () const |
is_a_target() returns true if this vertex is a target | |
virtual void | add_exit_arc (const SafePtr< DGArc > &) |
add_exit_arc(arc) adds arc as an arc connecting to children of this vertex. More... | |
virtual void | del_exit_arcs () |
del_exit_arcs() removes all exit arcs from this and corresponding children vertices. More... | |
void | replace_exit_arc (const SafePtr< DGArc > &A, const SafePtr< DGArc > &B) |
replace_exit_arc() replaces A with B. More... | |
void | detach () |
this function detaches the vertex from other vertices. More... | |
const ArcSetType & | exit_arcs () const |
const ArcSetType & | entry_arcs () const |
unsigned int | num_entry_arcs () const |
returns the number of parents | |
ArcSetType::const_iterator | first_entry_arc () const |
returns parents::begin() | |
ArcSetType::const_iterator | plast_entry_arc () const |
returns parents::end() | |
unsigned int | num_exit_arcs () const |
returns the number of children | |
ArcSetType::const_iterator | first_exit_arc () const |
returns children::begin() | |
ArcSetType::const_iterator | plast_exit_arc () const |
returns children::end() | |
const SafePtr< DGArc > & | exit_arc (const SafePtr< DGVertex > &v) const |
return arc connecting this to v, otherwise null pointer | |
bool | precomputed () const |
precomputed() returns whether this DGVertex is precomputed. More... | |
virtual void | print (std::ostream &os) const |
print(os) prints vertex info to os | |
const DirectedGraph * | dg () const |
Returns pointer to the DirectedGraph to which this DGVertex belongs to. | |
void | dg (const DirectedGraph *d) |
Sets pointer to the DirectedGraph to which this DGVertex belongs to. Should be used with utmost caution. | |
const std::string & | graph_label () const |
returns the label used for this vertex when visualizing graph. can throw GraphLabelNotSet. | |
void | set_graph_label (const std::string &graph_label) |
sets the graph label | |
const SafePtr< DRTree > & | subtree () const |
Returns the subtree to which this vertex belongs. | |
void | refer_this_to (const SafePtr< DGVertex > &V) |
refer_this_to(V) makes this vertex act like a reference to V so that calls to symbol() and address() report code symbol and stack address of V | |
bool | refers_to_another () const |
refers to another vertex? | |
const std::string & | symbol () const |
returns the code symbol. can throw SymbolNotSet | |
void | set_symbol (const std::string &symbol) |
sets the code symbol | |
bool | symbol_set () const |
returns true if the symbol has been set | |
void | reset_symbol () |
this function void the symbol, i.e. it is no longer set after calling this member | |
Address | address () const |
returns the address of this quantity on Libint's stack. can throw AddressNotSet | |
void | set_address (const Address &address) |
sets the address of this quantity on Libint's stack | |
bool | address_set () const |
returns true if the address has been set | |
void | need_to_compute (bool ntc) |
indicates whether this vertex needs to be computed. More... | |
void | not_need_to_compute () |
shortcut to need_to_compute(false) | |
bool | need_to_compute () const |
returns true if this index needs to be computed. | |
bool | declared () const |
void | declared (bool d) |
void | prepare_to_traverse () |
prepare_to_traverse() must be called before traversal of the graph starts | |
unsigned int | tag () |
tag() tags the vertex and returns the total number of tags this vertex has received | |
void | schedule () |
schedule() marks the vertex as scheduled, hence its code exists | |
bool | scheduled () const |
scheduled() returns true if the vertex has been scheduled | |
SafePtr< DGVertex > | postcalc () const |
Returns pointer to vertex to be computed after this vertex, 0 if this is the last vertex. | |
void | set_postcalc (const SafePtr< DGVertex > &postcalc) |
Sets postcalc. | |
void | reset () |
Resets the vertex, releasing all arcs. | |
Static Public Member Functions | |
static const SafePtr< this_type > | Instance (const BFS &bra0, const BFS &ket0, const AuxIndexType &aux=AuxIndexType(), const OperType &oper=OperType()) |
This "constructor" takes basis function sets. More... | |
static const SafePtr< this_type > | Instance (const algebra::Wedge< BraketPair< BFS, PBra >, BraketPair< BFS, PKet > > &braket_wedge, const AuxIndexType &aux=AuxIndexType(), const OperType &oper=OperType()) |
This "constructor" uses a wedge of 2 physicists brakets. | |
static const SafePtr< this_type > | Instance (const algebra::Wedge< BraketPair< BFS, CBra >, BraketPair< BFS, CKet > > &braket_wedge, const AuxIndexType &aux=AuxIndexType(), const OperType &oper=OperType()) |
This "constructor" uses a wedge of 2 chemists brakets. | |
static const SafePtr< this_type > | Instance (const BraType &bra, const KetType &ket, const AuxIndexType &aux=AuxIndexType(), const OperType &oper=OperType()) |
Returns a pointer to a unique instance, a la Singleton. More... | |
![]() | |
static const SafePtr< GenIntegralSet > | Instance (const DefaultOnePBraket< BFS >::Result &bra, const DefaultOnePBraket< BFS >::Result &ket, const AuxQuanta &aux, const Oper &oper=Oper()) |
Returns a pointer to a unique instance, a la Singleton. | |
Additional Inherited Members | |
![]() | |
ClassID | typeid_ |
typeid stores the ClassID of the concrete type. More... | |
InstanceID | instid_ |
instid stores the InstanceID of the object. More... | |
![]() | |
static constexpr auto | num_particles |
The number of particles. | |
static constexpr auto | num_bf |
The total number of basis functions. | |
![]() | |
GenIntegralSet (const Oper &oper, const DefaultOnePBraket< BFS >::Result &bra, const DefaultOnePBraket< BFS >::Result &ket, const AuxQuanta &aux) | |
void | set_size (unsigned int sz) |
set size to sz | |
void | reset_cache () |
Resets all cached values. | |
![]() | |
static key_type | compute_key (const Oper &O, const BraType &bra, const KetType &ket, const AuxQuanta &aux) |
computes a key. it's protected so that derived classes can use it to implement smart caching in constructors | |
![]() | |
DefaultOnePBraket< BFS >::Result | bra_ |
DefaultOnePBraket< BFS >::Result | ket_ |
![]() | |
KeyStore< KeyTypes::InstanceID, OwnKey< KeyMP >::result > | key_ |
Generic integral over a one-body operator with one bfs for each particle in bra and ket.
|
inlinevirtual |
always unroll (s|V|s)^(m)
uncontracted (s|s) are precomputed
Reimplemented from libint2::GenIntegralSet< Oper, IncableBFSet, DefaultOnePBraket< BFS >::Result, DefaultOnePBraket< BFS >::Result, AuxQuanta >.
|
static |
This "constructor" takes basis function sets.
Returns a pointer to a unique instance, a la Singleton. Note that the ordering of arguments is a bit counterintuitive, but in fact corresponds to their practical (rather than logical) importance.
|
static |
Returns a pointer to a unique instance, a la Singleton.
Note that the ordering of arguments is a bit counterintuitive, but in fact corresponds to their practical (rather than logical) importance.