ALPS MPS Codes
Reference documentation.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
basis_mps_init< Matrix, SymmGroup > Class Template Reference

#include <mps_initializers.h>

Inheritance diagram for basis_mps_init< Matrix, SymmGroup >:
mps_initializer< Matrix, SymmGroup >

Public Member Functions

 basis_mps_init (BaseParameters &params, std::vector< Index< SymmGroup > > const &phys_dims_, std::vector< int > const &site_type_)
 
void operator() (MPS< Matrix, SymmGroup > &mps)
 

Detailed Description

template<class Matrix, class SymmGroup>
class basis_mps_init< Matrix, SymmGroup >

Definition at line 380 of file mps_initializers.h.

Constructor & Destructor Documentation

template<class Matrix , class SymmGroup >
basis_mps_init< Matrix, SymmGroup >::basis_mps_init ( BaseParameters params,
std::vector< Index< SymmGroup > > const &  phys_dims_,
std::vector< int > const &  site_type_ 
)
inline

Definition at line 383 of file mps_initializers.h.

387  : occupation(params["init_basis_state"].as<std::vector<int> >())
388  , phys_dims(phys_dims_)
389  , site_type(site_type_)
390  { }

Member Function Documentation

template<class Matrix , class SymmGroup >
void basis_mps_init< Matrix, SymmGroup >::operator() ( MPS< Matrix, SymmGroup > &  mps)
inlinevirtual

Implements mps_initializer< Matrix, SymmGroup >.

Definition at line 392 of file mps_initializers.h.

393  {
394  assert(occupation.size() == mps.length());
395  if (phys_dims[0].size() != 1) throw std::runtime_error("basis_mps_init only for TrivialGroup.");
396  typedef typename SymmGroup::charge charge;
397  charge C = SymmGroup::IdentityCharge;
398 
399  std::vector<boost::tuple<charge, size_t> > state(mps.length());
400  for (int i=0; i<mps.length(); ++i)
401  state[i] = boost::make_tuple(C, occupation[i]);
402  mps = state_mps<Matrix>(state, phys_dims, site_type);
403  }
size_t length() const
Definition: mps.h:58

The documentation for this class was generated from the following file: