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

Defines immutable block-structured tensor spaces and regularization helpers. More...

#include <uni20/symmetry/block_sector.hpp>
#include <uni20/symmetry/irregular_space.hpp>
#include <uni20/symmetry/local_space.hpp>
#include <uni20/symmetry/qnum.hpp>
#include <uni20/symmetry/space.hpp>
#include <algorithm>
#include <concepts>
#include <cstddef>
#include <initializer_list>
#include <numeric>
#include <ranges>
#include <span>
#include <stdexcept>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
Include dependency graph for block_space.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  uni20::BlockRangeMapping
 Destination range of one irregular block after regularization. More...
 
class  uni20::BlockSpace
 Immutable coalesced tensor space represented as unique symmetry blocks. More...
 
struct  uni20::IrregularSpaceRegularization
 Result of regularizing an ordered segmented IrregularSpace. More...
 
struct  uni20::LocalSpaceRegularization
 Result of regularizing an immutable LocalSpace. More...
 
struct  uni20::QNumListRegularization
 Result of regularizing a sparse QNumList into a coalesced BlockSpace. More...
 

Namespaces

namespace  uni20
 

Functions

auto uni20::regularize (IrregularSpace const &space) -> IrregularSpaceRegularization
 Regularize an ordered segmented space into one block per quantum number.
 
auto uni20::regularize (LocalSpace const &space) -> LocalSpaceRegularization
 Regularize a LocalSpace into one block per quantum number.
 
auto uni20::regularize (QNumList const &list) -> QNumListRegularization
 Regularize a sparse QNumList into one block per quantum number.
 
auto uni20::to_block_space (IrregularSpace const &space) -> BlockSpace
 Return the canonical block-space representation of an IrregularSpace.
 
auto uni20::to_block_space (LocalSpace const &space) -> BlockSpace
 Return the coalesced block-space representation of a LocalSpace.
 
auto uni20::to_block_space (QNumList const &list) -> BlockSpace
 Return the coalesced block-space representation of a sparse QNumList.
 

Detailed Description

Defines immutable block-structured tensor spaces and regularization helpers.

See docs/symmetry/qnum.md for the current BlockSpace and QNumList tensor-space API and how they fit into the planned DMRG integration work.