Configuration for a single DMRG stage. More...
#include <dmrg.h>
Public Member Functions | |
Index | maxSensibleExpansion (bool secondary=false) const |
Returns the maximal sensible expansion blocksize by considering expandMaxBlocksize and trunc.maxBlocksize as well as trunc.maxStates . More... | |
bool | mt () const |
Whether to do Mode Transformation. More... | |
bool | onePhys () const |
Checks whether only one physical site is involed. More... | |
bool | reorder () const |
Checks whether to reorder. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int in_version) |
Serialise a DMRGStage struct to/from a boost archive. More... | |
bool | singleSite () const |
Checks whether to do single site DMRG. More... | |
bool | twoSite () const |
Checks whether two-site optimisation is wished. More... | |
Public Attributes | |
IterativeConfig | eigensolverConf |
Configuration for the Eigensolver during this stage. More... | |
DMRGMode | mode = DMRGMode::TwoSite |
DMRG::DMRG mode/algorithm. More... | |
Index | num_excited_states = 0 |
Number of excited states to calculate in TwoSiteExcited. More... | |
bool | save = true |
Whether to save the state at the end of this stage. More... | |
bool | save_itself = false |
Whether to save the DMRG object itself. More... | |
BasisTransformation::TrafoConf | trafo |
Configuration for basis transformation. More... | |
Convergence/Exit Criteria | |
Index | convergenceMaxSweeps = 10000 |
maximum number of sweeps in this stage More... | |
Index | convergenceMinSweeps = 1 |
minimum number of sweeps in this stage More... | |
SRDef | convergenceMinEnergyDiff = SYTEN_SMALL_THRESHOLD |
exit stage if relative energy gain over two half-sweeps is lower than this value More... | |
SRDef | convergenceTargetEnergy = NAN |
exit immediately if the current energy is below this value (primarily for benchmarking use) More... | |
Truncation configuration | |
Truncation | trunc |
Truncation specifier. More... | |
Truncation | sec_trunc = Truncation(sqrt(SYTEN_SMALL_THRESHOLD), Maximum(), Maximum(), -1) |
Secondary truncation specifier, e.g. More... | |
Expansion configuration | |
bool | gse_before_stage = false |
Whether or not globally expaned the state with krylov vectors before regular sweeping. More... | |
syten::DMRG::GSEConf | gse_conf |
Configuration for global subspace expansion before a sweep. More... | |
Index | expandMaxBlocksize {500} |
Maximal blocksize. More... | |
SRDef | expandRatio {0.5} |
Take this ratio part of each expansion block. More... | |
SRDef | randomness_factor {0.01} |
multiplicative factor for random contributions in DMRG3S-RND More... | |
SRDef | resetAlpha {NAN} |
Resets alpha to this value at end of stage. More... | |
Prefactor configuration | |
std::unordered_map< Index, SRDef > | coeff_sweep |
Static Public Attributes | |
static constexpr unsigned int | version = 9 |
Bump this if the above changes. More... | |
Configuration for a single DMRG stage.