Solve Parameters
Parameter Name |
Type |
Default |
Documentation |
---|---|---|---|
h_int |
Operator |
– |
Interacting part of the atomic Hamiltonian |
n_cycles |
long |
– |
Number of QMC cycles |
partition_method |
str |
“autopartition” |
Partition method |
quantum_numbers |
list(Operator) |
[] |
Quantum numbers |
loc_n_min |
int |
0 |
Restrict local Hilbert space to states with at least this number of particles |
loc_n_max |
int |
INT_MAX |
Restrict local Hilbert space to states with at most this number of particles |
length_cycle |
long |
50 |
Length of a single QMC cycle |
n_warmup_cycles |
long |
5000 |
Number of cycles for thermalization |
random_seed |
long |
34788 + 928374 * MPI.rank |
Seed for random number generator |
random_name |
str |
“” |
Name of random number generator |
max_time |
long |
-1 = infinite |
Maximum runtime in seconds, use -1 to set infinite |
verbosity |
int |
3 on MPI rank 0, 0 otherwise. |
Verbosity level |
move_shift |
bool |
true |
Add shifting an operator as a move? |
move_double |
bool |
true |
Add double insertions as a move? |
use_trace_estimator |
bool |
false |
Calculate the full trace or use an estimate? |
measure_G_tau |
bool |
true |
Measure G(tau)? \(G_{ij}(\tau)=G_{ji}^*(\tau)\) is enforced for the resulting G(tau) |
measure_G_l |
bool |
false |
Measure G_l (Legendre)? Note, no hermiticity in G_l is ensured |
measure_O_tau |
std::optional<std::pair<many_body_op_t, many_body_op_t>> |
{} |
Measure O_tau by insertion |
measure_O_tau_min_ins |
int |
10 |
Minumum of operator insertions in: O_tau by insertion measure |
measure_G2_tau |
bool |
false |
Measure G^4(tau,tau’,tau’’) with three fermionic times. |
measure_G2_iw |
bool |
false |
Measure G^4(inu,inu’,inu’’) with three fermionic frequencies. |
measure_G2_iw_nfft |
bool |
false |
Measure G^4(inu,inu’,inu’’) with three fermionic frequencies. |
measure_G2_iw_pp |
bool |
false |
Measure G^4(iomega,inu,inu’) within the particle-particle channel. |
measure_G2_iw_pp_nfft |
bool |
false |
Measure G^4(iomega,inu,inu’) within the particle-particle channel. |
measure_G2_iw_ph |
bool |
false |
Measure G^4(iomega,inu,inu’) within the particle-hole channel. |
measure_G2_iw_ph_nfft |
bool |
false |
Measure G^4(iomega,inu,inu’) within the particle-hole channel. |
measure_G2_iwll_pp |
bool |
false |
Measure G^2(iomega,l,l’) within the particle-particle channel. |
measure_G2_iwll_ph |
bool |
false |
Measure G^2(iomega,l,l’) within the particle-hole channel. |
measure_G2_block_order |
block_order |
block_order::AABB |
Order of block indices in the definition of G^2. |
measure_G2_blocks |
std::set<std::pair<std::string, std::string>> |
measure all blocks |
List of block index pairs of G^2 to measure. |
measure_G2_n_tau |
int |
10 |
Number of imaginary time slices for G^4 measurement. |
measure_G2_n_bosonic |
int |
30 |
Number of bosonic Matsubara frequencies for G^4 measurement. |
measure_G2_n_fermionic |
int |
30 |
Number of fermionic Matsubara frequencies for G^4 measurement. |
measure_G2_n_l |
int |
20 |
Number of Legendre coefficients for G^4(iomega,l,l’) measurement. |
measure_G2_iwll_nfft_buf_size |
int |
100 |
NFFT buffer size for G^4(iomega,l,l’) measurement. |
nfft_buf_sizes |
std::map<std::string, long> |
100 for every block |
NFFT buffer sizes for different blocks |
measure_pert_order |
bool |
false |
Measure perturbation order? |
measure_density_matrix |
bool |
false |
Measure the reduced impurity density matrix? |
use_norm_as_weight |
bool |
false |
Use the norm of the density matrix in the weight if true, otherwise use Trace |
initial_configuration |
std::optional<configuration> |
{} |
Initial configuration of the run. (advanced –> use with care!) |
performance_analysis |
bool |
false |
Analyse performance of trace computation with histograms (developers only)? |
proposal_prob |
dict(str:float) |
{} |
Operator insertion/removal probabilities for different blocks |
move_global |
dict(str : dict(indices : indices)) |
{} |
List of global moves (with their names). Each move is specified with an index substitution dictionary. |
move_global_prob |
double |
0.05 |
Overall probability of the global moves |
imag_threshold |
double |
1.e-13 |
Threshold below which imaginary components of Delta and h_loc are set to zero |
det_init_size |
int |
100 |
The maximum size of the determinant matrix before a resize |
det_n_operations_before_check |
int |
100 |
Max number of ops before the test of deviation of the det, M^-1 is performed. |
det_precision_warning |
double |
1.e-8 |
Threshold for determinant precision warnings |
det_precision_error |
double |
1.e-5 |
Threshold for determinant precision error |
det_singular_threshold |
double |
-1 |
Bound for the determinant matrix being singular, abs(det) > singular_threshold. If <0, it is !isnormal(abs(det)) |
off_diag_threshold |
double |
0.0 |
Threshold below which which off diagonal components of hloc are set to 0 |
h_loc0 |
std::optional<many_body_op_t> |
{} |
Quadratic part of the local Hamiltonian. Must be provided if the Delta interface is used |