Truncation specification. More...
#include <truncation.h>
Public Member Functions | |
bool | notTruncating () const |
Returns true if *this corresponds to no truncation, i.e. More... | |
template<typename Truncatable > | |
SRDef | operator() (Truncatable &&s) const |
Calls truncateKeepNorm() on the passed argument with *this as an argument. More... | |
bool | operator== (Truncation const &other) const |
Returns true if *this is exactly equal to other More... | |
bool | operator> (Truncation const &other) const |
Returns true if any parameter of *this defines a stronger truncation (resulting in a potentially smaller state space) than the corresponding operator in other. More... | |
void | scale (SRDef const norm) |
Scales *this to be correct for a tensor of norm n as opposed to norm 1. More... | |
Truncation | scaled (SRDef const norm) const |
Copies *this , scales the copy to be correct for a tensor of norm n and returns the scaled object. More... | |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned int const in_version) |
Boost serialisation. More... | |
Truncation (SRDef const threshold_=-1, Index const maxStates_=Maximum(), Index const maxBlocksize_=Maximum(), SRDef const weight_=-1) | |
Standard ctor, works with 0 through 3 arguments. More... | |
Public Attributes | |
Index | maxBlocksize {Maximum()} |
maximal blocksize of each dense block More... | |
Index | maxStates {Maximum()} |
maximal number of states to keep More... | |
SRDef | threshold {-1} |
Singular value threshold. More... | |
bool | truncate_to_convergence {false} |
If true, truncate repeatedly until the bond dimension no longer changes. More... | |
SRDef | weight {-1} |
Maximal discarded weight, given by \( \sum_{\mathrm{disc}} s_i^2 \). More... | |
Static Public Attributes | |
static constexpr unsigned int | version = 2 |
Boost serialisation version. More... | |
Truncation specification.
Ideally, all functions implementing truncation of some sort should provide at least an overload to accept such a struct.
Only a default-constructed or equivalent object corresponds to no truncation to take place.