mps-0.0.0 MatrixProductStatesinC++
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.