SyTen
stensor_decomps.cpp File Reference

Implementation for inc/stensor/stensor_decomps.h More...

+ Include dependency graph for stensor_decomps.cpp:

Namespaces

 syten
 Syten namespace.
 
 syten::STensorImpl
 Contains all ‘smart’ tensor related classes and functions.
 
 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...
 

Detailed Description

Implementation for inc/stensor/stensor_decomps.h