Documentation
A helper class for symmetric tensor algebra.
PetiteList implements auxiliary representation theory algebra needed to evaluate efficiently expressions involving tensors with symmetries (permutation and otherwise). The concept was introduced by Michel Dupuis and Harry King (DOI 10.1002/qua.560110408).
- Note
- only permutation groups are supported right now
Public Types | |
enum | Symmetry { Symmetry::e, Symmetry::aa, Symmetry::a_bb, Symmetry::aa_bb, Symmetry::ab_ab, Symmetry::aa_aa } |
permutation groups implemented by SymmPetiteList More... | |
Public Member Functions | |
PetiteList ()=default | |
virtual | ~PetiteList () |
virtual bool | is_canonical (long idx0) const =0 |
virtual bool | is_canonical (long idx0, long idx1) const =0 |
virtual bool | is_canonical (long idx0, long idx1, long idx2) const =0 |
virtual bool | is_canonical (long idx0, long idx1, long idx2, long idx3) const =0 |
virtual int64_t | multiplicity (long idx0) const =0 |
virtual int64_t | multiplicity (long idx0, long idx1) const =0 |
virtual int64_t | multiplicity (long idx0, long idx1, long idx2) const =0 |
virtual int64_t | multiplicity (long idx0, long idx1, long idx2, long idx3) const =0 |
Static Public Member Functions | |
static std::shared_ptr< const PetiteList > | make_trivial () |
static std::shared_ptr< const PetiteList > | make (Symmetry symmetry) |
Static Public Attributes | |
static std::map< Symmetry, std::string > | symmetry_to_string |
Member Enumeration Documentation
◆ Symmetry
|
strong |
permutation groups implemented by SymmPetiteList
Enumerator | |
---|---|
e | identity (E) |
aa | generated by {0<->1} |
a_bb | generated by {1<->2} |
aa_bb | generated by {0<->1}, {2<->3} |
ab_ab | generated by {0<->2,1<->3} |
aa_aa | generated by {0<->1}, {2<->3}, {0<->2,1<->3} |
Constructor & Destructor Documentation
◆ PetiteList()
|
default |
◆ ~PetiteList()
|
inlinevirtual |
Member Function Documentation
◆ is_canonical() [1/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ is_canonical() [2/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ is_canonical() [3/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ is_canonical() [4/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ make()
|
static |
◆ make_trivial()
|
static |
◆ multiplicity() [1/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ multiplicity() [2/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ multiplicity() [3/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
◆ multiplicity() [4/4]
|
pure virtual |
Implemented in mpqc::math::SymmPetiteList< TC >.
Member Data Documentation
◆ symmetry_to_string
|
static |
The documentation for this class was generated from the following files:
- mpqc/math/groups/petite_list.h
- mpqc/math/groups/petite_list.cpp