pomerol
2.1
|
Data Structures | |
struct | Pomerol::Permutation3 |
Permutation of 3 elements. More... | |
struct | Pomerol::Permutation4 |
Permutation of 4 elements. More... | |
Macros | |
#define | DEBUG(MSG) std::cout << MSG_PREFIX << MSG << '\n' |
Print a debugging message to the standard output with a source file name and line number annotation. More... | |
#define | INFO(MSG) std::cout << MSG << '\n' |
Print a message to the standard output. More... | |
#define | INFO_NONEWLINE(MSG) std::cout << MSG |
Print a message without a trailing new line character to the standard output. More... | |
#define | ERROR(MSG) std::cerr << MSG_PREFIX << MSG << '\n' |
Print a message to the standard error stream. More... | |
Typedefs | |
using | Pomerol::RealType = double |
Real floating point type. More... | |
using | Pomerol::ComplexType = std::complex< double > |
Complex floating point type. More... | |
using | Pomerol::ParticleIndex = unsigned int |
Index of a single particle degree of freedom. More... | |
using | Pomerol::QuantumState = libcommute::sv_index_type |
Index of a many-body state. More... | |
using | Pomerol::ComplexMatrixType = Eigen::Matrix< ComplexType, Eigen::Dynamic, Eigen::Dynamic, Eigen::AutoAlign|Eigen::RowMajor > |
Dense complex matrix. More... | |
template<bool Complex> | |
using | Pomerol::MelemType = typename std::conditional< Complex, ComplexType, RealType >::type |
template<typename ScalarType > | |
using | Pomerol::LOperatorType = libcommute::loperator< ScalarType, libcommute::fermion, libcommute::boson > |
template<bool Complex> | |
using | Pomerol::LOperatorTypeRC = libcommute::loperator< MelemType< Complex >, libcommute::fermion, libcommute::boson > |
template<bool Complex> | |
using | Pomerol::MatrixType = Eigen::Matrix< MelemType< Complex >, Eigen::Dynamic, Eigen::Dynamic, Eigen::AutoAlign|Eigen::RowMajor > |
using | Pomerol::ComplexVectorType = Eigen::Matrix< ComplexType, Eigen::Dynamic, 1, Eigen::AutoAlign > |
Dense complex vector. More... | |
using | Pomerol::RealVectorType = Eigen::Matrix< RealType, Eigen::Dynamic, 1, Eigen::AutoAlign > |
Dense real vector. More... | |
template<bool Complex> | |
using | Pomerol::VectorType = Eigen::Matrix< MelemType< Complex >, Eigen::Dynamic, 1, Eigen::AutoAlign > |
template<bool Complex> | |
using | Pomerol::ColMajorMatrixType = Eigen::SparseMatrix< MelemType< Complex >, Eigen::ColMajor > |
template<bool Complex> | |
using | Pomerol::RowMajorMatrixType = Eigen::SparseMatrix< MelemType< Complex >, Eigen::RowMajor > |
Enumerations | |
enum | Pomerol::Channel : int { Pomerol::PP, Pomerol::PH, Pomerol::xPH } |
Channel, in which a susceptibility function is defined. More... | |
Functions | |
std::ostream & | Pomerol::operator<< (std::ostream &os, Channel channel) |
std::size_t | Pomerol::hash_binned_real (double x, double bin_size) |
Variables | |
static const ComplexType | Pomerol::I = ComplexType(0.0, 1.0) |
Imaginary unit \(i\). More... | |
const std::array< Permutation3, 6 > | Pomerol::permutations3 |
An array of all 3! = 6 permutations of 3 elements. More... | |
const std::array< Permutation4, 24 > | Pomerol::permutations4 |
An array of all 4! = 24 permutations of 4 elements. More... | |
#define DEBUG | ( | MSG | ) | std::cout << MSG_PREFIX << MSG << '\n' |
#define ERROR | ( | MSG | ) | std::cerr << MSG_PREFIX << MSG << '\n' |
#define INFO | ( | MSG | ) | std::cout << MSG << '\n' |
#define INFO_NONEWLINE | ( | MSG | ) | std::cout << MSG |
using Pomerol::ColMajorMatrixType = typedef Eigen::SparseMatrix<MelemType<Complex>, Eigen::ColMajor> |
using Pomerol::ComplexMatrixType = typedef Eigen::Matrix<ComplexType, Eigen::Dynamic, Eigen::Dynamic, Eigen::AutoAlign | Eigen::RowMajor> |
using Pomerol::ComplexType = typedef std::complex<double> |
using Pomerol::ComplexVectorType = typedef Eigen::Matrix<ComplexType, Eigen::Dynamic, 1, Eigen::AutoAlign> |
using Pomerol::LOperatorType = typedef libcommute::loperator<ScalarType, libcommute::fermion, libcommute::boson> |
using Pomerol::LOperatorTypeRC = typedef libcommute::loperator<MelemType<Complex>, libcommute::fermion, libcommute::boson> |
using Pomerol::MatrixType = typedef Eigen::Matrix<MelemType<Complex>, Eigen::Dynamic, Eigen::Dynamic, Eigen::AutoAlign | Eigen::RowMajor> |
using Pomerol::MelemType = typedef typename std::conditional<Complex, ComplexType, RealType>::type |
using Pomerol::ParticleIndex = typedef unsigned int |
using Pomerol::QuantumState = typedef libcommute::sv_index_type |
using Pomerol::RealType = typedef double |
using Pomerol::RealVectorType = typedef Eigen::Matrix<RealType, Eigen::Dynamic, 1, Eigen::AutoAlign> |
using Pomerol::RowMajorMatrixType = typedef Eigen::SparseMatrix<MelemType<Complex>, Eigen::RowMajor> |
using Pomerol::VectorType = typedef Eigen::Matrix<MelemType<Complex>, Eigen::Dynamic, 1, Eigen::AutoAlign> |
enum Pomerol::Channel : int |
std::size_t Pomerol::hash_binned_real | ( | double | x, |
double | bin_size | ||
) |
Hash function for real numbers that gives the same hash value for all numbers falling into the same small interval (bin).
[in] | x | Value to be hashed. |
[in] | bin_size | Size of the interval. |
std::ostream& Pomerol::operator<< | ( | std::ostream & | os, |
Channel | channel | ||
) |
|
static |
const std::array<Permutation3, 6> Pomerol::permutations3 |
An array of all 3! = 6 permutations of 3 elements.
const std::array<Permutation4, 24> Pomerol::permutations4 |
An array of all 4! = 24 permutations of 4 elements.