STensor decompositions. More...
#include "inc/util/toggle_enums.h"
#include "inc/util/tensor_timer.h"
#include "inc/tensor/truncation.h"
#include "inc/stensor/stensor_base.h"
Namespaces | |
namespace | syten |
Syten namespace. | |
namespace | syten::STensorImpl |
Contains all ‘smart’ tensor related classes and functions. | |
namespace | syten::STensorImpl::Autodiff |
Contains classes and functions to deal with autodifferentiation of STensor objects. | |
Functions | |
std::tuple< Index, STensor, STensor, SBasis > | syten::STensorImpl::delinearise (STensor const &in, SBasisId const &uncombined, std::vector< Index > leading_dimensions=std::vector< Index >(), bool relax_if_necessary=false) |
Delinarisation decomposition for STensor . More... | |
std::tuple< STensor, STensor, SBasis > | syten::STensorImpl::deparallelise (STensor const &in, SBasisId const &uncombined) |
Deparallelisation decomposition for STensor . More... | |
std::tuple< STensor, STensor, SBasisId > | syten::STensorImpl::eigen_sym (STensor in, SBasisId basis_to_keep, SourceLocation const &loc=SourceLocation::current()) |
Given a rank-2 tensor X with two bases a and b , this function when called as eigen_sym(X, [a|b]) returns a tuple U,D,c such that U * D * conj(project(U, [a|b], [b|a]).unprime(c)) is equal to X . More... | |
std::tuple< STensor, STensor, SBasis > | syten::STensorImpl::qr (STensor const &in, SBasisId const &uncombined, DecompRescaleCGC const rescaleCGC=DecompRescaleCGC::Yes, FullQR const full=FullQR::n(), SourceLocation const &loc=SourceLocation::current()) |
QR decomposition for STensor . More... | |
STensor | syten::STensorImpl::Autodiff::qr_adjoint_evaluator (ComputeNode &node, STensorId const result_id, SBasisId const &int_leg) |
Evaluates the adjoint of a QR decomposition identified by ComputeNode node . More... | |
std::tuple< SRDef, STensor, STensor, STensor, SBasis, SBasis > | syten::STensorImpl::svd (STensor const &in, SBasisId const &uncombined, Truncation const &trunc=Truncation(), DecompRescaleCGC const rescaleCGC=DecompRescaleCGC::Yes, GaugeFixSVD gf=GaugeFixSVD::n(), SourceLocation const &loc=SourceLocation::current()) |
SVD decomposition for STensor . More... | |
std::tuple< SRDef, STensor, STensor, STensor, SBasis, SBasis > | syten::STensorImpl::svd (STensor in, std::vector< SBasisId > const &uncombined, Direction const a, Truncation const &trunc=Truncation(), DecompRescaleCGC const rescaleCGC=DecompRescaleCGC::Yes, GaugeFixSVD gf=GaugeFixSVD::n(), SourceLocation const &loc=SourceLocation::current()) |
This is an useful overload for splitting tensors into two by defining a partition of legs. More... | |
STensor | syten::STensorImpl::Autodiff::svd_adjoint_evaluator (ComputeNode &node, STensorId const result_id, SBasisId const &us_basis, SBasisId const &sv_basis) |
Evaluates the adjoint of a SVD identified by ComputeNode node . More... | |
STensor decompositions.