SyTen
syten::Pyten Namespace Reference

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

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 Scalar >
void dense_eigensolver (py::module &m)
 Initialises dense eigensolver. More...
 
template<typename Ortho >
void expose_mp_krylov_evolver (py::module &mp_krylov, std::string name)
 Exposes the specified Krylov solver. More...
 
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, Args... args)
 Creates a py::class_<Exposed, Options> object and some standard functions to it. More...
 
template<typename Ortho >
void expose_t3n_krylov_evolver ([[maybe_unused]] py::module &t3n_krylov, [[maybe_unused]] std::string name)
 Exposes the specified Krylov solver. 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_bt (py::module &mod)
 Exposes enums and classes from inc/alg/basis-trafo.h. 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_alg_krylov (py::module &mod)
 Exposes Krylov config. More...
 
void init_alg_tdvp (py::module &mod)
 Exposes enums and classes from inc/alg/tdvp.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<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 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<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_history (py::module &m)
 Exposes syten::History and syten::HistoryElement. 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 ([[maybe_unused]] py::module &m)
 Exposes expectation value and update functions for IPEPSv2. More...
 
void init_ipeps2_latgen ([[maybe_unused]] py::module &m)
 Exposes bare lattice generators from lat/ipeps2/. More...
 
void init_ipeps2_lattice ([[maybe_unused]] py::module &m)
 Exposes lattices and operators for IPEPSv2. More...
 
void init_ipeps2_state ([[maybe_unused]] py::module &m)
 Exposes states and CTMs for IPEPSv2. More...
 
void init_ipeps2_updates ([[maybe_unused]] 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)
 Initialises the MPS-Krylov submodule. More...
 
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_proj_pur (py::module &mp_mod)
 Exposes all the functions. More...
 
void init_mp_rdm (py::module &m)
 Exposes RDMs. 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_rnd (py::module &m)
 Random number functionality inside syten. 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_t3n (py::module &m)
 
void init_t3n_dmrg ([[maybe_unused]] py::module &mp_mod)
 
void init_t3n_krylov ([[maybe_unused]] py::module &t3n_mod)
 Initialises the MPS-Krylov submodule. More...
 
void init_t3n_latgen ([[maybe_unused]] py::module &m)
 Exposes lattice generators. More...
 
void init_t3n_proj_pur ([[maybe_unused]] py::module &t3n_mod)
 Exposes all the functions. More...
 
void init_t3n_rdm ([[maybe_unused]] py::module &m)
 Exposes RDMs. More...
 
void init_t3n_stuff ([[maybe_unused]] py::module &mod)
 Exposes everything. More...
 
void init_t3n_tdvp ([[maybe_unused]] py::module &mp_mod)
 
void init_t3nl ([[maybe_unused]] py::module &mp_mod)
 Exposes T3NLs. More...
 
void init_t3no ([[maybe_unused]] py::module &mod)
 Exposes T3NOs. More...
 
void init_t3ns ([[maybe_unused]] py::module &mp_mod)
 
void init_t3ns_random ([[maybe_unused]] py::module &mp_mod)
 
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...
 
template<typename Scalar >
void sym_dense_eigensolver (py::module &m)
 Initialises symmetric dense eigensolver. More...
 

Detailed Description

Contains the initialisation functions for Python bindings.