pomerol
2.1
|
The main namespace of the library. More...
Namespaces | |
LatticePresets | |
This namespace encloses factory functions for various terms most commonly used to write a lattice Hamiltonian. | |
Operators | |
Expressions of quantum-mechanical operators. | |
Data Structures | |
class | AnnihilationOperator |
A special case of a monomial operator: A single fermion annihilation operator \(c_i\). More... | |
struct | ComputableObject |
A base class for computable objects. More... | |
class | CreationOperator |
A special case of a monomial operator: A single fermion creation operator \(c^\dagger_i\). More... | |
class | DensityMatrix |
Many-body Gibbs density matrix. More... | |
class | DensityMatrixPart |
Part of a many-body Gibbs density matrix. More... | |
struct | ElementWithPermFreq |
A decorator that permutes indices of Matsubara frequencies in calls to operator(). More... | |
class | EnsembleAverage |
Canonical ensemble average of a monomial operator. More... | |
class | FieldOperatorContainer |
Container for instances of CreationOperator and AnnihilationOperator. More... | |
class | GFContainer |
Container for instances of GreensFunction. More... | |
class | GreensFunction |
Fermionic single-particle Matsubara Green's function. More... | |
class | GreensFunctionPart |
Part of a fermionic single-particle Matsubara Green's function. More... | |
class | Hamiltonian |
Hamiltonian of a quantum system. More... | |
class | HamiltonianPart |
Part of a Hamiltonian of a quantum system. More... | |
class | HilbertSpace |
Hilbert space of a quantum system. More... | |
class | IndexClassification |
Contiguous list of operator index tuples. More... | |
struct | IndexCombination2 |
A tuple-like combination of two single-particle indices. More... | |
struct | IndexCombination4 |
A tuple-like combination of four single-particle indices. More... | |
class | IndexContainer2 |
Base class for sparse container types whose elements are addressable by two single-particle indices. More... | |
class | IndexContainer4 |
Base class for sparse container types whose elements are addressable by four single-particle indices. More... | |
class | MatsubaraContainer4 |
Container for functions of three Matsubara frequencies. More... | |
class | MonomialOperator |
Monomial quantum operator. More... | |
class | MonomialOperatorPart |
Part of a monomial quantum operator. More... | |
struct | Permutation3 |
Permutation of 3 elements. More... | |
struct | Permutation4 |
Permutation of 4 elements. More... | |
class | QuadraticOperator |
class | StatesClassification |
Classification of many-body basis states into bases of invariant subspaces. More... | |
class | Susceptibility |
Dynamical susceptibility. More... | |
class | SusceptibilityPart |
Part of a dynamical susceptibility. More... | |
class | TermList |
A list of terms contributing to the Lehmann representation of a correlation function. More... | |
struct | Thermal |
Base class for objects whose definition depends on the temperature. More... | |
class | ThreePointSusceptibility |
3-point fermion-boson susceptibility in the Matsubara representation. More... | |
class | ThreePointSusceptibilityContainer |
Container for instances of ThreePointSusceptibility. More... | |
class | ThreePointSusceptibilityPart |
Part of a 3-point susceptibility. More... | |
class | TwoParticleGF |
Fermionic two-particle Matsubara Green's function. More... | |
class | TwoParticleGFContainer |
Container for instances of TwoParticleGF. More... | |
class | TwoParticleGFPart |
Part of a fermionic two-particle Matsubara Green's function. More... | |
class | Vertex4 |
Irreducible two-particle vertex. More... | |
Typedefs | |
using | RealType = double |
Real floating point type. More... | |
using | ComplexType = std::complex< double > |
Complex floating point type. More... | |
using | ParticleIndex = unsigned int |
Index of a single particle degree of freedom. More... | |
using | QuantumState = libcommute::sv_index_type |
Index of a many-body state. More... | |
using | ComplexMatrixType = Eigen::Matrix< ComplexType, Eigen::Dynamic, Eigen::Dynamic, Eigen::AutoAlign|Eigen::RowMajor > |
Dense complex matrix. More... | |
template<bool Complex> | |
using | MelemType = typename std::conditional< Complex, ComplexType, RealType >::type |
template<typename ScalarType > | |
using | LOperatorType = libcommute::loperator< ScalarType, libcommute::fermion, libcommute::boson > |
template<bool Complex> | |
using | LOperatorTypeRC = libcommute::loperator< MelemType< Complex >, libcommute::fermion, libcommute::boson > |
template<bool Complex> | |
using | MatrixType = Eigen::Matrix< MelemType< Complex >, Eigen::Dynamic, Eigen::Dynamic, Eigen::AutoAlign|Eigen::RowMajor > |
using | ComplexVectorType = Eigen::Matrix< ComplexType, Eigen::Dynamic, 1, Eigen::AutoAlign > |
Dense complex vector. More... | |
using | RealVectorType = Eigen::Matrix< RealType, Eigen::Dynamic, 1, Eigen::AutoAlign > |
Dense real vector. More... | |
template<bool Complex> | |
using | VectorType = Eigen::Matrix< MelemType< Complex >, Eigen::Dynamic, 1, Eigen::AutoAlign > |
template<bool Complex> | |
using | ColMajorMatrixType = Eigen::SparseMatrix< MelemType< Complex >, Eigen::ColMajor > |
template<bool Complex> | |
using | RowMajorMatrixType = Eigen::SparseMatrix< MelemType< Complex >, Eigen::RowMajor > |
using | BlockMapping = std::pair< BlockNumber, BlockNumber > |
A pair of invariant subspace indices. More... | |
using | BlockNumber = int |
Index of a subspace (block) within a full many-body Hilbert space. More... | |
using | InnerQuantumState = libcommute::sv_index_type |
Index of a state within a block. More... | |
using | FreqTuple2 = std::tuple< ComplexType, ComplexType > |
Duplet of complex frequencies. More... | |
using | FreqVec2 = std::vector< FreqTuple2 > |
List of complex frequency duplets. More... | |
using | FreqTuple3 = std::tuple< ComplexType, ComplexType, ComplexType > |
Triplet of complex frequencies. More... | |
using | FreqVec3 = std::vector< FreqTuple3 > |
List of complex frequency triplets. More... | |
Enumerations | |
enum | Channel : int { PP, PH, xPH } |
Channel, in which a susceptibility function is defined. More... | |
Functions | |
template<bool Complex> | |
bool | chaseIndices (typename RowMajorMatrixType< Complex >::InnerIterator &index1_iter, typename ColMajorMatrixType< Complex >::InnerIterator &index2_iter) |
Make the lagging index catch up or outrun the leading index. More... | |
template<typename ScalarType , typename... IndexTypes> | |
HilbertSpace< IndexTypes... > | MakeHilbertSpace (IndexClassification< IndexTypes... > const &IndexInfo, Operators::expression< ScalarType, IndexTypes... > const &H, unsigned int bits_per_boson=1) |
template<typename ScalarType , typename... IndexTypes> | |
HilbertSpace< IndexTypes... > | MakeHilbertSpace (IndexClassification< IndexTypes... > const &IndexInfo, Operators::expression< ScalarType, IndexTypes... > const &H, std::map< std::tuple< IndexTypes... >, unsigned int > const &bits_per_boson_map) |
template<typename ScalarType , typename... IndexTypes> | |
IndexClassification< IndexTypes... > | MakeIndexClassification (Operators::expression< ScalarType, IndexTypes... > const &H) |
std::ostream & | operator<< (std::ostream &os, Channel channel) |
std::size_t | hash_binned_real (double x, double bin_size) |
Variables | |
static const ComplexType | I = ComplexType(0.0, 1.0) |
Imaginary unit \(i\). More... | |
const std::array< Permutation3, 6 > | permutations3 |
An array of all 3! = 6 permutations of 3 elements. More... | |
const std::array< Permutation4, 24 > | permutations4 |
An array of all 4! = 24 permutations of 4 elements. More... | |
constexpr BlockNumber | INVALID_BLOCK_NUMBER = -1 |
A special value that stands for a non-existent subspace (block). More... | |
The main namespace of the library.
|
inline |
Make the lagging index catch up or outrun the leading index.
Definition at line 30 of file ChaseIndices.hpp.