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

Internal representation of a MPS as a linear form. More...

Public Member Functions

int here () const
 The site at which the quadratic form is defined. More...
 
double norm2 () const
 Norm-2 of the linear form. More...
 
index number_of_bras () const
 Number of vectors that create the linear form. More...
 
void propagate (const tensor_t &ketP, int sense)
 Implement propagate_right (sense>0) or left (sense<0). More...
 
void propagate_left (const tensor_t &ketP)
 Update the linear form, with a new value of the state it is applied on. More...
 
void propagate_right (const tensor_t &ketP)
 Update the linear form, with a new value of the state it is applied on. More...
 
const tensor_t single_site_vector () const
 Vector representation of the linear form with respect to site here(). More...
 
index size () const
 Number of sites in the lattice. More...
 
const tensor_t two_site_vector (int sense) const
 Vector representation of the linear form with respect to sites here() and here()+1. More...
 

Detailed Description

template<class MPS>
class mps::LinearForm< MPS >

Internal representation of a MPS as a linear form.

This object works with a scalar product $$ c_i|$$, where the bra and ked, $$ and $$, are two MPS. This scalar product, from the point of view of the k-th site, it may be seen as a linear form $w^{T} v$, where $w$ and $v$ are the k-th elements of MPS associated to $$ and $$[k].

Definition at line 36 of file lform.h.

Member Function Documentation

template<class MPS>
int mps::LinearForm< MPS >::here ( ) const
inline

The site at which the quadratic form is defined.

Definition at line 54 of file lform.h.

template<class MPS >
double mps::LinearForm< MPS >::norm2 ( ) const

Norm-2 of the linear form.

Definition at line 201 of file lform.cc.

template<class MPS>
index mps::LinearForm< MPS >::number_of_bras ( ) const
inline

Number of vectors that create the linear form.

Definition at line 58 of file lform.h.

template<class MPS >
void mps::LinearForm< MPS >::propagate ( const tensor_t &  ketP,
int  sense 
)

Implement propagate_right (sense>0) or left (sense<0).

Definition at line 77 of file lform.cc.

template<class MPS >
void mps::LinearForm< MPS >::propagate_left ( const tensor_t &  ketP)

Update the linear form, with a new value of the state it is applied on.

Definition at line 83 of file lform.cc.

template<class MPS >
void mps::LinearForm< MPS >::propagate_right ( const tensor_t &  ketP)

Update the linear form, with a new value of the state it is applied on.

Definition at line 100 of file lform.cc.

template<class MPS >
const LinearForm< MPS >::tensor_t mps::LinearForm< MPS >::single_site_vector ( ) const

Vector representation of the linear form with respect to site here().

Definition at line 140 of file lform.cc.

template<class MPS>
index mps::LinearForm< MPS >::size ( ) const
inline

Number of sites in the lattice.

Definition at line 56 of file lform.h.

template<class MPS >
const LinearForm< MPS >::tensor_t mps::LinearForm< MPS >::two_site_vector ( int  sense) const

Vector representation of the linear form with respect to sites here() and here()+1.

Definition at line 176 of file lform.cc.