|
static |
Growth helper, unifies all growth directions.
| psi | iPEPS on which to base the CTM growth |
| trunc | truncation criterion for the CTM truncation |
| cA | "right" or "top" corner tensors grid |
| cB | "left" or "bottom" corner tensors grid |
| tA | "right" or "top" ungrown tensor rung grid |
| tB | "left" or "bottom" ungrown tensor rung grid |
| rung | grown tensor rung grid |
| max_counter | number of distinct sites along the grown rung |
| this_on_rung | functor returning the current rung/site coordinate when passed a coordinate along the grown rung |
| next_on_rung | functor returning the current rung/site coordinate when passed the next coordinate along the grown rung |
| prev_on_rung | functor returning the current rung/site coordinate when passed the previous coordinate along the grown rung |
| this_on_next | functor returning the coordinate on the next rung in CTM growth direction when passed a coordinate along the grown rung |
| next_on_next | functor returning the coordinate on the next rung in CTM growth direction when passed the next coordinate along the grown rung |
| prev_on_next | functor returning the coordinate on the next rung in CTM growth direction when passed the previous coordinate along the grown rung |
| m | bond grid of CTM bases of the grown rung |
| sv1 | bond grid of last first singular value to calculate the singular value change |
| mode | CTM growth mode |
References syten::abs(), std::vector< T >::clear(), syten::conj(), syten::Cuda::copy(), syten::diagonal(), syten::STensorImpl::gen_merge(), syten::IPEPSv2::have_shown_ctm_ad_warning, syten::STensorImpl::invert_diagonal(), syten::logGW(), lr, syten::IdentityDenseTensorImpl::merge(), mode, std::move(), syten::normalise(), syten::normalised(), syten::project(), syten::STensorImpl::qr(), syten::real(), syten::sqrt(), syten::IPEPSv2::CornerTransferMatrix::GrowthResult::sv1_change, syten::STensorImpl::svd(), SYTEN_ASSERT_MSG, std::tie(), and syten::IPEPSv2::CornerTransferMatrix::GrowthResult::trunc_error.
Referenced by grow_b_once(), grow_l_once(), grow_r_once(), and grow_t_once().
Here is the call graph for this function:
Here is the caller graph for this function: