mps-0.0.0
MatrixProductStatesinC++
 All Data Structures Namespaces Functions Variables Enumerations Enumerator Groups Pages
mps::iTEBD< Tensor > Class Template Reference

An infinite Matrix Product State with translational invariance but using two tensors: one for odd and one for even sites. More...

Public Member Functions

const iTEBD< Tensor > apply_operator (const Tensor &U, int odd=0, double tolerance=-1, tensor::index max_dim=0) const
 Construct a new state after acting on 'odd' or 'even' pair of sites with the two-site operator U. More...
 
const iTEBD< Tensor > canonical_form (double tolerance=-1, tensor::index max_dim=0) const
 Return a new state which is in canonical form. More...
 
const Tensor & combined_matrix (int site) const
 Fold a $\Gamma$ matrix with its neighboring vector $\lambda$ . More...
 
double entropy (int site) const
 Estimate the entanglement entropy associated to splitting the state around 'site'.
 
double entropy () const
 Average entropy for even and odd sites. More...
 
bool is_canonical () const
 Is this iTEBD state in canonical form?
 
 iTEBD (tensor::index dimension)
 Create an random iTEBD state with given physical dimensions. More...
 
 iTEBD (const Tensor &newA)
 Create a product state iTEBD. More...
 
 iTEBD (const Tensor &newA, const Tensor &newB)
 Create a product state iTEBD with two wavefunctions. More...
 
 iTEBD (const Tensor &newA, const Tensor &newlA, const Tensor &newB, const Tensor &newlB, bool canonical=false)
 Create an iTEBD with $\Gamma$ and $\lambda$ matrices. More...
 
tensor::index left_dimension (int site) const
 Return dimension of the MPS to the left of this site. More...
 
const Tensor & left_vector (int site) const
 Return the vector $\lambda$ to the left of this site. More...
 
const Tensor & matrix (int site) const
 Return the $\Gamma$ matrix for the lattice 'site'. More...
 
tensor::index right_dimension (int site) const
 Return dimension of the MPS to the right of this site. More...
 
const Tensor & right_vector (int site) const
 Return the vector $\lambda$ to the right of this site. More...
 
const Tensor schmidt (int site=0) const
 Schmidt numbers. More...
 
tensor::index site_dimension (int site) const
 Physical dimension of the given site. More...
 

Detailed Description

template<class Tensor>
class mps::iTEBD< Tensor >

An infinite Matrix Product State with translational invariance but using two tensors: one for odd and one for even sites.

This algorithm follows the iTBD implementation sketched by R. Orus and G. Vidal in Phys. Rev. B 78, 155117 (2008)

Definition at line 41 of file itebd.h.

Constructor & Destructor Documentation

template<class Tensor >
mps::iTEBD< Tensor >::iTEBD ( tensor::index  dimension)
explicit

Create an random iTEBD state with given physical dimensions.

Definition at line 34 of file itebd.hpp.

template<class Tensor >
mps::iTEBD< Tensor >::iTEBD ( const Tensor &  newA)

Create a product state iTEBD.

Definition at line 45 of file itebd.hpp.

template<class Tensor >
mps::iTEBD< Tensor >::iTEBD ( const Tensor &  newA,
const Tensor &  newB 
)

Create a product state iTEBD with two wavefunctions.

Definition at line 56 of file itebd.hpp.

template<class Tensor >
mps::iTEBD< Tensor >::iTEBD ( const Tensor &  newA,
const Tensor &  newlA,
const Tensor &  newB,
const Tensor &  newlB,
bool  canonical = false 
)

Create an iTEBD with $\Gamma$ and $\lambda$ matrices.

Definition at line 68 of file itebd.hpp.

Member Function Documentation

template<class Tensor >
const iTEBD< Tensor > mps::iTEBD< Tensor >::apply_operator ( const Tensor &  U,
int  odd = 0,
double  tolerance = -1,
tensor::index  max_dim = 0 
) const

Construct a new state after acting on 'odd' or 'even' pair of sites with the two-site operator U.

Definition at line 316 of file itebd_canonical.hpp.

template<class Tensor >
const iTEBD< Tensor > mps::iTEBD< Tensor >::canonical_form ( double  tolerance = -1,
tensor::index  max_dim = 0 
) const

Return a new state which is in canonical form.

Definition at line 261 of file itebd_canonical.hpp.

template<class Tensor>
const Tensor& mps::iTEBD< Tensor >::combined_matrix ( int  site) const
inline

Fold a $\Gamma$ matrix with its neighboring vector $\lambda$ .

Definition at line 93 of file itebd.h.

template<class Tensor>
double mps::iTEBD< Tensor >::entropy ( ) const
inline

Average entropy for even and odd sites.

Definition at line 79 of file itebd.h.

template<class Tensor>
tensor::index mps::iTEBD< Tensor >::left_dimension ( int  site) const
inline

Return dimension of the MPS to the left of this site.

Definition at line 113 of file itebd.h.

template<class Tensor>
const Tensor& mps::iTEBD< Tensor >::left_vector ( int  site) const
inline

Return the vector $\lambda$ to the left of this site.

Definition at line 98 of file itebd.h.

template<class Tensor>
const Tensor& mps::iTEBD< Tensor >::matrix ( int  site) const
inline

Return the $\Gamma$ matrix for the lattice 'site'.

Definition at line 88 of file itebd.h.

template<class Tensor>
tensor::index mps::iTEBD< Tensor >::right_dimension ( int  site) const
inline

Return dimension of the MPS to the right of this site.

Definition at line 118 of file itebd.h.

template<class Tensor>
const Tensor& mps::iTEBD< Tensor >::right_vector ( int  site) const
inline

Return the vector $\lambda$ to the right of this site.

Definition at line 103 of file itebd.h.

template<class Tensor >
const Tensor mps::iTEBD< Tensor >::schmidt ( int  site = 0) const

Schmidt numbers.

Definition at line 95 of file itebd.hpp.

template<class Tensor>
tensor::index mps::iTEBD< Tensor >::site_dimension ( int  site) const
inline

Physical dimension of the given site.

Definition at line 108 of file itebd.h.