State syten::IPEPS::genRandomCompleteState | ( | Lattice const & | lat, |
Basis const & | sector, | ||
std::vector< Basis > const & | backwards_bases, | ||
std::vector< Basis > const & | right_bases, | ||
Index | max_blocksize = Maximum() |
||
) |
Attempts to generate an IPEPS compatible with the lattice and the specified bases.
lat | the lattice with which the state is to be compatible |
sector | the target quantum number sector for the unit cell, physical index of the remover |
backwards_bases | the incoming bases from the back on each backmost site of the lattice, numbered left to right |
right_bases | the incoming bases from the right on each rightmost site of the lattice, numbered front to back |
max_blocksize | the maximal permitted block size of each sector |
Sets the bases of those tensors for which neighbouring tensors have already a set basis.
Counts the number of sites without tensors
Builds tensors on all sites where complete basis information exists.
Counts the number of completed but not yet build sites
Counts the number of sites with a single undefined basis.
References std::vector< T >::back(), syten::Basis::dir, syten::Basis::flipped(), syten::genFuse(), syten::genIINode(), syten::genOONode(), genRandomTensor(), syten::genSplit(), syten::Tensor< rank >::getBasis(), syten::Invalid, std::make_pair(), syten::makeRandom(), std::move(), syten::norm(), syten::IPEPS::State::rbIdx, std::vector< T >::size(), SYTEN_ASSERT_MSG, and std::tie().