▼ bin | |
syten-add.cpp | Binary to add two states |
syten-apply-op.cpp | Binary to apply an operator to a state |
syten-check-herm.cpp | Binary to check whether a MPS operator is hermitian |
syten-conj.cpp | Binary to complex-conjugate a state |
syten-dmrg.cpp | Binary to run DMRG |
syten-error.cpp | Calculates an approximate variance |
syten-expectation.cpp | Binary to calculate the expectation value of an operator and state |
syten-gc-su2-converter.cpp | Exposes functionality to switch from grand canonical SU(2) state to canonical one |
syten-get-mps-coefficients.cpp | Binary to print information on state cofficients |
syten-info.cpp | Binary to print information on states, operators or lattices |
syten-krylov.cpp | Binary to run krylov time propagation |
syten-localexpectation.cpp | Binary to calculate the expectation value of an operator at every position |
syten-mg.cpp | Coarse-Graining of MPS::Operators |
syten-mps-construct.py | Construct a MPS from a text file describing the available state sectors; in particular useful to build product states |
syten-mps2lbo.cpp | Reads in a MP state and writes out a LBO state |
syten-mt-print-cost-function.cpp | Binary to print the mode transformation cost function of a state |
syten-mutualInformation.cpp | Binary to calculate the mutual Information of a state or the entropy of a subsystem consiting of one or two sites |
syten-norm.cpp | Binary to calculate the norm of a state or operator |
syten-normalise.cpp | Binary to normalise a state to an absolute factor |
syten-orthogonalise.cpp | Binary to add two states |
syten-overlap.cpp | Binary to calculate the overlap between two states or two MPOs |
syten-pp-correlator.cpp | Binary implementation for correlators of PP states |
syten-pp-localexpectation.cpp | Binary implementation of local expectations for PP states |
syten-pp-purify.cpp | Binary to merge together physical and bath sites |
syten-print.cpp | Binary to output an operator or state |
syten-random.cpp | Binary to create a random state |
syten-rdm.cpp | Computes RDMs of all types |
syten-scalar-multiply.cpp | Binary to multiply a state by a scalar |
syten-snapshots.cpp | Binary to calculate the expectation value of an operator at every position |
syten-split-real-imag.cpp | Binary to split a state into real and imaginary part |
syten-switch-sites.cpp | Reads in a state or lattice and exchanges two logical sites a and b with each other |
syten-taylor.cpp | Binary to do a time evolution using a simple taylor expansion of the exponential |
syten-tdvp.cpp | Binary to run TDVP |
syten-tebd-swappable.cpp | TEBD implementation which can swap sites to allow for long-range interactions |
syten-tebd.cpp | Binary to run TEBD |
syten-truncate.cpp | Binary to truncate an operator or a state |
syten-variational-add.cpp | Binary to truncate an operator or a state |
▼ helpers | |
► dynamical-structure-factor | |
kt-kf-transform.cpp | Takes two argument, the time-step size δt and the momentum-space real-time correlator file, expected to be of the form: |
linearPrediction.py | Linear prediction toolSomewhat fragile, use with care |
xt-kt-transform.cpp | Transforms real-space real-time correlators into momentum-space real-time correlators |
▼ inc | |
► alg | |
basis-trafo.cpp | Implementation for basis-trafo.h |
basis-trafo.h | A parameter object for any kind of basis transformation |
bfgs2.cpp | Implementation of bfgs2.h |
bfgs2.h | Wrapper around GSL bfgs2 for optimization with gradient |
classic_krylov.h | Lanczos implementation with possibility of re-orthogonalisation |
common_krylov.h | Common simple-to-use entry points for Krylov methods |
davidson.h | Davidson eigensolver |
dmrg.cpp | Implementation for dmrg.h |
dmrg.h | General data structures for DMRG algorithms |
energy_truncation_policies.h | Different energy truncation policies for StandardEnergTruncation (okay, only one, yet, but who knows...) |
energy_truncator.cpp | Implementation for inc/alg/energy_truncator.h |
energy_truncator.h | Energy truncation helper class |
gradient_opt.h | A collection of methods for gradient-based descent |
gse_config.cpp | Config file for the GSE mode of TDVP |
gse_config.h | Config file for the GSE mode of TDVP |
iterative.cpp | Implementation for inc/alg/iterative.h |
iterative.h | Configuration and exit reasons for iterative solvers |
krylov_evolve.h | Time evolution of a state/operator pair over more than one time step using any of the Krylov methods |
krylov_evolver.h | Krylov evolver helper class |
naive_exponential.h | Solves \dot{x} = A x via brute-force computation of the Taylor expansion of A |
NelderMead.cpp | Implementation for NelderMead.h |
NelderMead.h | Nealder-Mead Optimization methods |
orthogonalise.h | Generic orthogonalisation functions |
orthogonalise_policies.h | Orthonormalisation policies for use with StandardKrylov and TensorNetworksKrylov |
proj_purification.cpp | Implementation for inc/alg/proj_purification.h |
proj_purification.h | General functionality for projected purification |
simulated_annealing.cpp | Implementation of simulated_annealing.h |
simulated_annealing.h | A simulated annealing implementation |
solver_policies.h | Different solver policies for StandardKrylov and TensorNetworksKrylov |
standard_energy_truncation.h | "EnergyTruncation" Lanczos implementation optimised for non-TN problems |
standard_krylov.h | "Standard" Lanczos implementation optimised for non-TN problems |
state_wrappers.h | Wrappers around states and operators to work with the generic Lanczos algorithm |
tdvp.cpp | Implementation for tdvp.h |
tdvp.h | General data structures for TDVP algorithms |
tn_krylov.h | Tensor-network-optimised Krylov class |
variational_add.h | Variational add tensor-network states |
► dense | |
cuda.h | A DenseTensor-like class stored on a CUDA device |
cuda_addscaled.h | AddScaled() implementation for CUDA dense tensors |
cuda_conj.h | Conjugation of a CudaDenseTensor |
cuda_iszero.h | IsZero function for CUDA tensors |
cuda_iszero_cukrn.h | Cuda isZero kernel implementation header |
cuda_norm.h | Norm and normSqd functions for CUDA dense tensors |
cuda_operators.h | Operators implemented for CUDA dense tensors |
cuda_prod.cpp | Implementation for inc/dense/cuda_prod.h |
cuda_prod.h | Implementations of CUDA products |
cuda_transpose.cpp | Implementation for inc/dense/cuda_transpose.h |
cuda_transpose.h | Transposition functions for CUDA tensors |
cuda_transpose_impl.h | Implementation for CUDA transposition kernels - proxy file to hide kernel header if unused |
cuda_transpose_impl_cukrn.h | CUDA transposition kernel implementation header |
dense.h | DenseTensor support |
dense_conj.h | Complex conjugation of dense tensors |
dense_convenience.h | Convenience functions for dense tensors, to be included by dense.h |
dense_decomposition_depara.h | Deparallelisations of dense tensors |
dense_decomposition_dlin.h | Delinearisation of dense tensors |
dense_eigensolver.cpp | Implementation for inc/dense/dense_eigensolver.h |
dense_eigensolver.h | Eigensolver for a single dense tensor |
dense_insert.cpp | Implementation for inc/dense/dense_sub.h |
dense_insert.h | Copies subtensor out of tensor |
dense_invert.h | Inversion functions for dense tensors |
dense_iter.h | Iterator over a DenseTensor |
dense_kron_exp.h | Kronecker products and other expansions of DenseTensor |
dense_make.h | Dense tensor generators |
dense_operators.h | Operators acting on DenseTensor |
dense_prod.h | Implementation of products/contractions of dense tensors |
dense_prod_base.cpp | Implementation for file inc/dense/dense_prod_base.h |
dense_prod_base.h | BLAS-wrapping functions implementing dense products |
dense_prod_helper.h | Helper functions for the dense products |
dense_prod_special.h | Special cases of dense tensor-tensor contractions, e.g |
dense_prod_tmp_transpose_storage.h | Temporary storage for transposed tensors |
dense_qr.cpp | Implementation for inc/dense/dense_qr.h |
dense_qr.h | QR decomposition of a single dense tensor |
dense_rank.cpp | Implementation for file "inc/dense/dense_rank.h" |
dense_rank.h | Calculates the numerical rank of a dense complex matrix |
dense_solve.cpp | Implementation for inc/dense/dense_solve.h |
dense_solve.h | Solves the dense system A·X = B using a QR decomposition with column pivoting (no row sorting!) |
dense_stability.h | Functions to improve the stability of numerical algorithms working on dense tensors |
dense_svd.cpp | Implementation for inc/dense/dense_svd.h |
dense_svd.h | SVD of a single dense tensor |
dense_transpose.h | Transposing a DenseTensor |
dense_transpose_r2.cpp | Implementations of specialised library-dependent code for rank-2 transpositions |
dense_transpose_r2.h | Matrix transposition functions |
generic.h | A wrapper around specific dense tensor types |
generic_addscaled.h | addScaled implementation for GenericDenseTensor |
generic_iszero.h | isZero() implementation for generic dense tensors |
generic_norm.h | normSqd implementation for generic dense tensors |
generic_operators.h | Some operators implemented for generic dense tensors |
generic_prod.h | Generic dense tensor products |
generic_transpose.h | Forward to generic dense tensor |
helpers.h | A set of helper functions used by dense tensors |
identity.h | An identity dense tensor |
identity_iszero.h | isZero() implementation for identity dense tensors |
identity_norm.h | Implementation for normSqd() for identity tensors |
identity_prod.h | Products involving identity dense tensors |
identity_transpose.h | Dummy implememtation |
offset.h | Offset dense tensor implementation |
offset_addscaled.h | addScaled implementations involving offset dense tensors |
offset_iszero.h | isZero() implementation for offset dense tensors |
offset_norm.h | normSqd() implementation for offset dense tensors |
offset_operators.h | Some operators for OffsetDenseTensor |
offset_transpose.h | Dummy implementation |
► ipeps | |
ctm.cpp | Implementation for ctm.h |
ctm.h | CTM for IPEPS states |
ctm_grow.cpp | Implementation for inc/ipeps/ctm_grow.h |
ctm_grow.h | Growth of CTM rungs |
environment.cpp | Implementation for inc/ipeps/environment.h |
environment.h | Environments for IPEPS states |
expectation_values.cpp | Implementation for file inc/ipeps/expectation_values.h |
expectation_values.h | Expectation value calculation |
exponentials.cpp | Implementation for inc/util/exponentials.h |
exponentials.h | Exponentials of operators |
full_update.cpp | Implementation for inc/ipeps/full_update.h |
full_update.h | Full update for IPEPS |
lattice.cpp | Implementation for 'inc/ipeps/lattice.h' |
lattice.h | Lattice for iPEPS |
norm_tensor.cpp | Implementation for inc/ipeps/norm_tensor.h |
norm_tensor.h | Norm tensor calculation for IPEPS |
operators.cpp | Implementation for inc/ipeps/operators.h |
operators.h | Local and two-body operators for iPEPS |
random_state.cpp | Implementation for `inc/ipeps/random_state.h" |
random_state.h | IPEPS random state generation |
simple_update.cpp | Implementation for inc/ipeps/simple_update.h |
simple_update.h | Simple iPEPS update |
state.cpp | Implementation for 'inc/ipeps/state.h' |
state.h | State file for iPEPS, also stores the CTM for fast evaluation of observables |
tensor_reshapes.cpp | Implementation for inc/ipeps/tensor_reshapes.h |
tensor_reshapes.h | IPEPS-specific tensor reshape operations |
util.cpp | Implementation for 'inc/ipeps/util.h' |
util.h | Utility helpers for PEPS |
► ipeps2 | |
ctm.cpp | Implementation for inc/ipeps2/ctm.h |
ctm.h | Corner transfer matrices for iPEPSv2 |
directional_qrs.cpp | Implementation for inc/ipeps2/directional_qrs.h |
directional_qrs.h | Definition of "directional" QR decompositions on iPEPSv2 state tensors to move the physical index onto a leg |
expectation_values.cpp | Implementation for inc/ipeps2/expectation_values.h |
expectation_values.h | Calculation of iPEPSv2 expectation values |
exponentials.cpp | Implementation for inc/ipeps2/exponentials.h |
exponentials.h | Exponential functions for iPEPSv2 |
full_update.cpp | Implementation for inc/ipeps2/full_update.h |
full_update.h | Full update for iPEPSv2 |
lattice.cpp | Implementation for inc/ipeps2/lattice.h |
lattice.h | Lattices for iPEPSv2 states |
operators.cpp | Implementation for inc/ipeps2/operators.h |
operators.h | Operators on iPEPSv2 lattices |
random_state.cpp | Implementation for inc/ipeps2/random_state.h |
random_state.h | Random state generators for iPEPSv2 |
simple_update.cpp | Implementation for inc/ipeps2/simple_update.h |
simple_update.h | Simple update mechanism for iPEPSv2 |
staging.cpp | Implementation for iPEPSv2 staging configurations |
staging.h | Staging configuration for updates in iPEPSv2 |
state.cpp | Implementation for inc/ipeps2/state.h |
state.h | State objects for the iPEPSv2 formalism |
► mps | |
apply_itrunc_fit.cpp | Implementation for inc/mps/apply_itrunc_fit.h |
apply_itrunc_fit.h | Apply a MPO to a MPS by an initial zip-up round and a subsequent variational optimisation |
chem_helper.cpp | Implementation of inc/mps/chem_helper.h |
chem_helper.h | Helper function to translate sparse representation to syten MPO |
dmrg_parallel.cpp | Implementation for inc/mps/dmrg_parallel.h |
dmrg_parallel.h | Parallel DMRG implementation |
dmrg_worker.cpp | Implementation for inc/mps/dmrg_worker.h |
dmrg_worker.h | DMRG worker implementation |
lattice.cpp | Implementation for lattice.h |
lattice.h | A lattice is essentially a map operator-spec -> MPO with some extra niceties |
lbo_dmrg_parallel.cpp | Implementation for inc/mps/lbo_dmrg_parallel.h |
lbo_dmrg_parallel.h | Parallel LBO-DMRG implementation |
lbo_dmrg_worker.cpp | Implementation for inc/mps/lbo_dmrg_worker.h |
lbo_dmrg_worker.h | DMRG worker implementation |
lbo_state.cpp | Implementation for inc/mps/lbo_state.h |
lbo_state.h | A MPS class including a LBO |
lbo_tdvp.cpp | Implementation for inc/mps/lbo_tdvp.h |
lbo_tdvp.h | LBO-TDVP implementation |
local_expectation.cpp | Implementation for inc/mps/local_expectation.h |
local_expectation.h | Containing the local expectation calculation |
mode_transformation.cpp | Implementation for mode_transformation.h |
mode_transformation.h | Mode Trafo Implementation |
multigrid.cpp | Implementation for inc/mps/multigrid.h |
multigrid.h | Coarse- and fine-graining of lattices and states |
mutual_information.cpp | Implementation for the calculation of the mutual Information of a state or the entropy of a subsystem consiting of one or two sites |
mutual_information.h | Calculate the mutual Information of a state or the entropy of a subsystem consiting of one or two sites |
operator.cpp | Implementation for inc/mps/operator.h |
operator.h | Implementation of a matrix product operator |
operator_applicators.cpp | Implementation for 'inc/mps/operator_applicators.h' |
operator_applicators.h | OperatorApplicator classes for TDVP and DMRG |
orthogonalise_mps.h | Variational orthogonalisation for MPS |
parse_operator.cpp | Implementation for inc/mps/parse_operator.h |
parse_operator.h | Operator parser for MPS lattices/MPO |
proj_purification.cpp | Implementation for inc/mps/proj_purification.h |
proj_purification.h | Functionality to create a projected purification lattice |
random_state.cpp | Implementation for inc/mps/random_state.h |
random_state.h | Generators for random states |
rdm.cpp | Implementation for rdm.h |
rdm.h | A class which makes possible efficient RDM calculation |
smart_state.cpp | Implementation of a MPS with STensors |
smart_state.h | Implementation of a MPS with STensors |
snapshots.cpp | Implementation for inc/mps/snapshots.h |
snapshots.h | A class which makes possible efficient RDM calculation |
state.cpp | Implementation for inc/mps/state.h |
state.h | State class and closely related functions |
switching.cpp | Implementation for inc/mps/switching.h |
switching.h | Functions generating MPOs and MPO components used to switch around the ordering of two sites |
tdvp_parallel.cpp | Implementation for inc/mps/tdvp_parallel.h |
tdvp_parallel.h | Parallel TDVP implementation |
tdvp_worker.cpp | Implementation for inc/mps/tdvp.h |
tdvp_worker.h | TDVP implementation |
varapplyortho_mps.h | Variationally apply an operator to a MPS and orthogonalise against a set of other MPS at the same time |
variance_2site.cpp | Implements variance_2site.h |
variance_2site.h | Functions to calculate the two-site variance approximation, cf |
variational_add.h | Variationally add (scaled) MPS |
► rep | |
rep.cpp | Implementation for inc/rep/rep.h |
rep.h | Implementation of representations of groups |
rep_decomp_register.cpp | Implementation for inc/rep/rep_decomp_register.h |
rep_decomp_register.h | Group representation decompositions |
rep_fundamental.cpp | Implementation for inc/rep/rep_fundamental.h |
rep_fundamental.h | Definitions of fundamental irreps and generation functions |
rep_fwd.h | Forward definitions needed for representation framework |
rep_register.cpp | Implementation for inc/rep/rep_register.h |
rep_register.h | Group representation register, storing the matrix reps of groups |
rep_sector.cpp | Implementation for inc/rep/rep_sector.h |
rep_sector.h | Sector implementation |
► sparse | |
sparse.cpp | Implementation for inc/sparse/sparse.h |
sparse.h | Implements SparseTensor and related functions |
sparse_transpose.h | Transposition of a sparse tensor |
► stensor | |
ad_computenode.cpp | Implementation for file inc/stensor/ad_computenode.h |
ad_computenode.h | Automatic differentation of STensor objects infrastructure |
ad_fwd.h | Forward declarations for automatic differentiation infrastructure |
sbasis.cpp | Implementation for inc/stensor/sbasis.h |
sbasis.h | SBasis class for smart, labelled bases |
stensor.h | Catch-all include for smart tensors |
stensor_apply_parities.cpp | Implementation for inc/stensor/stensor_apply_parities.h |
stensor_apply_parities.h | Apply parity operators on tensor legs |
stensor_base.cpp | Implementation for inc/stensor/stensor_base.h |
stensor_base.h | ‘Smart’ tensor class |
stensor_decomps.cpp | Implementation for inc/stensor/stensor_decomps.h |
stensor_decomps.h | STensor decompositions |
stensor_dummylegs.cpp | Implementation for inc/stensor/stensor_insert_dummy.h |
stensor_dummylegs.h | Insertion of a dummy leg for STensors |
stensor_expansion.cpp | Implementation for inc/stensor/stensor_expansion.h |
stensor_expansion.h | Tensor expansion |
stensor_fixup_cgc.h | Correction method for CGC tensors |
stensor_flip.cpp | Implementation for inc/stensor/stensor_flip.h |
stensor_flip.h | Flipping of leg directions of an STensor |
stensor_fusesplit.cpp | Implementation for file inc/stensor/stensor_fusesplit.h |
stensor_fusesplit.h | Fusing and splitting of STensor bases |
stensor_gen.cpp | Implementation for file inc/stensor/stensor_gen.h |
stensor_gen.h | STensor generation |
stensor_matrixop.cpp | Implementation for inc/stensor/stensor_matrixop.h |
stensor_matrixop.h | Matrix operations for smart tensors |
stensor_normalised.cpp | Implementation for inc/stensor/stensor_normalised.h |
stensor_normalised.h | Helper to normalise a STensor |
stensor_ops.cpp | Implementation for inc/stensor/stensor_ops.h |
stensor_ops.h | Operators for smart tensors |
stensor_prod.cpp | Implementation for inc/stensor/stensor_prod.h |
stensor_prod.h | Products of smart tensors |
stensor_project.cpp | Implementation for inc/stensor/stensor_project.h |
stensor_project.h | Projection of a STensor onto a bais |
stensor_randomise.cpp | Implementation for inc/stensor/stensor_randomise.h |
stensor_randomise.h | Randomisation functions for STensor |
stensor_real_imag.cpp | Implementation for file inc/stensor/stensor_real_imag.h |
stensor_real_imag.h | Function to take real or imaginary part of an STensor |
stensor_registry.cpp | Implementation for inc/stensor/stensor_registry.h |
stensor_registry.h | Registry for STensor objects, allows listing all currently-existing tensor objects at runtime |
stensor_to_dense.cpp | Implementation of stensor_to_dense.h |
stensor_to_dense.h | Transforms a STensor of rank 2 into a DenseTensor<2> |
stensor_transpose.cpp | Implementation for inc/stensor/stensor_transpose.h |
stensor_transpose.h | Transpositions of smart tensors |
stensorproxy.cpp | Implementation for inc/stensor/stensorproxy.h |
stensorproxy.h | Proxy for the ‘smart’ tensor class |
► t3n | |
chem_helper.cpp | Implementation of chem_helper.h |
chem_helper.h | T3N implementation of the chem_helper |
contractions.cpp | Implementation of the application helper class |
contractions.h | Helper class for the application of operator & tensors |
cost_funcs.cpp | Implementation of z2_norm.h |
cost_funcs.h | Implementation of Z2-function for T3NS |
dmrg.cpp | Implementation for dmrg.h |
dmrg.h | T3N-DMRG implementation |
lattice.cpp | Implementation for lattice.h |
lattice.h | A T3N lattice file |
mode_transformation.cpp | Implementation of inc/t3n/mode-transformation.h" |
mode_transformation.h | Mode transformation implementation |
mp2t3n-translator.cpp | Implementation for mp2t3n-translator.h |
mp2t3n-translator.h | A helper object transferring the Tensors of an MPS or MPO to the STensors of an T3NS or T3NO |
mt_functionals.h | Mode transformation utility functionals" |
mutual_information.cpp | Implementation of mutual_information.h |
mutual_information.h | Calculates the mutual information of a state or the entropy of a subsystem consiting of one or two sites |
operator.cpp | Implementation for a T3N operator.h |
operator.h | A T3N operator |
parse_operator.cpp | Implementation for parse_operator.h |
parse_operator.h | Dummy implementation for T3N |
proj_purification.cpp | Implementation for inc/t3n/proj_purification.h |
proj_purification.h | Functionality to create a projected purification lattice |
random-state.cpp | Implementation for random-state.h |
random-state.h | Generators for T3N random state |
rdm.cpp | Implementation for rdm.h |
rdm.h | A class which makes possible efficient RDM calculation |
reordering.cpp | Implementation of reordering.h |
reordering.h | Implementation of an entangelement reordering |
state.cpp | Implementation for state.h |
state.h | A T3N State |
t3n-tensor.cpp | Implementation for a TPO Helper class |
t3n-tensor.h | Container Class Helper for T3N w/ variable Tensor rank |
tdvp.cpp | Implementation for inc/mps/tdvp.h |
tdvp.h | T3N-TDVP implementation |
tree.cpp | Implementation for a T3N tree |
tree.h | Implementation of a T3N tree |
var_trunc.cpp | Implementation of inc/t3n/var_trunc.h |
var_trunc.h | Varationally truncate a T3NS |
► tensor | |
basis.cpp | Implementation for inc/tensor/basis.h |
basis.h | Implementation of tensor leg bases, split into symmetry-protected blocks |
basis_map.cpp | Implementation for file inc/util/basis_map.h |
basis_map.h | A data type similar to Basis which is suitable to quickly check existence of sectors |
tensor.h | Tensor structures |
tensor_add_reduce.h | Reduction of a tensor including tensor block helpers |
tensor_buckets.h | Sorting tensorblocks into buckets according to specific criteria |
tensor_decomposition.cpp | Implementation for file inc/tensor/tensor_decomposition.h |
tensor_decomposition.h | Decomposition of Tensor objects |
tensor_decomposition_eigen.cpp | Implementation for inc/tensor/tensor_decomposition_eigen.h |
tensor_decomposition_eigen.h | Eigendecomposition for rank-2 Tensor objects |
tensor_delinearise.h | Gram-Schmidt decomposition/orthogonalisation of Tensor objects |
tensor_deparallelise.h | Simple deparallelisation of Tensor objects |
tensor_exponential.cpp | Implementation for inc/tensor/tensor_exponential.h |
tensor_exponential.h | Exponentials of tensors |
tensor_fixup_cgc.h | Correction method for CGC tensors |
tensor_flips.h | insertIO*() functions which flip a tensor leg |
tensor_gen.cpp | Implementation for inc/tensor/tensor_gen.h |
tensor_gen.h | Generation of symmetry-protected Tensor objects |
tensor_misc.cpp | Implementation for inc/tensor/tensor_misc.h |
tensor_misc.h | Various functions acting on Tensor |
tensor_norm.h | Calculates tensor norms |
tensor_operators.h | Operators acting on Tensor |
tensor_prod.h | Tensor-Tensor products |
tensor_pseudoinvert.cpp | Implementation for inc/tensor/tensor_pseudoinvert.h |
tensor_pseudoinvert.h | Pseudo-inverts a rank-2 tensor using SVD |
tensor_qr.h | QR Decomposition of Tensor objects |
tensor_storage_info.cpp | Implementation for inc/tensor/tensor_storage_info.h |
tensor_storage_info.h | Storage informational functions for Tensor objects |
tensor_svd.h | SVD of Tensor objects |
tensor_swaps.h | insertSwap() function which inserts a swap gate on two tensor legs |
tensor_to_dense.cpp | Implementation of tensor_to_dense.h |
tensor_to_dense.h | Transforms a Tensor<2> into a DenseTensor<2> |
tensorblock.h | TensorBlock and related functions |
tensorblock_handle_fermions.h | Helpers to deal with fermions within TensorBlock structures |
tensorblock_operators.cpp | Implementation for inc/tensor/tensorblock.cpp |
tensorblock_operators.h | Operators for TensorBlock |
truncation.cpp | Implementation for inc/tensor/truncation.h |
truncation.h | Truncation specification |
► util | |
► qc | |
integral.cpp | Implementation of inc/util/qc/integral.h |
integral.h | The Integral class is to hold one- and two-electron integrals in the chemists' notation |
model.cpp | Implementation of inc/util/qc/model.h |
model.h | Contains the model |
mpo_constructor.cpp | Implementation of inc/util/qc/mpo_constructor.h |
mpo_constructor.h | The class that actually constructs the MPO |
mpo_descriptor.cpp | Implementation of inc/util/qc/mpo_descriptor.h |
mpo_descriptor.h | Description of sparse MPO |
mpo_tensor.cpp | Implementation of inc/util/qc/mpo_tensor.h |
mpo_tensor.h | Object representing the MPO tensor |
operator_term.cpp | Implementation of inc/util/qc/operator_term.h |
operator_term.h | Class QCDMRG::OperatorTerm The OperatorTerm is the product of some of the single-site operators, such as the one-electron operator t_{ij} \times \hat{c}^{\dagger}_{i} \hat{c}_{j} and the two-electron operator v_{ijkl} \times \hat{c}^{\dagger}_{i} \hat{c}^{\dagger}_{k} \hat{c}_{l} \hat{c}_{j} |
params.h | An object containing all QC Hamiltonian parameters |
prempo_key.h | Prempo_key type |
sso.h | Single-Site Operator class for development purpose, not for practice |
su2u1_config.cpp | Definition of inc/util/qc/su2u1_config.h |
su2u1_config.h | Definition of the SU2U1 SSOs |
symmetry.cpp | Implementation of inc/util/qc/symmetry.h |
symmetry.h | Abel Groups: C1, Ci, Cs, C2, C2v, C2h, D2 and D2h |
typedefs.h | Typedefs for the QC Hamiltonian |
u1u1_config.cpp | Definition of inc/util/qc/u1u1_config.h |
u1u1_config.h | Definition of the U1U1 SSOs |
utils.h | Utilities necessary for the QC Hamiltonian |
abs_real_imag_conj.h | Implementations of abs(), real(), conj() and imag() |
array.h | A nicer array |
backtrace.cpp | Implementation for file inc/util/backtrace.h |
backtrace.h | Backtracing implementation |
binary_tree.cpp | Implementation for inc/util/binary_tree.h |
binary_tree.h | A binary tree |
bitset.h | A bitset with overloaded operator, can be used to define flag-like enums |
blas-wrapper.cpp | Implementation for inc/util/blas-wrapper.h |
blas-wrapper.h | A wrapper for BLAS functions used in the toolkit |
boost_serialise_flat_map.h | Serialisation of a flat_map via Boost |
boost_serialise_tuple.h | Serialisation of a tuple via Boost |
boost_versioning.cpp | Implementation for inc/util/boost_versioning.h |
boost_versioning.h | Boost versioning |
bpo_helper.h | Helper macros to handle repetitive use of boost::program_options |
cached_type.cpp | Implementation for inc/util/cached_type.h |
cached_type.h | Cached Type |
cached_type_async.cpp | Instantiations of variables used in cached_type_async.h |
cached_type_async.h | Asynchronous cached type |
closeness.h | Functions to decide whether two values are close (to zero) |
common_exceptions.h | Some common exception classes to ease catching |
configuration.h | Compile-time configuration |
constants.h | Common numerical scalar constants in the currently-effective type |
converting_iterator.h | Converting iterator implementation |
ctor_tester.cpp | Implementation for ctor_tester.h |
ctor_tester.h | A test object to check that no unnecessary copy operations have taken place |
cublas_support.cpp | Implementation for cublas_support.h |
cublas_support.h | Support functions for using CuBLAS |
cuda_dot_cukrn.h | A custom, naive CUDA dot product for complex scalars |
cuda_dynarray.cpp | Implementation for inc/util/cuda_dynarray.h |
cuda_dynarray.h | A runtime fixed-size array type backed by CUDA storage if available |
cuda_span.cpp | Implementation for inc/util/cuda_span.h |
cuda_span.h | A non-owning object for a continuous region of memory |
cuda_support.cpp | Implementation for inc/util/cuda_support.h |
cuda_support.h | Support functions for CUDA-based GPUs |
demangle.cpp | Implementation for inc/util/demangle.h |
demangle.h | Demangles a type name into a string |
dynarray.cpp | Implementation for inc/util/dynarray.h |
dynarray.h | Simple wrapper around malloc/free |
envvars.cpp | Implementation for inc/util/info_reordering.h |
envvars.h | Header for environment variables and associated static variables |
exit_codes.h | Some common exit codes |
fcidump.cpp | Implementation of the FCIDUMP loader |
fcidump.h | Helper functions to read in FCIDUMP files |
fermionic.cpp | Implementation for inc/util/fermionic.h |
fermionic.h | Fermionic statistics specification |
filename_extensions.h | File names for common file types |
format.h | Wrapper around fmt::format and friends to produce sensible error messages |
free_unused_memory.cpp | Implementation for inc/util/free_unused_memory.h |
free_unused_memory.h | Frees unused memory, both allocated by the MKL and glibc |
genblas_include.h | Include for generic BLAS implementations without special treatment |
generators.cpp | Implementation of generators.h |
generators.h | Helper functions to get SU(n) generators |
grid.cpp | Implementation for inc/util/grid.h |
grid.h | A two-dimensional storage class much like a matrix but with some additional niceties |
half_int.h | Half-integer implementation |
high_precision.cpp | Implementation for inc/util/high_precision.h |
high_precision.h | High-precision scalar, uses Boost under the hood |
history.cpp | Implementation for inc/util/history.h |
history.h | History/log implementation |
is_not_streamcontrol.h | Templates to check whether a type is not a stream control type |
isnan.h | Implementation for isnan() for various types |
l_malloc.cpp | Implementation for file inc/util/l_malloc.h |
l_malloc.h | Aligned memory allocation functions |
le_malloc.cpp | Implementation for file inc/util/le_malloc.h |
le_malloc.h | Aligned, pooled memory allocation function and allocator |
le_malloc_mtx.cpp | Implementation of inc/util/le_malloc_mtx.h |
le_malloc_mtx.h | The mutex soley responsible for le_malloc.h |
limvec.h | A "limited" vector implementation |
log.cpp | Implementation for file inc/util/log.h |
log.h | Logging facilities |
lz4_filter.cpp | Implementation for inc/util/lz4_filter.h |
lz4_filter.h | Implements a symmetric Boost IO filter for LZ4 compression |
macros.h | Simple macros |
memory_sampler.cpp | Implementation for inc/util/memory_sampler.h |
memory_sampler.h | A little memory sampling tool, measuring RSS and writing to an output file |
memory_size.cpp | Implementation for file inc/util/memory_size.h |
memory_size.h | Memory size informational functions |
mkl_include.h | If we use the MKL, we need to define various bits beforehand |
mpi_include.h | Input file for MPI |
mt_util.h | Optimization scheme for mode_transformation.h |
omp_loop.h | OMP macros |
openblas_include.h | Include for OpenBLAS implementation |
output.cpp | Implementation for inc/util/output.h |
output.h | Output formatting and helper functions |
pair.h | A proxy object for std::pair to allow overloads of operator>> and operator<< |
persistent.cpp | Implementation for inc/util/persistent.h |
persistent.h | Saving, loading, caching and uncaching of objects using the boost libraries |
random.cpp | Implementation for file inc/util/random.h |
random.h | Random number generator engine generator |
random_hash.cpp | Implementation of random_hash.h |
random_hash.h | Generates a random hash |
restrict.cpp | Implementation for inc/util/restrict.h |
restrict.h | restrict function to map an index into a range |
scalars.h | Common scalar types and overloads, if necessary |
select_cutoffs.h | Functions to select a cutoff iterator from an iterator range |
shift_args.h | Functions to shift arguments into an ostream |
signals.cpp | Implementation for inc/util/signals.h |
signals.h | Signal catching support |
span.h | A non-owning object for a continuous region of memory |
stl_overloads.h | Overloads of output operators with STL types |
string_replace.h | Implements a string-replacement utility |
swap_gate.cpp | Implementation for swap_gate.h |
swap_gate.h | Swap gates for T3N-systems |
tensor_timer.h | Timer storage for tensor products and decompositions |
tensor_timer_bare.cpp | Implementation for inc/tensor/tensor_timer.h |
tensor_timer_bare.h | Timer storage for tensor products and decompositions |
terminator.cpp | Implementation for file inc/util/terminator.h |
terminator.h | Std::terminate replacement |
test.cpp | Implementation for test.h |
test.h | Helper functions for executable tests |
threads.cpp | Implementation for inc/util/threads.h |
threads.h | Threading configuration helpers |
thresholds.h | Numerical Thresholds |
time_output.h | Provides timing output |
timer.cpp | Implementation for timer.h |
timer.h | Contains a simple timing class |
toggle_enums.cpp | Implementation for inc/util/toggle_enums.h |
toggle_enums.h | Toggle-like enums and similar objects used throughout the library |
types.h | A set of utility types to deal with type resolution and basic definitions |
vec.h | A nicer vector |
vectors.cpp | Implementation for inc/util/vectors.h |
vectors.h | Vector and array helpers |
version.cpp | Implementation for file inc/util/version.h |
version.h | Function to print versioning information to std::cerr |
warning_msgs.cpp | Implementation for file inc/util/warning_msgs.h |
warning_msgs.h | Helpers for SYTEN_ASSERT, SYTEN_WARN and SYTEN_MSG |
▼ lat | |
► ipeps | |
nil.cpp | Implementation for lat/ipeps/nil.h |
nil.h | Implements iPEPS lattices without any symmetries |
su2.cpp | Implementation for lat/ipeps/su2.h |
su2.h | SU(2) iPEPS lattice generators |
su2u1.cpp | Implementation for lat/ipeps/su2u1.h |
su2u1.h | Implementation of \mathrm{SU}(2) \times \mathrm{U}(1) -symmetric IPEPS lattices |
u1.cpp | Implementation for lat/ipeps/u1.h |
u1.h | Implements U(1) symmetric iPEPS lattices |
u1u1.cpp | Implementation for lat/ipeps/u1u1.h |
u1u1.h | Implements U(1) \times U(1) -symmetric iPEPS lattices |
z2.cpp | Implementation for lat/ipeps/z2.h |
z2.h | Implements \mathbb{Z}_2 symmetric iPEPS lattices |
► ipeps2 | |
bosonic.cpp | Implementation for `lat/ipeps2/bosonic.h" |
bosonic.h | Definition of iPEPSv2 lattice files for bosonic systems |
fermionic.cpp | Implementation for lat/ipeps2/fermionic.h |
fermionic.h | Definition of iPEPSv2 lattice files for fermionic systems |
spin.cpp | Implementation for lat/ipeps2/spin.h |
spin.h | Definition of iPEPSv2 lattice files for spin systems |
► mps | |
4u1.cpp | Implementation for lat/mps/u1u1u1u1.h |
4u1.h | Lattices with four U(1) symmetries |
fermion.cpp | Implementation for lat/mps/fermion.h |
fermion.h | Parity generators for fermions |
fermion_grand_canonical.cpp | Implementation of fermion_grand_canonical.h |
fermion_grand_canonical.h | Parity generators for fermions with only SU(2) symmetry |
gce-u1.cpp | Implementation for lat/mps/gce-u1.h |
gce-u1.h | Lattices for finite-temperature calculations in a grand canonical ensemble with a single U(1) symmetry |
gce-u1u1.cpp | Implementation for lat/mps/gce-u1u1.h |
gce-u1u1.h | Grand canonical lattices with two U(1) symmetries |
kspace-helpers.cpp | Implementation for lat/mps/kspace-helpers.h |
kspace-helpers.h | Helpers for k-space lattices |
mt_lat.h | General interface for mode_transformation.h |
nil.cpp | Implementation for lat/mps/nil.h |
nil.h | Lattices with no symmetries |
qc_lattice.cpp | Implementation of lat/mps/qc_lattice.h |
qc_lattice.h | Constructs dense Hamiltonian from FCIDUMP file |
reordering-helpers.cpp | Implementation for lat/mps/reordering-helpers.h |
reordering-helpers.h | Helpers for reordering lattice sites |
sql-helpers.cpp | Implementation for lat/mps/sql-helpers.h |
sql-helpers.h | Square lattice helpers |
su2.cpp | Implementation for lat/mps/su2.h |
su2.h | Implements models with a single SU(2) symmetry |
su2_conv.cpp | Implementation for su2_conv.h |
su2_conv.h | Support for casting an MPS with sole SU(2) spin symmetry into a state which also conserves particle number |
su2fermion.cpp | Implementation for lat/inc/su2u1.h |
su2fermion.h | MPS Lattices with \textrm{SU(2)} symmetries for Fermions |
su2u1.cpp | Implementation for lat/mps/su2u1.h |
su2u1.h | MPS Lattices with \textrm{SU(2)} \times \textrm{U(1)} symmetries |
su2u1z.cpp | Implementation for lat/mps/su2u1z.h |
su2u1z.h | MPS Lattices with \textrm{SU(2)} \times \textrm{U(1)} \times
\mathbb{Z}_n symmetries |
su3.cpp | Implementation for lat/mps/su3.h |
su3.h | Implement models with a single SU(3) symmetry |
u1.cpp | Implementation for lat/mps/u1.h |
u1.h | Lattices with a single U(1) symmetry |
u1u1.cpp | Implementation for lat/mps/u1u1.h |
u1u1.h | Lattices with U(1) \times U(1) symmetries |
u1u1u1.cpp | Implementation for lat/mps/u1u1u1.h |
u1u1u1.h | Lattices with U(1) \times U(1) \times U(1) symmetries |
u1u1z.cpp | Implementation for lat/mps/u1u1z.h |
u1u1z.h | Lattices with \mathbb{Z}_n \times U(1) \times U(1) symmetries |
► t3n | |
fermion.cpp | Implementation for lat/t3n/fermion.h |
fermion.h | Parity generators for fermions |
qc_lattice.cpp | Implementation of qc_lattice.h |
qc_lattice.h | Quantum chemistry lattice for SMP in T3N framework |
su2.cpp | Implementation for lat/t3n/su.h |
su2.h | Implementation of the SU(2) symmetry |
su2u1.cpp | Implementation of su2u1.h |
su2u1.h | T3N lattice with SU(2) times U(1) symmetry |
su2u1z.cpp | Implementation for lat/t3n/su2u1z.h |
su2u1z.h | T3N Lattices with \textrm{SU(2)} \times \textrm{U(1)} \times
\mathbb{Z}_n symmetries |
u1.cpp | Implementation for lat/T3N/u1.h |
u1.h | T3N lattices with \textrm{U(1)} symmetries |
u1u1.cpp | Implementation for lat/t3n/u1u1.h |
u1u1.h | T3N lattices with \textrm{U(1)} \times \textrm{U(1)} symmetries |
u1u1u1.cpp | Implementation for lat/t3n/u1u1u1.h |
u1u1u1.h | Lattices with U(1) \times U(1) \times U(1) symmetries |
u1u1z.cpp | Implementation for lat/t3n/u1u1z.h |
u1u1z.h | T3N Lattices with \textrm{U(1)} \times \textrm{U(1)} \times
\mathbb{Z}_n symmetries |
syten-fT-mps-spin.cpp | A finite temperature spin chain lattice with U(1) symmetry |
syten-mps-boson-spinless-nil.cpp | Creates a model of spinless bosons with no symmetries |
syten-mps-boson-spinless-u1.cpp | Creates a U(1)-symmetric model of spinless bosons |
syten-mps-fermi-hubbard-qc.cpp | Quantum chemistry model with two- and four-operator terms |
syten-mps-fermi-hubbard-u1-spinless.cpp | Creates a U(1) Fermi-Hubbard model |
syten-mps-fermi-hubbard-u1su2.cpp | Creates a U(1)_N×SU(2)_S Fermi-Hubbard model |
syten-mps-fermi-hubbard-u1u1.cpp | Creates a U(1)×U(1) Fermi-Hubbard model |
syten-mps-klm.cpp | Creates a \mathrm{U}(1)_N \times \mathrm{SU}(2)_S (charge × spin)-symmetric Kondo Lattice Model |
syten-mps-qc.cpp | Quantum chemistry model with two- and four-operator terms |
syten-mps-spin-disorder-avg.py | Constructs a square MPS lattice with periodic boundary conditions and some kind of disorder |
syten-mps-spin-su3.cpp | Creates a SU(3) symmetric spin model |
syten-mps-ssh-fermi-bose.cpp | Creates a model of bosonic and fermionic sites, with no symmetries (bosons) and u1u1 symmetries (fermions) |
syten-sql-mps-fermi-hubbard-kns.cpp | Creates a {\mathbb{Z}_W} \times \mathrm{U}(1) \times
\mathrm{SU}(2) (momentum × charge × spin)-symmetric or a {\mathbb{Z}_W} \times \mathrm{U}(1) \times
\mathrm{U}(1) (momentum × charge × z-spin)-symmetric 2D real/momentum space Fermi-Hubbard model |
syten-sql-mps-fermi-hubbard.cpp | Creates a square Fermi-Hubbard \mathrm{SU}(2)_{\textrm{Spin}}
\times \mathrm{U}(1)_{\textrm{Charge}} lattice |
syten-sql-mps-spin.cpp | Creates a square spin lattice |
syten-sql-mps-tJ.cpp | Creates a square t-J lattice with \mathrm{U}(1)_N \times
\mathrm{U}(1)_{S^z} symmetry |
▼ python_module | |
► cpp_pyten | |
► alg | |
alg.cpp | Collection of bits from inc/alg/ exposes to Python |
basis-trafo.cpp | Exposes functionality from inc/alg/basis-trafo.h |
dmrg.cpp | Exposes functionality from inc/alg/dmrg.h |
energy_truncation.cpp | Exposes energy truncation |
iterative.cpp | Exposes " inc/alg/dmrg.h` contents |
krylov.cpp | Exposes Krylov config functionality |
tdvp.cpp | Exposes functionality from inc/alg/tdvp.h |
► eigensolver | |
eigensolver.cpp | Collection of eigensolver calls |
► examples | |
basic_dmrg.py | Basic DMRG implementationDo not use this for actual calculations, only for illustrative purposes! |
example-dmrg.py | Example Python script calling DMRG |
► inc | |
custom_wrappers.h | Template specialisations to let pybind11 understand our custom Array and Vec types |
expose_class.h | Helpers for exposing C++ classes and functions to Python via pybind11 |
expose_yesno.h | Helper for exposing a C++ YesNo struct |
pyb.h | PyBind header inclusion helper |
► ipeps | |
ipeps.cpp | Exposes iPEPS tools to Python |
ipeps_expectation_values.cpp | Exposes IPEPS::expectation() |
ipeps_latgen.cpp | Exposes lattice generators from lat/ipeps/ |
ipeps_lattice.cpp | Exposes IPEPS::Lattice |
ipeps_ops.cpp | Exposes iPEPS OneOperator, TwoOperator etc |
ipeps_state.cpp | Exposes iPEPS State etc |
ipeps_tensor_reshapes.cpp | Exposes ipeps-specific tensor reshape ops |
ipeps_updates.cpp | Exposes the iPEPS update functions |
ipeps_util.cpp | Exposes iPEPS utilities |
► ipeps2 | |
ipeps2.cpp | Exposes iPEPSv2 tools to Python |
ipeps2_functions.cpp | Exposes IPEPSv2 functions for updates, expectation values etc |
ipeps2_latgen.cpp | Exposes IPEPSv2 lattice generators |
ipeps2_lattice.cpp | Exposes IPEPSv2::Lattice and operators |
ipeps2_state.cpp | Exposes IPEPSv2::State and CTMs |
ipeps2_updates.cpp | Exposes IPEPSv2 update structs and functions |
► mps | |
dmrg.cpp | Exposes MPS-DMRG |
energy_truncation.cpp | Exposes MPS - Energy Truncation |
krylov.cpp | Exposes MPS-Krylov |
mp.cpp | Exposes MPS-tools to Python |
mp_latgen.cpp | Exposes lattice generators from lat/mps/ |
mp_multigrid.cpp | Exposes MPS-multigrid functions |
mpl.cpp | Exposes MP-lattices and operators |
mps.cpp | Exposes MPS functionality |
proj_pur.cpp | Exposes projected purification functionality |
random.cpp | Exposes MPS random generation |
rdm.cpp | Exposes RDMs |
snapshots.cpp | Exposes Snapshots for MPS |
tdvp.cpp | Exposes MPS-TDVP |
variance.cpp | Exposes MPS-variance functions |
variational_add.cpp | Exposes MPS - Variational Addition |
► t3n | |
dmrg.cpp | Exposes T3N-DMRG |
krylov.cpp | Exposes T3N-Krylov |
proj_pur.cpp | Exposes projected purification functionality |
random.cpp | Exposes T3N random generators |
rdm.cpp | Exposes RDMs |
t3n.cpp | Exposes T3N-tools to Python |
t3n_latgen.cpp | Exposes lattice generators from 'lat/t3n' |
t3n_types.cpp | Exposes some t3n related stuff to pythen |
t3nl.cpp | Exposes T3N Lattices to pythen |
t3no.cpp | Exposes T3N Operators to pythen |
t3ns.cpp | Exposes T3NS class |
tdvp.cpp | Exposes T3N-TDVP |
► tensor | |
basis.cpp | Exposes Basis, Sector, Rep etc |
dense.cpp | Exposes DenseTensor<> up to rank-8 |
dense_mult.cpp | Exposes DenseTensor<> multiplications up to rank-8 |
sparse.cpp | Expose SparseTensor<> |
stensor.cpp | Exposes STensor and related functions |
tensor.cpp | Exposes Tensor<> up to rank-8 |
tensor_decomp.cpp | Exposes tensor decompositions |
tensor_mult.cpp | Exposes Tensor<> multiplication as currently used up to rank-8 |
truncation.cpp | Exposes the Truncation struct |
► util | |
cache.cpp | Exposes caching infrastructure |
env.cpp | Exposes environment variables infrastructure |
fermionic.cpp | Exposes Fermionic and FermionicWhen |
history.cpp | Exposes the History and HistoryElement types |
log.cpp | Exposes logging infrastructure |
misc.cpp | Exposes misc |
multiprec.cpp | Exposes the CDef type |
random.cpp | Exposes random functionality |
threads.cpp | Exposes threading infrastructure |
types.cpp | Exposes types |
util.cpp | Collection of utility parts |
cpp_pyten.cpp | Compiles into the pyten.so Python3 module |
► pyten | |
► mphelpers | |
► fin_temp | |
tebd.py | A TEBD implementation for local Hamiltonians in finite temperature MP |
► lat | |
nil.py | Python lattices without symmetries |
u1u1.py | Python lattices with two u1 symmetries |
gc.py | Helper functionality for grand canonical lattices |
► util | |
pptypes.py | Types used in the PP pseudo bins |
__init__.py | Main entry point for Python module |
argparse_adapt.py | Helpers to add and handle standard arguments when used in combination with Python's ArgumentParser |
helpers.py | Some useful Python-side helpers to make calling into Pyten easier |
lattice_generators.py | Some standard lattice generators, partially as example code |