Container for instances of ThreePointSusceptibility.
More...
#include <ThreePointSusceptibilityContainer.hpp>
|
template<typename... IndexTypes> |
| ThreePointSusceptibilityContainer (Channel channel, IndexClassification< IndexTypes... > const &IndexInfo, StatesClassification const &S, Hamiltonian const &H, DensityMatrix const &DM, FieldOperatorContainer const &Ops) |
|
void | prepareAll (std::set< IndexCombination4 > const &Indices={}) |
|
std::map< IndexCombination4, std::vector< ComplexType > > | computeAll (bool clearTerms=false, FreqVec2 const &freqs={}, MPI_Comm const &comm=MPI_COMM_WORLD) |
|
| IndexContainer4 (ThreePointSusceptibilityContainer const &Source, IndexClassification< IndexTypes... > const &IndexInfo) |
|
void | fill (std::set< IndexCombination4 > Indices=std::set< IndexCombination4 >()) |
|
ElementWithPermFreq< ThreePointSusceptibility > & | create (IndexCombination4 const &Indices) |
|
bool | isInContainer (IndexCombination4 const &Indices) const |
|
bool | isInContainer (ParticleIndex Index1, ParticleIndex Index2, ParticleIndex Index3, ParticleIndex Index4) const |
|
ElementWithPermFreq< ThreePointSusceptibility > & | operator() (IndexCombination4 const &Indices) |
|
ElementWithPermFreq< ThreePointSusceptibility > & | operator() (ParticleIndex Index1, ParticleIndex Index2, ParticleIndex Index3, ParticleIndex Index4) |
|
| Thermal (RealType beta) |
|
Container for instances of ThreePointSusceptibility.
This class stores multiple \((i, j, k, l)\)-elements of a 3-point susceptibility.
Definition at line 44 of file ThreePointSusceptibilityContainer.hpp.
◆ ThreePointSusceptibilityContainer()
template<typename... IndexTypes>
Constructor.
- Template Parameters
-
IndexTypes | Types of indices carried by the creation and annihilation operators. |
- Parameters
-
[in] | channel | Channel of the 3-point susceptibility. |
[in] | IndexInfo | Map for fermionic operator index tuples. |
[in] | S | Information about invariant subspaces of the Hamiltonian. |
[in] | H | The Hamiltonian. |
[in] | DM | Many-body density matrix \(\hat\rho\). |
[in] | Ops | A set of creation/annihilation operators \(c^\dagger\)/ \(c\). |
Definition at line 62 of file ThreePointSusceptibilityContainer.hpp.
◆ computeAll()
std::map<IndexCombination4, std::vector<ComplexType> > Pomerol::ThreePointSusceptibilityContainer::computeAll |
( |
bool |
clearTerms = false , |
|
|
FreqVec2 const & |
freqs = {} , |
|
|
MPI_Comm const & |
comm = MPI_COMM_WORLD |
|
) |
| |
Compute all prepared elements \(\chi^{(3)}_{ijkl}\).
- Parameters
-
[in] | clearTerms | If true, computed ThreePointSusceptibilityPart's of all elements will be destroyed immediately after filling the precomputed value cache. |
[in] | freqs | List of frequency duplets \((\omega_{n_1},\omega_{n_2})\) for value pre-computation. |
[in] | comm | MPI communicator used to parallelize the computation. |
- Precondition
- prepareAll() has been called.
◆ createElement()
Create a single element \(\chi^{(3)}_{ijkl}\).
- Parameters
-
[in] | Indices | Index combination \((i,j,k,l)\). |
◆ prepareAll()
void Pomerol::ThreePointSusceptibilityContainer::prepareAll |
( |
std::set< IndexCombination4 > const & |
Indices = {} | ) |
|
Prepare a set of elements \(\chi^{(3)}_{ijkl}\).
- Parameters
-
[in] | Indices | Set of index combinations of the elements \(\chi^{(3)}_{ijkl}\) to be prepared. An empty set results in creation of elements for all possible index combinations \((i,j,k,l)\). |
◆ IndexContainer4< ThreePointSusceptibility, ThreePointSusceptibilityContainer >
◆ channel
Channel Pomerol::ThreePointSusceptibilityContainer::channel |
|
protected |
◆ CoefficientTolerance
RealType Pomerol::ThreePointSusceptibilityContainer::CoefficientTolerance = 1e-16 |
◆ DM
DensityMatrix const& Pomerol::ThreePointSusceptibilityContainer::DM |
|
protected |
Hamiltonian const& Pomerol::ThreePointSusceptibilityContainer::H |
|
protected |
◆ Operators
◆ ReduceResonanceTolerance
RealType Pomerol::ThreePointSusceptibilityContainer::ReduceResonanceTolerance = 1e-8 |
The documentation for this class was generated from the following file: