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

Data Structures

class  mps::iTEBD< Tensor >
 An infinite Matrix Product State with translational invariance but using two tensors: one for odd and one for even sites. More...
 

Functions

double mps::energy (const RiTEBD &psi, const RTensor &Op12)
 Expected value of the two-site operator Op12 acting on 'site' and 'site+1'. More...
 
double mps::energy (const CiTEBD &psi, const CTensor &Op12)
 Expected value of the two-site operator Op12 acting on 'site' and 'site+1'. More...
 
template<class Tensor >
const iTEBD< Tensor > mps::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 mps::expected (const RiTEBD &psi, const RTensor &Op, int site=0)
 Expected value of an operator acting on 'site'. More...
 
double mps::expected (const RiTEBD &psi, const RTensor &Op1, const RTensor &Op2)
 Expected value of two operators, acting on sites '0' and '1'. More...
 
cdouble mps::expected (const CiTEBD &psi, const CTensor &Op, int site=0)
 Expected value of an operator acting on 'site'. More...
 
cdouble mps::expected (const CiTEBD &psi, const CTensor &Op1, const CTensor &Op2)
 Expected value of two operators, acting on sites '0' and '1'. More...
 
double mps::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 mps::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...
 
const RiTEBD mps::infinite_aklt_state ()
 Infinitely long, one-dimensional AKLT state. More...
 
const RiTEBD mps::infinite_cluster_state ()
 Infinitely long, one-dimensional cluster state. More...
 
const RiTEBD mps::infinite_ghz_state ()
 Infinite long, one-dimensional GHZ state. More...
 
double mps::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 mps::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 mps::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 mps::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...
 

Detailed Description

Function Documentation

double mps::energy ( const RiTEBD &  psi,
const RTensor &  Op12 
)

Expected value of the two-site operator Op12 acting on 'site' and 'site+1'.

Definition at line 24 of file itebd_energy_d.cc.

double mps::energy ( const CiTEBD &  psi,
const CTensor &  Op12 
)

Expected value of the two-site operator Op12 acting on 'site' and 'site+1'.

Definition at line 24 of file itebd_energy_z.cc.

template<class Tensor >
const iTEBD< Tensor > mps::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.

Given a Hamiltonian which is a composition of local Hamiltonians acting on pairs of sites, $H=\sum_{i} H_{i,i+1}$, we evolve the iTEBD state psi using nsteps repetitions of the elementary time interval dt. tolerance and max_dim determine the truncation strategy of the state, while deltan (if nonzero) instructs the program to report the properties of the state on the standard text output.

Definition at line 29 of file itebd_itime.hpp.

double mps::expected ( const RiTEBD &  psi,
const RTensor &  Op,
int  site = 0 
)

Expected value of an operator acting on 'site'.

Definition at line 26 of file itebd_expected1_d.cc.

double mps::expected ( const RiTEBD &  psi,
const RTensor &  Op1,
const RTensor &  Op2 
)

Expected value of two operators, acting on sites '0' and '1'.

Definition at line 26 of file itebd_expected2_d.cc.

cdouble mps::expected ( const CiTEBD &  psi,
const CTensor &  Op,
int  site = 0 
)

Expected value of an operator acting on 'site'.

Definition at line 26 of file itebd_expected1_z.cc.

cdouble mps::expected ( const CiTEBD &  psi,
const CTensor &  Op1,
const CTensor &  Op2 
)

Expected value of two operators, acting on sites '0' and '1'.

Definition at line 26 of file itebd_expected2_z.cc.

double mps::expected12 ( const RiTEBD &  psi,
const RTensor &  Op12,
int  site = 0 
)

Expected value of the two-site operator Op12 acting on 'site' and 'site+1'.

Definition at line 27 of file itebd_expected12_d.cc.

cdouble mps::expected12 ( const CiTEBD &  psi,
const CTensor &  Op12,
int  site = 0 
)

Expected value of the two-site operator Op12 acting on 'site' and 'site+1'.

Definition at line 27 of file itebd_expected12_z.cc.

const RiTEBD mps::infinite_aklt_state ( )

Infinitely long, one-dimensional AKLT state.

Definition at line 24 of file itebd_aklt_state.cc.

const RiTEBD mps::infinite_cluster_state ( )

Infinitely long, one-dimensional cluster state.

Definition at line 24 of file itebd_cluster_state.cc.

const RiTEBD mps::infinite_ghz_state ( )

Infinite long, one-dimensional GHZ state.

Definition at line 24 of file itebd_ghz_state.cc.

double mps::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.

Definition at line 28 of file itebd_string_order_d.cc.

RTensor mps::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.

Definition at line 25 of file itebd_string_order_many_d.cc.

cdouble mps::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.

Definition at line 28 of file itebd_string_order_z.cc.

CTensor mps::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.

Definition at line 25 of file itebd_string_order_many_z.cc.