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

Defines zero-copy bosonic BlockTensor factor permutations. More...

#include <uni20/symmetry/block_tensor_concepts.hpp>
#include <uni20/symmetry/block_tensor_mapped_view.hpp>
#include <array>
#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for block_tensor_permute.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  uni20
 

Typedefs

template<class SourceTensor , std::size_t... Axis>
using uni20::BlockTensorPermutationView = typename detail::PermutationViewTraits< SourceTensor, Axis... >::type
 Zero-copy bosonic permutation of factors within each morphism side.
 

Functions

template<class Tensor >
requires BlockTensorView<Tensor> && requires(Tensor& tensor) { detail::as_block_tensor_view_impl(tensor, std::make_index_sequence<block_tensor_type_t<Tensor>::order()>{}); }
auto uni20::as_block_tensor_view (Tensor &tensor)
 Materialize a borrowed identity view over an existing BlockTensor view.
 
template<std::size_t... Axis, class Tensor >
requires (!std::is_lvalue_reference_v<Tensor &&> && detail::SidePreservingPermutation<Tensor, Axis...> && !BorrowedBlockTensorView<Tensor>)
auto uni20::permute (Tensor &&)=delete
 Permute a temporary borrowed BlockTensor view without retaining the intermediate view.
 
template<std::size_t... Axis, BorrowedBlockTensorView Tensor>
requires (!std::is_lvalue_reference_v<Tensor &&> && detail::SidePreservingPermutation<Tensor, Axis...>)
auto uni20::permute (Tensor &&tensor)
 Permute a temporary borrowed BlockTensor view without retaining the intermediate view.
 
template<std::size_t... Axis, class Tensor >
requires detail::SidePreservingPermutation<Tensor, Axis...>
auto uni20::permute (Tensor &tensor) -> BlockTensorPermutationView< Tensor, Axis... >
 Permute bosonic BlockTensor factors without moving numerical payload.
 

Detailed Description

Defines zero-copy bosonic BlockTensor factor permutations.