SyTen

◆ generateCompleteState()

State syten::MPS::RandomState::generateCompleteState ( Lattice const &  lat,
Basis const &  target,
Index const  maxStates = 10,
Index  maxBlocksize = std::numeric_limitsIndex >::max(),
bool const  verbose = true 
)

Generates a new state, considering every possible basis at every bond transforming as specified and right-normalised with norm 1.

If the lattice is uniform and the involved symmetries are all U(1) or SU(2), it is fairly easy to filter out unneeded reps on every step to reduce the maximal number of used representations. In theory, this would also work for nonuniform lattices, but will require more work.

Parameters
latLattice on which we should build the state
targetTarget basis for our state, used on LHS.
maxBlocksizeMaximum sidelengths of blocks to generate. Only applies to generated bases, not to the physical, target or vacuum basis.
maxStatesmaximal number of (reduced) states
verboseWhether to verbosely print information.
Returns
the generated state

References syten::Basis::dir, syten::genRandom(), syten::Out, syten::MPS::State::resize(), SYTEN_ASSERT_DEBUG, SYTEN_ZERO_THRESHOLD, syten::MPS::State::truncate(), and syten::verbose().

Referenced by syten::MPS::ProjectedPurification::generateCompleteState(), and syten::Pyten::init_mps_random().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: