mps-0.0.0
MatrixProductStatesinC++
 All Data Structures Namespaces Functions Variables Enumerations Enumerator Groups Pages
mps Namespace Reference

Namespace for classes and algorithms related to Matrix Product States, DMRG and similar methods. More...

Data Structures

class  ArnoldiSolver
 Time evolution with the Arnoldi method. More...
 
class  CMPO
 Real matrix product structure. More...
 
class  CMPS
 Real matrix product structure. More...
 
class  ConstantHamiltonian
 1D Hamiltonian, constant but with no translational invariance More...
 
class  ForestRuthSolver
 Forest-Ruth method. More...
 
class  Hamiltonian
 Base class for 1D lattice Hamiltonians. More...
 
class  iTEBD
 An infinite Matrix Product State with translational invariance but using two tensors: one for odd and one for even sites. More...
 
class  Lattice
 Class representing fermionic or hard-core-bosons particles hopping in a finite lattice. More...
 
class  LinearForm
 Internal representation of a MPS as a linear form. More...
 
class  QuadraticForm
 Internal representation of a MPO as a quadratic form. More...
 
class  RMPO
 Real matrix product structure. More...
 
class  RMPS
 Real matrix product structure. More...
 
class  TIHamiltonian
 1D Hamiltonian, translationally invariant and constant. More...
 
class  TimeSolver
 General class for time evolution. More...
 
class  Trotter2Solver
 Trotter method with only two passes. More...
 
class  Trotter3Solver
 Trotter method with three passes. More...
 

Functions

const RMPS apply_local_operator (const RMPS &psi, const RTensor &op, index site)
 Apply a local operator on the given site. More...
 
const CMPS apply_local_operator (const CMPS &psi, const CTensor &op, index site)
 Apply a local operator on the given site. More...
 
const RMPS canonical_form (const RMPS &psi, int sense=-1)
 Rewrite a RMPS in canonical form. More...
 
const CMPS canonical_form (const CMPS &psi, int sense=-1)
 Rewrite a CMPS in canonical form. More...
 
const RMPS canonical_form_at (const RMPS &psi, index site)
 Rewrite a RMPS in canonical form on both sides of 'site'. More...
 
const CMPS canonical_form_at (const CMPS &psi, index site)
 Rewrite a CMPS in canonical form on both sides of 'site'. More...
 
const RMPS cluster_state (index length)
 Create a cluster state. More...
 
RTensor coherent_state (double alpha, int nmax)
 Real coherent state truncated to a maximum of 'nmax' bosons. More...
 
CTensor coherent_state (cdouble alpha, int nmax)
 Complex coherent state truncated to a maximum of 'nmax' bosons. More...
 
RSparse creation_operator (int nmax)
 Fock creation operator truncated to a maximum of 'nmax' bosons. More...
 
void decompose_operator (const RTensor &U, RTensor *O1, RTensor *O2)
 Schmidt decomposition of a real operator. More...
 
void decompose_operator (const CTensor &U, CTensor *O1, CTensor *O2)
 Schmidt decomposition of a complex operator.
 
RSparse destruction_operator (int nmax)
 Fock destruction operator truncated to a maximum of 'nmax' bosons. More...
 
const Indices dimensions (const RMPS &psi)
 Physical dimensions of the state. More...
 
const Indices dimensions (const CMPS &psi)
 Physical dimensions of the state. More...
 
double energy (const RiTEBD &psi, const RTensor &Op12)
 Expected value of the two-site operator Op12 acting on 'site' and 'site+1'. More...
 
double energy (const CiTEBD &psi, const CTensor &Op12)
 Expected value of the two-site operator Op12 acting on 'site' and 'site+1'. More...
 
double entropy (const RTensor &t)
 Compute the von Neumann entropy. More...
 
template<class Tensor >
const iTEBD< Tensor > evolve_itime (iTEBD< Tensor > psi, const Tensor &H12, double dt, tensor::index nsteps, double tolerance=-1, tensor::index max_dim=0, tensor::index deltan=1, int method=1, std::vector< double > *energies=0, std::vector< double > *entropies=0)
 Evolve an iTEBD in imaginary time, using the local Hamiltonian H12 on state psi. More...
 
double expected (const RMPS &psi, const Hamiltonian &H, double t)
 Expected value of a Hamiltonian over a matrix product state. More...
 
double expected (const CMPS &psi, const Hamiltonian &H, double t)
 Expected value of a Hamiltonian over a matrix product state. More...
 
double expected (const RMPS &a, const RTensor &Op1, index k)
 Compute a single-site expected value. More...
 
cdouble expected (const RMPS &a, const CTensor &Op1, index k)
 Compute a single-site expected value. More...
 
cdouble expected (const CMPS &a, const CTensor &Op1, index k)
 Compute a single-site expected value. More...
 
cdouble expected (const CMPS &a, const CTensor &Op1)
 Add the expectation values a single-site operator over the lattice. More...
 
double expected (const RMPS &a, const RTensor &op1, index k1, const RTensor &op2, index k2)
 Compute a two-site correlation. More...
 
cdouble expected (const RMPS &a, const CTensor &op1, index k1, const CTensor &op2, index k2)
 Compute a two-site correlation. More...
 
cdouble expected (const CMPS &a, const CTensor &op1, index k1, const CTensor &op2, index k2)
 Compute a two-site correlation. More...
 
RTensor expected (const RMPS &a, const RTensor &op1, const RTensor &op2)
 Compute all two-site correlations. More...
 
CTensor expected (const CMPS &a, const CTensor &op1, const CTensor &op2)
 Compute all two-site correlations. More...
 
RTensor expected (const RMPS &a, const std::vector< RTensor > &op1, const std::vector< RTensor > &op2)
 Compute all two-site correlations. More...
 
CTensor expected (const CMPS &a, const std::vector< CTensor > &op1, const std::vector< CTensor > &op2)
 Compute all two-site correlations. More...
 
double expected (const RiTEBD &psi, const RTensor &Op, int site=0)
 Expected value of an operator acting on 'site'. More...
 
double expected (const RiTEBD &psi, const RTensor &Op1, const RTensor &Op2)
 Expected value of two operators, acting on sites '0' and '1'. More...
 
cdouble expected (const CiTEBD &psi, const CTensor &Op, int site=0)
 Expected value of an operator acting on 'site'. More...
 
cdouble expected (const CiTEBD &psi, const CTensor &Op1, const CTensor &Op2)
 Expected value of two operators, acting on sites '0' and '1'. More...
 
double expected12 (const RiTEBD &psi, const RTensor &Op12, int site=0)
 Expected value of the two-site operator Op12 acting on 'site' and 'site+1'. More...
 
cdouble expected12 (const CiTEBD &psi, const CTensor &Op12, int site=0)
 Expected value of the two-site operator Op12 acting on 'site' and 'site+1'. More...
 
RTensor expected_vector (const RMPS &a, const RTensor &Op1)
 Compute all expected values of a single operator over the chain. More...
 
RTensor expected_vector (const RMPS &a, const std::vector< RTensor > &Op1)
 Compute all expected values, with a different operator over each site of the chain. More...
 
CTensor expected_vector (const CMPS &a, const CTensor &Op1)
 Compute all expected values of a single operator over the chain. More...
 
CTensor expected_vector (const CMPS &a, const std::vector< CTensor > &Op1)
 Compute all expected values, with a different operator over each site of the chain. More...
 
const RMPS ghz_state (index length, bool periodic=false)
 Create a GHZ state. More...
 
const RiTEBD infinite_aklt_state ()
 Infinitely long, one-dimensional AKLT state. More...
 
const RiTEBD infinite_cluster_state ()
 Infinitely long, one-dimensional cluster state. More...
 
const RiTEBD infinite_ghz_state ()
 Infinite long, one-dimensional GHZ state. More...
 
const RTensor mps_to_vector (const RMPS &mps)
 Convert a RMPS to a complex vector, contracting all tensors. More...
 
const CTensor mps_to_vector (const CMPS &mps)
 Convert a CMPS to a complex vector, contracting all tensors. More...
 
double norm2 (const RMPS &psi)
 Norm of a RMPS. More...
 
double norm2 (const CMPS &psi)
 Norm of a CMPS. More...
 
const RMPS normal_form (const RMPS &psi, int sense=-1)
 Rewrite a RMPS in canonical form, normalizing. More...
 
const CMPS normal_form (const CMPS &psi, int sense=-1)
 Rewrite a CMPS in canonical form, normalizing. More...
 
const RMPS normal_form_at (const RMPS &psi, index site)
 Rewrite a RMPS in canonical form, normalizing. More...
 
const CMPS normal_form_at (const CMPS &psi, index site)
 Rewrite a CMPS in canonical form, normalizing. More...
 
RSparse number_operator (int nmax)
 Fock number operator truncated to a maximum of 'nmax' bosons. More...
 
const RTensor Pauli_id (igen<< 2<< 2, rgen<< 1.0<< 0.0<< 0.0<< 1.0)
 $\sigma_x$ Pauli matrix
 
const RMPS product_state (index length, const tensor::RTensor &local_state)
 Create a product state. More...
 
const CMPS product_state (index length, const tensor::CTensor &local_state)
 Create a product state. More...
 
double scprod (const RMPS &psi1, const RMPS &psi2)
 Scalar product between MPS. More...
 
cdouble scprod (const CMPS &psi1, const CMPS &psi2)
 Scalar product between MPS. More...
 
void set_canonical (RMPS &psi, index site, const RTensor &A, int sense, bool truncate=true)
 Store a tensor in a matrix product state in the canonical form. More...
 
void set_canonical (CMPS &psi, index site, const CTensor &A, int sense, bool truncate=true)
 Store a tensor in a matrix product state in the canonical form. More...
 
void set_canonical_2_sites (RMPS &P, const RTensor &Pij, index site, int sense, index Dmax=0, double tol=-1, bool canonicalize_both=true)
 Update an MPS with a tensor that spans two sites, (site,site+1). More...
 
void set_canonical_2_sites (CMPS &P, const CTensor &Pij, index site, int sense, index Dmax=0, double tol=-1, bool canonicalize_both=true)
 Update an MPS with a tensor that spans two sites, (site,site+1). More...
 
const CSparse sparse_1d_hamiltonian (const CSparse &H12, const CSparse &H1, index N, bool periodic)
 Create the Hamiltonian of a translationary invariant model. More...
 
const RSparse sparse_1d_hamiltonian (const RSparse &H12, const RSparse &H1, index N, bool periodic)
 Create the Hamiltonian of a translationary invariant model. More...
 
const CSparse sparse_hamiltonian (const Hamiltonian &H, double t=0.0)
 Create a sparse matrix using the information in Hamiltonian. More...
 
void spin_operators (double s, CTensor *sx, CTensor *sy, CTensor *sz)
 Compute the angular momentum operators for a given total spin.
 
double string_order (const RiTEBD &psi, const RTensor &Opi, int i, const RTensor &Opmiddle, const RTensor &Opj, int j)
 String order parameter between sites 'i' and 'j', both included. More...
 
RTensor string_order (const RiTEBD &psi, const RTensor &Opi, const RTensor &Opmiddle, const RTensor &Opj, int N)
 String order parameter between sites '0' and up to 'N-1', both included. More...
 
cdouble string_order (const CiTEBD &psi, const CTensor &Opi, int i, const CTensor &Opmiddle, const CTensor &Opj, int j)
 String order parameter between sites 'i' and 'j', both included. More...
 
CTensor string_order (const CiTEBD &psi, const CTensor &Opi, const CTensor &Opmiddle, const CTensor &Opj, int N)
 String order parameter between sites '0' and up to 'N-1', both included. More...
 
bool truncate (RMPS *P, const RMPS &Q, index Dmax, bool periodicbc, bool increase=false)
 Given an MPS, produce another with bond dimension <= Dmax, by truncating it. More...
 
bool truncate (CMPS *P, const CMPS &Q, index Dmax, bool periodicbc, bool increase=false)
 Given an MPS, produce another with bond dimension <= Dmax, by truncating it. More...
 

Variables

const unsigned int MPS_DEBUG_ARNOLDI = FLAGS.create_key(0)
 Flag key for debugging the Arnoldi method. More...
 
const unsigned int MPS_DEBUG_SIMPLIFY = FLAGS.create_key(0)
 Flag key for debugging the simplification routines. More...
 
const unsigned int MPS_DEBUG_SOLVE = FLAGS.create_key(0)
 Flag key for debugging the mps::solve routines. More...
 
const unsigned int MPS_DEBUG_TROTTER = FLAGS.create_key(0)
 Flag key for debugging the time evolution routines. More...
 
const unsigned int MPS_DEBUG_TRUNCATION = FLAGS.create_key(0)
 Flag key for debugging the simplification routines. More...
 
const double MPS_DEFAULT_TOLERANCE = -4.0
 Default relative tolerance of the singular values dropped. More...
 
const double MPS_DO_NOT_TRUNCATE = 2.0
 Do not truncate tensors. More...
 
const unsigned int MPS_ITEBD_BDRY_EXPECTED = 3
 iTEBD expectation values computing boundary states by power method. More...
 
const unsigned int MPS_ITEBD_CANONICAL_EXPECTED = 1
 iTEBD expectation values assuming canonical form. More...
 
const unsigned int MPS_ITEBD_EXPECTED_METHOD = FLAGS.create_key(MPS_ITEBD_CANONICAL_EXPECTED)
 iTEBD expectation value method selector. More...
 
const unsigned int MPS_ITEBD_SLOW_EXPECTED = 2
 iTEBD expectation values computing powers of transfer matrices. More...
 
const unsigned int MPS_SIMPLIFY_ALGORITHM = FLAGS.create_key(MPS_SINGLE_SITE_ALGORITHM)
 Flag keys for the simplify_obc() algorithms. More...
 
const unsigned int MPS_SIMPLIFY_MAX_SWEEPS = FLAGS.create_key(12)
 Flag key indicating the sweeps in the simplification routines. More...
 
const unsigned int MPS_SIMPLIFY_TOLERANCE = FLAGS.create_key(1e-14)
 Flag key indicating what relative error is acceptable when simplifying. More...
 
const unsigned int MPS_SINGLE_SITE_ALGORITHM = 1
 Algorithms acting on one site. More...
 
const unsigned int MPS_SOLVE_ALGORITHM = FLAGS.create_key(MPS_SINGLE_SITE_ALGORITHM)
 Flag keys for the solve() algorithms. More...
 
const unsigned int MPS_SOLVE_TOLERANCE = FLAGS.create_key(1e-10)
 Flag key indicating what relative error is acceptable when inverting. More...
 
const double MPS_TRUNCATE_ZEROS = 0.0
 Truncate tensors eliminating zero values from the SVD. More...
 
const unsigned int MPS_TRUNCATION_TOLERANCE = FLAGS.create_key(DBL_EPSILON)
 Flag key for the default relative truncation tolerance. More...
 
const unsigned int MPS_TWO_SITE_ALGORITHM = 2
 Algorithms acting on two sites. More...
 
const RTensor Pauli_id
 Two by two identity matrix. More...
 
const RTensor Pauli_x
 $\sigma_x$ Pauli matrix. More...
 
const CTensor Pauli_y
 $\sigma_y$ Pauli matrix. More...
 
const RTensor Pauli_z
 $\sigma_z$ Pauli matrix. More...
 

Detailed Description

Namespace for classes and algorithms related to Matrix Product States, DMRG and similar methods.

Function Documentation

const RMPS mps::apply_local_operator ( const RMPS &  psi,
const RTensor &  op,
index  site 
)

Apply a local operator on the given site.

Definition at line 26 of file apply_local_operator_d.cc.

const CMPS mps::apply_local_operator ( const CMPS &  psi,
const CTensor &  op,
index  site 
)

Apply a local operator on the given site.

Definition at line 26 of file apply_local_operator_z.cc.

const RMPS mps::canonical_form ( const RMPS &  psi,
int  sense = -1 
)

Rewrite a RMPS in canonical form.

A value of 'sense' -1 or +1 determines the right-to-left or left-to-right direction in this form.

Definition at line 32 of file mps_canonical_d.cc.

const CMPS mps::canonical_form ( const CMPS &  psi,
int  sense = -1 
)

Rewrite a CMPS in canonical form.

A value of 'sense' -1 or +1 determines the right-to-left or left-to-right direction in this form.

Definition at line 32 of file mps_canonical_z.cc.

const RMPS mps::canonical_form_at ( const RMPS &  psi,
index  site 
)

Rewrite a RMPS in canonical form on both sides of 'site'.

Definition at line 42 of file mps_canonical_d.cc.

const CMPS mps::canonical_form_at ( const CMPS &  psi,
index  site 
)

Rewrite a CMPS in canonical form on both sides of 'site'.

Definition at line 42 of file mps_canonical_z.cc.

const RMPS mps::cluster_state ( index  length)

Create a cluster state.

Definition at line 27 of file rmps_cluster_state.cc.

const Indices mps::dimensions ( const RMPS &  psi)

Physical dimensions of the state.

Definition at line 25 of file mps_dimensions_d.cc.

const Indices mps::dimensions ( const CMPS &  psi)

Physical dimensions of the state.

Definition at line 25 of file mps_dimensions_z.cc.

double mps::entropy ( const RTensor &  t)

Compute the von Neumann entropy.

If the input tensor is a vector, it assumes it is a list of eigenvalues from a density matrix and computes the associated entropy, $-\sum_i \lambda_l \log(\lambda_i)$. If the input state is a matrix, this matrix is diagonalized and the eigenvalues are used to compute the entropy.

Definition at line 31 of file entropy.cc.

double mps::expected ( const RMPS &  a,
const RTensor &  Op1,
index  k 
)

Compute a single-site expected value.

Definition at line 27 of file mps_expected1_d.cc.

cdouble mps::expected ( const RMPS &  a,
const CTensor &  Op1,
index  k 
)

Compute a single-site expected value.

Definition at line 25 of file mps_expected1_dz.cc.

cdouble mps::expected ( const CMPS &  a,
const CTensor &  Op1,
index  k 
)

Compute a single-site expected value.

Definition at line 25 of file mps_expected1_z.cc.

cdouble mps::expected ( const CMPS &  a,
const CTensor &  Op1 
)

Add the expectation values a single-site operator over the lattice.

Definition at line 30 of file mps_expected1_z.cc.

double mps::expected ( const RMPS &  a,
const RTensor &  op1,
index  k1,
const RTensor &  op2,
index  k2 
)

Compute a two-site correlation.

Definition at line 27 of file mps_expected2_d.cc.

cdouble mps::expected ( const RMPS &  a,
const CTensor &  op1,
index  k1,
const CTensor &  op2,
index  k2 
)

Compute a two-site correlation.

Definition at line 27 of file mps_expected2_dz.cc.

cdouble mps::expected ( const CMPS &  a,
const CTensor &  op1,
index  k1,
const CTensor &  op2,
index  k2 
)

Compute a two-site correlation.

Definition at line 27 of file mps_expected2_z.cc.

RTensor mps::expected ( const RMPS &  a,
const RTensor &  op1,
const RTensor &  op2 
)

Compute all two-site correlations.

Definition at line 32 of file mps_expected2_all_d.cc.

CTensor mps::expected ( const CMPS &  a,
const CTensor &  op1,
const CTensor &  op2 
)

Compute all two-site correlations.

Definition at line 32 of file mps_expected2_all_z.cc.

RTensor mps::expected ( const RMPS &  a,
const std::vector< RTensor > &  op1,
const std::vector< RTensor > &  op2 
)

Compute all two-site correlations.

Definition at line 27 of file mps_expected2_all_d.cc.

CTensor mps::expected ( const CMPS &  a,
const std::vector< CTensor > &  op1,
const std::vector< CTensor > &  op2 
)

Compute all two-site correlations.

Definition at line 27 of file mps_expected2_all_z.cc.

RTensor mps::expected_vector ( const RMPS &  a,
const RTensor &  Op1 
)

Compute all expected values of a single operator over the chain.

Definition at line 32 of file mps_expected1_all_d.cc.

RTensor mps::expected_vector ( const RMPS &  a,
const std::vector< RTensor > &  Op1 
)

Compute all expected values, with a different operator over each site of the chain.

Definition at line 27 of file mps_expected1_all_d.cc.

CTensor mps::expected_vector ( const CMPS &  a,
const CTensor &  Op1 
)

Compute all expected values of a single operator over the chain.

Definition at line 32 of file mps_expected1_all_z.cc.

CTensor mps::expected_vector ( const CMPS &  a,
const std::vector< CTensor > &  Op1 
)

Compute all expected values, with a different operator over each site of the chain.

Definition at line 27 of file mps_expected1_all_z.cc.

const RMPS mps::ghz_state ( index  length,
bool  periodic = false 
)

Create a GHZ state.

Definition at line 27 of file rmps_ghz_state.cc.

const RTensor mps::mps_to_vector ( const RMPS &  mps)

Convert a RMPS to a complex vector, contracting all tensors.

Definition at line 27 of file rmps_to_vector.cc.

const CTensor mps::mps_to_vector ( const CMPS &  mps)

Convert a CMPS to a complex vector, contracting all tensors.

Definition at line 27 of file cmps_to_vector.cc.

double mps::norm2 ( const RMPS &  psi)

Norm of a RMPS.

Definition at line 25 of file mps_norm_d.cc.

double mps::norm2 ( const CMPS &  psi)

Norm of a CMPS.

Definition at line 25 of file mps_norm_z.cc.

const RMPS mps::normal_form ( const RMPS &  psi,
int  sense = -1 
)

Rewrite a RMPS in canonical form, normalizing.

A value of 'sense' -1 or +1 determines the right-to-left or left-to-right direction in this form.

Definition at line 37 of file mps_canonical_d.cc.

const CMPS mps::normal_form ( const CMPS &  psi,
int  sense = -1 
)

Rewrite a CMPS in canonical form, normalizing.

A value of 'sense' -1 or +1 determines the right-to-left or left-to-right direction in this form.

Definition at line 37 of file mps_canonical_z.cc.

const RMPS mps::normal_form_at ( const RMPS &  psi,
index  site 
)

Rewrite a RMPS in canonical form, normalizing.

Definition at line 47 of file mps_canonical_d.cc.

const CMPS mps::normal_form_at ( const CMPS &  psi,
index  site 
)

Rewrite a CMPS in canonical form, normalizing.

Definition at line 47 of file mps_canonical_z.cc.

const RMPS mps::product_state ( index  length,
const tensor::RTensor &  local_state 
)

Create a product state.

const CMPS mps::product_state ( index  length,
const tensor::CTensor &  local_state 
)

Create a product state.

Definition at line 25 of file cmps_product_state.cc.

double mps::scprod ( const RMPS &  psi1,
const RMPS &  psi2 
)

Scalar product between MPS.

Definition at line 25 of file mps_scprod_d.cc.

cdouble mps::scprod ( const CMPS &  psi1,
const CMPS &  psi2 
)

Scalar product between MPS.

Definition at line 25 of file mps_scprod_z.cc.

void mps::set_canonical ( RMPS &  psi,
index  site,
const RTensor &  A,
int  sense,
bool  truncate = true 
)

Store a tensor in a matrix product state in the canonical form.

Definition at line 26 of file mps_canonical_d.cc.

void mps::set_canonical ( CMPS &  psi,
index  site,
const CTensor &  A,
int  sense,
bool  truncate = true 
)

Store a tensor in a matrix product state in the canonical form.

Definition at line 26 of file mps_canonical_z.cc.

void mps::set_canonical_2_sites ( RMPS &  P,
const RTensor &  Pij,
index  site,
int  sense,
index  Dmax = 0,
double  tol = -1,
bool  canonicalize_both = true 
)

Update an MPS with a tensor that spans two sites, (site,site+1).

Dmax is the maximum bond dimension that is used. Actually, tol and Dmax are the arguments to where_to_truncate.

Definition at line 24 of file mps_canonical2_d.cc.

void mps::set_canonical_2_sites ( CMPS &  P,
const CTensor &  Pij,
index  site,
int  sense,
index  Dmax = 0,
double  tol = -1,
bool  canonicalize_both = true 
)

Update an MPS with a tensor that spans two sites, (site,site+1).

Dmax is the maximum bond dimension that is used. Actually, tol and Dmax are the arguments to where_to_truncate.

Definition at line 24 of file mps_canonical2_z.cc.

bool mps::truncate ( RMPS *  P,
const RMPS &  Q,
index  Dmax,
bool  periodicbc,
bool  increase = false 
)

Given an MPS, produce another with bond dimension <= Dmax, by truncating it.

Definition at line 25 of file truncate_rmps.cc.

bool mps::truncate ( CMPS *  P,
const CMPS &  Q,
index  Dmax,
bool  periodicbc,
bool  increase = false 
)

Given an MPS, produce another with bond dimension <= Dmax, by truncating it.

Definition at line 25 of file truncate_cmps.cc.

Variable Documentation

const unsigned mps::MPS_DEBUG_ARNOLDI = FLAGS.create_key(0)

Flag key for debugging the Arnoldi method.

Definition at line 39 of file flags.cc.

const unsigned mps::MPS_DEBUG_SIMPLIFY = FLAGS.create_key(0)

Flag key for debugging the simplification routines.

Definition at line 41 of file flags.cc.

const unsigned mps::MPS_DEBUG_SOLVE = FLAGS.create_key(0)

Flag key for debugging the mps::solve routines.

Definition at line 52 of file flags.cc.

const unsigned mps::MPS_DEBUG_TROTTER = FLAGS.create_key(0)

Flag key for debugging the time evolution routines.

Definition at line 37 of file flags.cc.

const unsigned mps::MPS_DEBUG_TRUNCATION = FLAGS.create_key(0)

Flag key for debugging the simplification routines.

Definition at line 33 of file flags.cc.

const double mps::MPS_DEFAULT_TOLERANCE = -4.0

Default relative tolerance of the singular values dropped.

Definition at line 31 of file flags.cc.

const double mps::MPS_DO_NOT_TRUNCATE = 2.0

Do not truncate tensors.

Definition at line 29 of file flags.cc.

const unsigned mps::MPS_ITEBD_BDRY_EXPECTED = 3

iTEBD expectation values computing boundary states by power method.

Definition at line 60 of file flags.cc.

const unsigned mps::MPS_ITEBD_CANONICAL_EXPECTED = 1

iTEBD expectation values assuming canonical form.

Definition at line 58 of file flags.cc.

const unsigned mps::MPS_ITEBD_EXPECTED_METHOD = FLAGS.create_key(MPS_ITEBD_CANONICAL_EXPECTED)

iTEBD expectation value method selector.

Definition at line 61 of file flags.cc.

const unsigned mps::MPS_ITEBD_SLOW_EXPECTED = 2

iTEBD expectation values computing powers of transfer matrices.

Definition at line 59 of file flags.cc.

const unsigned mps::MPS_SIMPLIFY_ALGORITHM = FLAGS.create_key(MPS_SINGLE_SITE_ALGORITHM)

Flag keys for the simplify_obc() algorithms.

Definition at line 50 of file flags.cc.

const unsigned mps::MPS_SIMPLIFY_MAX_SWEEPS = FLAGS.create_key(12)

Flag key indicating the sweeps in the simplification routines.

Definition at line 43 of file flags.cc.

const unsigned mps::MPS_SIMPLIFY_TOLERANCE = FLAGS.create_key(1e-14)

Flag key indicating what relative error is acceptable when simplifying.

Definition at line 45 of file flags.cc.

const unsigned mps::MPS_SINGLE_SITE_ALGORITHM = 1

Algorithms acting on one site.

Definition at line 47 of file flags.cc.

const unsigned mps::MPS_SOLVE_ALGORITHM = FLAGS.create_key(MPS_SINGLE_SITE_ALGORITHM)

Flag keys for the solve() algorithms.

Definition at line 54 of file flags.cc.

const unsigned mps::MPS_SOLVE_TOLERANCE = FLAGS.create_key(1e-10)

Flag key indicating what relative error is acceptable when inverting.

Definition at line 56 of file flags.cc.

const double mps::MPS_TRUNCATE_ZEROS = 0.0

Truncate tensors eliminating zero values from the SVD.

Definition at line 30 of file flags.cc.

const unsigned mps::MPS_TRUNCATION_TOLERANCE = FLAGS.create_key(DBL_EPSILON)

Flag key for the default relative truncation tolerance.

Definition at line 35 of file flags.cc.

const unsigned mps::MPS_TWO_SITE_ALGORITHM = 2

Algorithms acting on two sites.

Definition at line 48 of file flags.cc.

const RTensor mps::Pauli_id

Two by two identity matrix.

const RTensor mps::Pauli_x

$\sigma_x$ Pauli matrix.

const CTensor mps::Pauli_y

$\sigma_y$ Pauli matrix.

const RTensor mps::Pauli_z

$\sigma_z$ Pauli matrix.