26#include "./config.hpp"
28#include "./configuration.hpp"
30namespace triqs_cthyb {
32 using namespace triqs::operators;
33 using indices_map_t = std::map<triqs::operators::indices_t, triqs::operators::indices_t>;
93 long random_seed = 34788 + 928374 * mpi::communicator().rank();
102 int verbosity = ((mpi::communicator().rank() == 0) ? 3 : 0);
120 std::optional<std::pair<many_body_op_t, many_body_op_t>>
measure_O_tau = {};
230 std::optional<many_body_op_t>
h_loc0 = {};
int n_iw
Number of Matsubara frequencies.
bool delta_interface
Use and as input instead of .
int n_l
Number of Legendre polynomials.
gf_struct_t gf_struct
Structure of the Green's function (names and sizes of blocks).
double beta
Inverse temperature .
int n_tau
Number of imaginary-time points.
block_order measure_G2_block_order
Order of block indices in the definition of .
int measure_G2_iwll_nfft_buf_size
NFFT buffer size for the measurement.
bool measure_G2_iw_pp
Measure in the particle-particle channel.
double det_singular_threshold
Bound for the determinant matrix being singular (if , checks for subnormal numbers).
std::optional< configuration > initial_configuration
Initial configuration of the run (advanced, use with care).
bool performance_analysis
Analyse performance of the trace computation with histograms (developers only)?
std::optional< many_body_op_t > h_loc0
Quadratic part of the local Hamiltonian. Must be provided if the interface is used.
std::string partition_method
Partition method.
long random_seed
Seed for random number generator.
long length_cycle
Length of a single QMC cycle.
double det_precision_error
Threshold for determinant precision error.
bool measure_G2_iw_ph
Measure in the particle-hole channel.
bool measure_G2_tau
Measure with three fermionic times.
bool measure_G2_iw
Measure with three fermionic frequencies.
double move_global_prob
Overall probability of the global moves.
int det_n_operations_before_check
Maximum number of operations before testing the accuracy of and .
bool measure_G2_iw_ph_nfft
Measure in the particle-hole channel.
int loc_n_min
Restrict local Hilbert space to states with at least this number of particles.
int measure_G2_n_fermionic
Number of fermionic Matsubara frequencies for the measurement.
double det_precision_warning
Threshold for determinant precision warnings.
bool measure_G_l
Measure (Legendre)? No hermiticity is enforced.
std::optional< std::pair< many_body_op_t, many_body_op_t > > measure_O_tau
Measure by insertion.
bool measure_pert_order
Measure perturbation order?
bool measure_G2_iw_pp_nfft
Measure in the particle-particle channel.
bool use_trace_estimator
Calculate the full trace or use an estimate?
bool use_norm_as_weight
Use the norm of the density matrix in the weight (instead of the trace)?
std::map< std::string, double > proposal_prob
Operator insertion/removal probabilities for different blocks.
bool move_double
Add double insertions as a move?
bool move_shift
Add shifting an operator as a move?
bool measure_density_matrix
Measure the reduced impurity density matrix?
int det_init_size
The maximum size of the determinant matrix before a resize.
many_body_op_t h_int
Interacting part of the atomic Hamiltonian.
bool measure_G_tau
Measure ? Hermiticity is enforced.
bool measure_G2_iwll_pp
Measure in the particle-particle channel.
int loc_n_max
Restrict local Hilbert space to states with at most this number of particles.
std::vector< many_body_op_t > quantum_numbers
Quantum numbers.
long n_warmup_cycles
Number of cycles for thermalization.
long max_time
Maximum runtime in seconds, use -1 to set infinite.
std::map< std::string, indices_map_t > move_global
List of global moves (with their names). Each move is specified with an index substitution dictionary...
long n_cycles
Number of QMC cycles.
std::map< std::string, long > nfft_buf_sizes
NFFT buffer sizes for different blocks.
bool measure_G2_iwll_ph
Measure in the particle-hole channel.
double off_diag_threshold
Threshold below which off-diagonal components of are set to zero.
double imag_threshold
Threshold below which imaginary components of and are set to zero.
int measure_G2_n_l
Number of Legendre coefficients for the measurement.
std::set< std::pair< std::string, std::string > > measure_G2_blocks
List of block index pairs of to measure.
std::string random_name
Name of random number generator.
int verbosity
Verbosity level.
int measure_G2_n_tau
Number of imaginary-time slices for the measurement.
bool measure_G2_iw_nfft
Measure with three fermionic frequencies.
int measure_G2_n_bosonic
Number of bosonic Matsubara frequencies for the measurement.
int measure_O_tau_min_ins
Minimum number of operator insertions in the insertion measure.
Parameters used for constructing the solver class.
friend void h5_read(h5::group h5group, std::string subgroup_name, constr_parameters_t &sp)
Read constr_parameters_t from hdf5.
friend void h5_write(h5::group h5group, std::string subgroup_name, constr_parameters_t const &sp)
Write constr_parameters_t to hdf5.
Parameters passed to the solve method of the solver class.
friend void h5_write(h5::group h5group, std::string subgroup_name, solve_parameters_t const &sp)
Write solve_parameters_t to hdf5.
friend void h5_read(h5::group h5group, std::string subgroup_name, solve_parameters_t &sp)
Read solve_parameters_t from hdf5.