Configuration for a single DMRG stage. More...
#include <dmrg.h>
Collaboration diagram for syten::DMRG::DMRGStage: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.