|
Uni20
Asynchronous tensor and runtime library.
|
Splits a two-site center and installs directional MPS factors. More...
#include <uni20/symmetry/block_tensor_contract.hpp>#include <uni20/symmetry/block_tensor_linear.hpp>#include <uni20/symmetry/block_tensor_repartition.hpp>#include <uni20/symmetry/block_tensor_space_traits.hpp>#include <uni20/symmetry/block_tensor_svd.hpp>#include <uni20/tensor_network/finite_chain.hpp>#include <concepts>#include <cstddef>#include <stdexcept>#include <type_traits>#include <utility>#include <vector>Go to the source code of this file.
Classes | |
| struct | uni20::tensor_network::InstalledMpsBond< SingularValues, Truncation > |
| Bond data retained after installing a two-site MPS split. More... | |
| struct | uni20::tensor_network::TwoSiteMpsSplit< FirstSite, SecondSite, SingularValues, Truncation > |
| Directionally absorbed two-site MPS factors and retained bond data. More... | |
Namespaces | |
| namespace | uni20 |
| namespace | uni20::tensor_network |
Enumerations | |
| enum class | uni20::tensor_network::MpsSweepDirection { uni20::tensor_network::left_to_right , uni20::tensor_network::right_to_left } |
| Direction in which a two-site split moves the MPS canonical center. More... | |
Functions | |
| template<detail::TwoSiteSvdCenter Center, class Measurements , class Event > requires uni20::LapackScalar<block_tensor_value_t<Center>> && performance::BatchMeasurementPolicy<Measurements, Event> | |
| auto | uni20::tensor_network::decompose_two_site_center (Center const ¢er, linalg::SvdOptions options, Measurements &measurements, Event batch_event) |
| Factorize a canonical two-site MPS center by its internal cut with performance measurements. | |
| template<detail::TwoSiteSvdCenter Center> requires uni20::LapackScalar<block_tensor_value_t<Center>> | |
| auto | uni20::tensor_network::decompose_two_site_center (Center const ¢er, linalg::SvdOptions options={}) |
| Factorize a canonical two-site MPS center by its internal cut. | |
| template<SparseBlockStorage OutputStorage = SeparateSparseBlockStorage<>, class Decomposition > requires detail::MpsSiteStorage<OutputStorage, typename Decomposition::scalar_type> | |
| auto | uni20::tensor_network::materialize_two_site_mps_split (Decomposition const &decomposition, BlockSvdSelection< typename Decomposition::real_type > const &selection, MpsSweepDirection direction, BlockSvdMaterializationOptions options={}) |
| Materialize selected SVD states as a directional pair of owning MPS sites. | |
| template<typename Scalar , Space Bond, Space Physical, BlockTensorStorage SiteStorage, class Decomposition > requires std::same_as<Bond, BlockSpace> && detail::MpsSiteStorage<SiteStorage, Scalar> | |
| auto | uni20::tensor_network::replace_two_site_from_svd (FiniteMps< Scalar, Bond, Physical, SiteStorage > &mps, std::size_t first_index, Decomposition const &decomposition, BlockSvdSelection< typename Decomposition::real_type > const &selection, MpsSweepDirection direction, BlockSvdMaterializationOptions options={}) |
| Materialize and install a selected two-site split in a finite MPS. | |
Splits a two-site center and installs directional MPS factors.