|
LIBINT 2.9.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. | |
Public Types inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| typedef GenIntegralSet | this_type |
| typedef GenIntegralSet< typename Oper::iter_type, BFS, typename BraSetType::iter_type, typename KetSetType::iter_type, typename AuxQuanta::iter_type > | iter_type |
| GenIntegralSet is a set of these subobjects. | |
| typedef IntegralSet< BFS > | 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 BraSetType::bfs_type | BasisFunctionType |
| This is the real type of basis functions. | |
| typedef BraSetType | BraType |
| typedef KetSetType | KetType |
| typedef Oper | OperatorType |
| typedef AuxQuanta | AuxQuantaType |
Public Types inherited from libint2::DGVertex | |
| 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< std::shared_ptr< DGArc > > | ArcSetType |
| ArcSetType is a container used to maintain entry and exit arcs. | |
Public Types inherited from libint2::Hashable< KeyTypes::InstanceID, ComputeKey > | |
| 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() | |
| bool | auto_unroll () const |
| always unroll (s|V|s)^(m) | |
Public Member Functions inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| virtual | ~GenIntegralSet () |
| No constructors are public since this is a singleton-like quantity. | |
| virtual bool | operator== (const GenIntegralSet &) const |
| Comparison operator. | |
| bool | equiv (const std::shared_ptr< DGVertex > &v) const override |
| Specialization of DGVertex::equiv() | |
| unsigned int | size () const override |
| Specialization of DGVertex::size() | |
| const std::string & | label () const override |
| Specialization of DGVertex::label() | |
| const std::string & | id () const override |
| Specialization of DGVertex::id() | |
| std::string | description () const override |
| Specialization of DGVertex::description() | |
| unsigned int | num_part () const override |
| Implementation of IntegralSet::num_part. | |
| unsigned int | num_func_bra (unsigned int p) const override |
| Implementation of IntegralSet::num_func_bra. | |
| unsigned int | num_func_ket (unsigned int p) const override |
| Implementation of IntegralSet::num_func_ket. | |
| BraSetType::bfs_cref | bra (unsigned int p, unsigned int i) const override |
| Implementation of IntegralSet::bra() const. | |
| KetSetType::bfs_cref | ket (unsigned int p, unsigned int i) const override |
| Implementation of IntegralSet::ket() const. | |
| BraSetType::bfs_ref | bra (unsigned int p, unsigned int i) override |
| Implementation of IntegralSet::bra() | |
| KetSetType::bfs_ref | ket (unsigned int p, unsigned int i) override |
| Implementation of IntegralSet::ket() | |
| const std::shared_ptr< Oper > | oper () const |
| Obtain the operator. | |
| const BraType & | bra () const |
| Obtain const ref to bra. | |
| const KetType & | ket () const |
| Obtain const ref to bra. | |
| const std::shared_ptr< AuxQuanta > | aux () const |
| Obtain the auxiliary quanta. | |
| DGVertex::KeyReturnType | key () const override |
| Implements Hashable::key() | |
Public Member Functions inherited from libint2::IntegralSet< BFS > | |
| virtual unsigned int | np () const=0 |
| Return the number of particles. | |
Public Member Functions inherited from libint2::DGVertex | |
| DGVertex (ClassID tid) | |
| Sets typeid to tid. | |
| DGVertex (ClassID tid, const std::vector< std::shared_ptr< DGArc > > &parents, const std::vector< std::shared_ptr< 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 std::shared_ptr< DGArc > &) |
| add_exit_arc(arc) adds arc as an arc connecting to children of this vertex. | |
| virtual void | del_exit_arcs () |
| del_exit_arcs() removes all exit arcs from this and corresponding children vertices. | |
| void | replace_exit_arc (const std::shared_ptr< DGArc > &A, const std::shared_ptr< DGArc > &B) |
| replace_exit_arc() replaces A with B. | |
| void | detach () |
| this function detaches the vertex from other vertices. | |
| 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 std::shared_ptr< DGArc > & | exit_arc (const std::shared_ptr< DGVertex > &v) const |
| return arc connecting this to v, otherwise null pointer | |
| bool | precomputed () const |
| precomputed() returns whether this DGVertex is precomputed. | |
| 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. | |
| const std::string & | graph_label () const |
| returns the label used for this vertex when visualizing graph. | |
| void | set_graph_label (const std::string &graph_label) |
| sets the graph label | |
| const std::shared_ptr< DRTree > & | subtree () const |
| Returns the subtree to which this vertex belongs. | |
| void | refer_this_to (const std::shared_ptr< 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. | |
| Address | address () const |
| returns the address of this quantity on Libint's stack. | |
| 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. | |
| 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 | |
| std::shared_ptr< DGVertex > | postcalc () const |
| Returns pointer to vertex to be computed after this vertex, 0 if this is the last vertex. | |
| void | set_postcalc (const std::shared_ptr< DGVertex > &postcalc) |
| Sets postcalc. | |
| void | reset () |
| Resets the vertex, releasing all arcs. | |
Static Public Member Functions | |
| static const std::shared_ptr< this_type > | Instance (const BFS &bra0, const BFS &ket0, const AuxIndexType &aux=AuxIndexType(), const OperType &oper=OperType()) |
| This "constructor" takes basis function sets. | |
| static const std::shared_ptr< 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 std::shared_ptr< 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 std::shared_ptr< 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. | |
Static Public Member Functions inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| static const std::shared_ptr< GenIntegralSet > | Instance (const BraSetType &bra, const KetSetType &ket, const AuxQuanta &aux, const Oper &oper=Oper()) |
| Returns a pointer to a unique instance, a la Singleton. | |
Additional Inherited Members | |
Public Attributes inherited from libint2::DGVertex | |
| ClassID | typeid_ |
| typeid stores the ClassID of the concrete type. | |
| InstanceID | instid_ |
| instid stores the InstanceID of the object. | |
Static Public Attributes inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| static constexpr auto | num_particles = BraSetType::num_particles |
| The number of particles. | |
| static constexpr auto | num_bf = BraSetType::num_bf + KetSetType::num_bf |
| The total number of basis functions. | |
Protected Member Functions inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| GenIntegralSet (const Oper &oper, const BraSetType &bra, const KetSetType &ket, const AuxQuanta &aux) | |
| void | set_size (unsigned int sz) |
| set size to sz | |
| void | reset_cache () |
| Resets all cached values. | |
Static Protected Member Functions inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| static key_type | compute_key (const Oper &O, const BraType &bra, const KetType &ket, const AuxQuanta &aux) |
| computes a key. | |
Protected Attributes inherited from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta > | |
| BraSetType | bra_ |
| KetSetType | ket_ |
Protected Attributes inherited from libint2::Hashable< KeyTypes::InstanceID, ComputeKey > | |
| KeyStore< KeyTypes::InstanceID, OwnKey< KeyMP >::result > | key_ |
Generic integral over a one-body operator with one bfs for each particle in bra and ket.
|
virtual |
Implements GenIntegralSet::auto_unroll()
Reimplemented from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta >.
|
inlinevirtual |
always unroll (s|V|s)^(m)
uncontracted (s|s) are precomputed
Reimplemented from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, 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.
Referenced by libint2::GenIntegralSet_1_1< BFS, Oper, AuxQuanta >::Instance(), and libint2::GenIntegralSet_1_1< BFS, Oper, AuxQuanta >::Instance().
|
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.
|
virtual |
Reimplements DGVertex::unregister()
Reimplemented from libint2::GenIntegralSet< Oper, BFS, BraSetType, KetSetType, AuxQuanta >.