SyTen
tensor_buckets.h File Reference

Sorting tensorblocks into buckets according to specific criteria. More...

#include <algorithm>
#include <vector>
#include <numeric>
#include "inc/tensor/tensor.h"
+ Include dependency graph for tensor_buckets.h:
+ This graph shows which files directly or indirectly include this file:

Namespaces

namespace  syten
 Syten namespace.
 
namespace  syten::TensorBlocks
 Functions to sort the blocks of a tensor according to various criteria.
 

Macros

#define SYTEN_STABLE_TENSOR_SORT
 There currently appear to be a few places in the toolkit that are extremely sensitive to the ordering of blocks within a tensor. More...
 

Functions

template<Rank rank, Rank numMatches>
std::vector< Tensor< rank > > syten::TensorBlocks::sort_Tensor_some (Tensor< rank > &&input, std::array< Rank, numMatches > const &matches)
 Sorts the blocks of input into Tensors, where each tensor transforms uniquely on the legs specified in matches. More...
 
template<Rank rank>
std::vector< std::vector< TensorBlock< rank > > > syten::TensorBlocks::sort_VecBlocks_all (std::vector< TensorBlock< rank > > &&blocks)
 Sorts the blocks of the input tensor into buckets according their full transformation specification. More...
 
template<Rank rank>
std::vector< std::vector< Index > > syten::TensorBlocks::sort_VecIdx_single (Tensor< rank > const &input, Index const leg)
 Sort the blocks of the supplied tensor into buckets corresponding to the specified leg. More...
 
template<Rank rank, Rank numMatches>
std::vector< std::pair< std::vector< RDef >, std::vector< Index > > > syten::TensorBlocks::sort_VecRepIdx_some (Tensor< rank > const &input, std::array< Rank, numMatches > const &matches)
 Sorts the blocks in input into buckets. More...
 
template<Rank rank>
std::vector< std::vector< TensorBlock< rank > > > syten::tensorSortBuckets (std::vector< TensorBlock< rank > > &&blocks)
 
template<Rank rank>
std::vector< std::vector< Index > > syten::tensorSortBuckets (Tensor< rank > const &input, Index const leg)
 
template<Rank rank, Rank numMatches>
std::vector< std::pair< std::vector< RDef >, std::vector< Index > > > syten::tensorSortBuckets (Tensor< rank > const &input, std::array< Rank, numMatches > const &matches)
 

Detailed Description

Sorting tensorblocks into buckets according to specific criteria.