Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
two_site_effective_hamiltonian.hpp File Reference

Defines two-site effective-Hamiltonian apply objects. More...

#include <uni20/symmetry/block_tensor_contract.hpp>
#include <uni20/symmetry/block_tensor_linear.hpp>
#include <uni20/symmetry/block_tensor_permute.hpp>
#include <uni20/symmetry/block_tensor_repartition.hpp>
#include <uni20/tensor_network/rabc_contraction.hpp>
#include <algorithm>
#include <array>
#include <concepts>
#include <cstddef>
#include <map>
#include <memory>
#include <optional>
#include <ranges>
#include <stdexcept>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for two_site_effective_hamiltonian.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  uni20::tensor_network::LocalTwoSiteEffectiveHamiltonian< Hamiltonian >
 Apply a local two-site operator to a fixed BlockTensor center. More...
 
class  uni20::tensor_network::TwoSiteEffectiveHamiltonian< Center, LeftEnvironment, FirstMpo, SecondMpo, RightEnvironment >
 Matrix-free two-site Hamiltonian compiled from environments and MPO sites. More...
 

Namespaces

namespace  uni20
 
namespace  uni20::tensor_network
 

Functions

template<class Hamiltonian >
 uni20::tensor_network::LocalTwoSiteEffectiveHamiltonian (Hamiltonian) -> LocalTwoSiteEffectiveHamiltonian< std::remove_cvref_t< Hamiltonian > >
 
template<detail::MpoEffectiveCenter Center, detail::MpoEffectiveEnvironment LeftEnvironment, detail::MpoEffectiveSite FirstMpo, detail::MpoEffectiveSite SecondMpo, detail::MpoEffectiveEnvironment RightEnvironment>
requires detail::CompatibleMpoEffectiveScalars<Center, LeftEnvironment, FirstMpo, SecondMpo, RightEnvironment>
auto uni20::tensor_network::make_two_site_effective_hamiltonian (Center const &prototype, LeftEnvironment const &left_environment, FirstMpo const &first_mpo, SecondMpo const &second_mpo, RightEnvironment const &right_environment)
 Compile a two-site effective Hamiltonian borrowing environment payloads.
 
template<class Center , class LeftEnvironment , class FirstMpo , class SecondMpo , class RightEnvironment >
 uni20::tensor_network::TwoSiteEffectiveHamiltonian (Center const &, LeftEnvironment, FirstMpo, SecondMpo, RightEnvironment) -> TwoSiteEffectiveHamiltonian< std::remove_cvref_t< Center >, std::remove_cvref_t< LeftEnvironment >, std::remove_cvref_t< FirstMpo >, std::remove_cvref_t< SecondMpo >, std::remove_cvref_t< RightEnvironment > >
 

Detailed Description

Defines two-site effective-Hamiltonian apply objects.