SyTen
syten::Pyten Namespace Reference

Contains the initialisation functions for Python bindings. More...

Classes

struct  KrylovEvolver
 

Functions

template<typename Class , Rank... Ranks>
void add_tensor_ctor_to_stensor (Class &stensor, std::index_sequence< Ranks... >={})
 Helper function to add a ctor to the exposed STensor class taking any rank-X tensor. More...
 
template<typename Ortho >
void expose_mp_krylov_evolver (py::module &mp_krylov, std::string name)
 
template<typename Exposed , typename... Options, typename... Args>
py::class_< Exposed, Options... > expose_syten_class (py::module &module, std::string name, std::string docstring=std::string(""), bool enable_load_in_ctor [[maybe_unused]]=false, bool enable_default_ctor [[maybe_unused]]=true)
 Creates a py::class_<Exposed, Options> object and some standard functions to it. More...
 
template<typename Exposed >
py::class_< Exposed > expose_yesno (py::module &m, std::string name, std::string docstring=std::string(""))
 Function to expose YesNo structs automatically. More...
 
void init_alg (py::module &m)
 Exposes objects and classes from inc/alg. More...
 
void init_alg_dmrg (py::module &mod)
 Exposes enums and classes from inc/alg/dmrg.h. More...
 
void init_alg_iterative (py::module &mod)
 Exposes enums and classes from inc/alg/iterative.h More...
 
void init_basis (py::module &m)
 Exposes RDef, Direction, Group, RepLabel, Rep and Basis. More...
 
void init_cache (py::module &m)
 Provides two access functions to Caching::threshold More...
 
void init_dense (py::module &m)
 Exposes dense tensors. More...
 
void init_dense_mult (py::module &dense_mod)
 Initialises currently-used dense tensor multiplications. More...
 
template<Rank rank, typename Scalar >
void init_dense_tensor (py::module &module, const char *name)
 Exposes a single dense tensor type of the specified scalar type and rank. More...
 
template<typename Scalar >
void init_dense_tensor (py::module &dense_mod, std::string const &suffix)
 Exposes dense tensors up to rank-8 for the given scalar type. More...
 
template<Rank summed, Rank r1, Rank r2, typename Scalar >
void init_dense_tensor_mult (py::module &module)
 Exposes a single dense tensor product function. More...
 
template<Rank summed, Rank r1, Rank r2>
void init_dense_tensor_mult (py::module &module)
 Exposes a single dense tensor product function. More...
 
void init_eigensolver (py::module &m)
 Initialises the eigensolvers for popular vector/matrix combinations. More...
 
void init_env (py::module &m)
 Provides access functions to set the log levels. More...
 
void init_fermionic (py::module &m)
 Exposes Fermionic and FermionicWhen. More...
 
void init_ipeps (py::module &m)
 Exposes all IPEPS-related functions. More...
 
void init_ipeps2 (py::module &m)
 Exposes all iPEPSv2-related functions. More...
 
void init_ipeps2_functions (py::module &m)
 Exposes expectation value and update functions for IPEPSv2. More...
 
void init_ipeps2_latgen (py::module &m)
 Exposes bare lattice generators from lat/ipeps2/. More...
 
void init_ipeps2_lattice (py::module &m)
 Exposes lattices and operators for IPEPSv2. More...
 
void init_ipeps2_state (py::module &m)
 Exposes states and CTMs for IPEPSv2. More...
 
void init_ipeps2_updates (py::module &m)
 Exposes update structs and functions for IPEPSv2. More...
 
void init_ipeps_expval (py::module &m)
 Exposes IPEPS::expectation() More...
 
void init_ipeps_latgen (py::module &m)
 Exposes bare lattice generators from lat/ipeps/. More...
 
void init_ipeps_lattice (py::module &m)
 Exposes IPEPS::Lattice. More...
 
void init_ipeps_ops (py::module &m)
 Exposes IPEPS operators (OneOp, AOneOp etc.) More...
 
void init_ipeps_state (py::module &m)
 Exposes IPEPS::State. More...
 
void init_ipeps_tensor_reshapes (py::module &m)
 Exposes ipeps-specific tensor reshape ops. More...
 
void init_ipeps_update (py::module &m)
 Exposes iPEPS update functions. More...
 
void init_ipeps_util (py::module &m)
 Exposes utility functions. More...
 
void init_log (py::module &m)
 Provides access functions to set the log levels. More...
 
void init_misc (py::module &m)
 exposes misc. More...
 
void init_mp (py::module &m)
 Exposes MPS-related functionality from inc/mps. More...
 
void init_mp_dmrg (py::module &mp_mod)
 Exposes MPS-PDMRG. More...
 
void init_mp_krylov (py::module &mp_mod)
 
void init_mp_latgen (py::module &m)
 Exposes bare lattice generators from lat/mps/. More...
 
void init_mp_mg (py::module &mp_mod)
 Exposes MPS-MG functions. More...
 
void init_mp_tdvp (py::module &mp_mod)
 Exposes MPS-TDVP. More...
 
void init_mpl (py::module &mp_mod)
 Exposes MP-lattices and MPOs. More...
 
void init_mps (py::module &mp_mod)
 Exposes MPS. More...
 
void init_mps_random (py::module &mp_mod)
 Exposes random generators for MPS. More...
 
void init_multiprec (py::module &m)
 Exposes the CDef type. More...
 
void init_sparse (py::module &sm)
 Exposes a single Rank-r SparseTensor. More...
 
void init_stensor (py::module &m)
 Exposes the STensor and SBasis class and associated functions. More...
 
void init_tensor (py::module &m)
 Exposes Tensor classes up to rank 8. More...
 
template<Rank rank>
void init_tensor (py::module &module, const char *name)
 Exposes a single Tensor of the specified rank. More...
 
void init_tensor_decomp (py::module &m)
 Exposes SVD and QR for a single rank-r tensor. More...
 
template<Rank summed, Rank r1, Rank r2>
void init_tensor_mult (py::module &module)
 Exposes a single tensor multiplication. More...
 
void init_tensor_multiplications (py::module &tensor_mod)
 Exposes currently-used tensor multiplications as generated by dense_mult.cpp. More...
 
void init_threads (py::module &m)
 Provides access functions to Threading global variables. More...
 
void init_trunc (py::module &m)
 Exposes the Truncation struct. More...
 
void init_types (py::module &m)
 Provides access to different types defined in inc/util/types.h. More...
 
void init_util (py::module &m)
 Initialises utility parts exposed from inc/util. More...
 

Detailed Description

Contains the initialisation functions for Python bindings.