VMPS++
Loading...
Searching...
No Matches
Blocker< Symmetry, Scalar > Class Template Reference

Detailed Description

template<typename Symmetry, typename Scalar = double>
class Blocker< Symmetry, Scalar >

Performs blocking of Mps site-tensors.

Template Parameters
Symmetry: A class providing all relevant functions and infos that are determined by the Symmetry. Click here for more information.
Scalar: double or complex<double>

Definition at line 10 of file Blocker.h.

#include <Blocker.h>

Public Member Functions

 Blocker ()
 
 Blocker (vector< Biped< Symmetry, MatrixType > > &A_in, const vector< qarray< Nq > > &qloc_in, const Qbasis< Symmetry > &inbase_in, const Qbasis< Symmetry > &outbase_in)
 
void block (DMRG::DIRECTION::OPTION DIR)
 
vector< Biped< Symmetry, MatrixType > > reblock (const Biped< Symmetry, MatrixType > &B, DMRG::DIRECTION::OPTION DIR)
 
Biped< Symmetry, MatrixTypeAclump (DMRG::DIRECTION::OPTION DIR)
 
void FORCE_NEW_BLOCKING ()
 

Private Types

typedef Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > MatrixType
 

Private Member Functions

void block_left ()
 
void block_right ()
 
vector< Biped< Symmetry, MatrixType > > reblock_left (const Biped< Symmetry, MatrixType > &B)
 
vector< Biped< Symmetry, MatrixType > > reblock_right (const Biped< Symmetry, MatrixType > &B)
 

Private Attributes

vector< Biped< Symmetry, MatrixType > > & A
 
vector< qarray< Nq > > qloc
 
Qbasis< Symmetry > inbase
 
Qbasis< Symmetry > outbase
 
Biped< Symmetry, MatrixTypeAclump_
 
bool HAS_BLOCKED =false
 

Static Private Attributes

static constexpr size_t Nq = Symmetry::Nq
 

Member Typedef Documentation

◆ MatrixType

template<typename Symmetry , typename Scalar = double>
typedef Eigen::Matrix<Scalar,Eigen::Dynamic,Eigen::Dynamic> Blocker< Symmetry, Scalar >::MatrixType
private

Definition at line 13 of file Blocker.h.

Constructor & Destructor Documentation

◆ Blocker() [1/2]

template<typename Symmetry , typename Scalar = double>
Blocker< Symmetry, Scalar >::Blocker ( )
inline

Definition at line 17 of file Blocker.h.

◆ Blocker() [2/2]

template<typename Symmetry , typename Scalar = double>
Blocker< Symmetry, Scalar >::Blocker ( vector< Biped< Symmetry, MatrixType > > &  A_in,
const vector< qarray< Nq > > &  qloc_in,
const Qbasis< Symmetry > &  inbase_in,
const Qbasis< Symmetry > &  outbase_in 
)
inline

Definition at line 19 of file Blocker.h.

Member Function Documentation

◆ Aclump()

template<typename Symmetry , typename Scalar = double>
Biped< Symmetry, MatrixType > Blocker< Symmetry, Scalar >::Aclump ( DMRG::DIRECTION::OPTION  DIR)
inline

Definition at line 26 of file Blocker.h.

◆ block()

template<typename Symmetry , typename Scalar >
void Blocker< Symmetry, Scalar >::block ( DMRG::DIRECTION::OPTION  DIR)

Definition at line 47 of file Blocker.h.

◆ block_left()

template<typename Symmetry , typename Scalar >
void Blocker< Symmetry, Scalar >::block_left
private

Definition at line 111 of file Blocker.h.

◆ block_right()

template<typename Symmetry , typename Scalar >
void Blocker< Symmetry, Scalar >::block_right
private

Definition at line 67 of file Blocker.h.

◆ FORCE_NEW_BLOCKING()

template<typename Symmetry , typename Scalar = double>
void Blocker< Symmetry, Scalar >::FORCE_NEW_BLOCKING ( )
inline

Definition at line 28 of file Blocker.h.

◆ reblock()

template<typename Symmetry , typename Scalar >
vector< Biped< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > > Blocker< Symmetry, Scalar >::reblock ( const Biped< Symmetry, MatrixType > &  B,
DMRG::DIRECTION::OPTION  DIR 
)

Definition at line 57 of file Blocker.h.

◆ reblock_left()

template<typename Symmetry , typename Scalar >
vector< Biped< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > > Blocker< Symmetry, Scalar >::reblock_left ( const Biped< Symmetry, MatrixType > &  B)
private

Definition at line 158 of file Blocker.h.

◆ reblock_right()

template<typename Symmetry , typename Scalar >
vector< Biped< Symmetry, Eigen::Matrix< Scalar, Eigen::Dynamic, Eigen::Dynamic > > > Blocker< Symmetry, Scalar >::reblock_right ( const Biped< Symmetry, MatrixType > &  B)
private

Definition at line 200 of file Blocker.h.

Member Data Documentation

◆ A

template<typename Symmetry , typename Scalar = double>
vector<Biped<Symmetry,MatrixType> >& Blocker< Symmetry, Scalar >::A
private

Definition at line 31 of file Blocker.h.

◆ Aclump_

template<typename Symmetry , typename Scalar = double>
Biped<Symmetry,MatrixType> Blocker< Symmetry, Scalar >::Aclump_
private

Definition at line 35 of file Blocker.h.

◆ HAS_BLOCKED

template<typename Symmetry , typename Scalar = double>
bool Blocker< Symmetry, Scalar >::HAS_BLOCKED =false
private

Definition at line 37 of file Blocker.h.

◆ inbase

template<typename Symmetry , typename Scalar = double>
Qbasis<Symmetry> Blocker< Symmetry, Scalar >::inbase
private

Definition at line 33 of file Blocker.h.

◆ Nq

template<typename Symmetry , typename Scalar = double>
constexpr size_t Blocker< Symmetry, Scalar >::Nq = Symmetry::Nq
staticconstexprprivate

Definition at line 14 of file Blocker.h.

◆ outbase

template<typename Symmetry , typename Scalar = double>
Qbasis<Symmetry> Blocker< Symmetry, Scalar >::outbase
private

Definition at line 33 of file Blocker.h.

◆ qloc

template<typename Symmetry , typename Scalar = double>
vector<qarray<Nq> > Blocker< Symmetry, Scalar >::qloc
private

Definition at line 32 of file Blocker.h.


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