VMPS++
Loading...
Searching...
No Matches
SiteOperatorQ< Symmetry, MatrixType_ > Class Template Reference

Detailed Description

template<typename Symmetry, typename MatrixType_>
class SiteOperatorQ< Symmetry, MatrixType_ >

This class is the type for local operators and defines the relevant operations: adjoint(), prod(), outerprod(),...

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 89 of file SiteOperatorQ.h.

#include <SiteOperatorQ.h>

Public Types

typedef Symmetry::qType qType
 
typedef MatrixType_ MatrixType
 
typedef MatrixType::Scalar Scalar
 

Public Member Functions

 SiteOperatorQ ()
 
 SiteOperatorQ (const qType &Q_in, const Qbasis< Symmetry > &basis_in, std::string label_in="")
 
 SiteOperatorQ (const qType &Q_in, const Qbasis< Symmetry > &basis_in, const base &data_in)
 
basedata ()
 
const basedata () const
 
qTypeQ ()
 
const qTypeQ () const
 
Qbasis< Symmetry > & basis ()
 
const Qbasis< Symmetry > & basis () const
 
std::string & label ()
 
const std::string & label () const
 
MatrixType operator() (const qType &bra, const qType &ket) const
 
MatrixTypeoperator() (const qType &bra, const qType &ket)
 
Scalar operator() (const std::string &bra, const std::string &ket) const
 
Scalaroperator() (const std::string &bra, const std::string &ket)
 
SiteOperatorQ< Symmetry, MatrixType_ > & operator+= (const SiteOperatorQ< Symmetry, MatrixType_ > &Op)
 
SiteOperatorQ< Symmetry, MatrixType_ > & operator-= (const SiteOperatorQ< Symmetry, MatrixType_ > &Op)
 
SiteOperatorQ< Symmetry, MatrixType_ > adjoint () const
 
SiteOperatorQ< Symmetry, MatrixType_ > hermitian_conj () const
 
void setZero ()
 
void setIdentity ()
 
void setRandom ()
 
SiteOperatorQ< Symmetry, MatrixType_ > diagonalize (const std::vector< qType > &blocks={}, Eigen::DecompositionOptions opt=Eigen::DecompositionOptions::EigenvaluesOnly) const
 
MatrixType_::Scalar norm () const
 
template<typename Scalar >
SiteOperator< Symmetry, Scalarplain () const
 
std::string print (bool PRINT_BASIS=false) const
 
template<typename OtherScalar >
SiteOperatorQ< Symmetry, Eigen::Matrix< OtherScalar, -1, -1 > > cast () const
 

Static Public Member Functions

static SiteOperatorQ< Symmetry, MatrixType_ > prod (const SiteOperatorQ< Symmetry, MatrixType_ > &O1, const SiteOperatorQ< Symmetry, MatrixType_ > &O2, const qType &target)
 
static SiteOperatorQ< Symmetry, MatrixType_ > outerprod (const SiteOperatorQ< Symmetry, MatrixType_ > &O1, const SiteOperatorQ< Symmetry, MatrixType_ > &O2, const qType &target)
 
static SiteOperatorQ< Symmetry, MatrixType_ > outerprod (const SiteOperatorQ< Symmetry, MatrixType_ > &O1, const SiteOperatorQ< Symmetry, MatrixType_ > &O2)
 

Private Types

typedef Eigen::Index Index
 
typedef Biped< Symmetry, MatrixType_ > base
 

Private Attributes

base data_
 
qType Q_
 
Qbasis< Symmetry > basis_
 
std::string label_ =""
 

Member Typedef Documentation

◆ base

template<typename Symmetry , typename MatrixType_ >
typedef Biped<Symmetry,MatrixType_> SiteOperatorQ< Symmetry, MatrixType_ >::base
private

Definition at line 93 of file SiteOperatorQ.h.

◆ Index

template<typename Symmetry , typename MatrixType_ >
typedef Eigen::Index SiteOperatorQ< Symmetry, MatrixType_ >::Index
private

Definition at line 92 of file SiteOperatorQ.h.

◆ MatrixType

template<typename Symmetry , typename MatrixType_ >
typedef MatrixType_ SiteOperatorQ< Symmetry, MatrixType_ >::MatrixType

Definition at line 97 of file SiteOperatorQ.h.

◆ qType

template<typename Symmetry , typename MatrixType_ >
typedef Symmetry::qType SiteOperatorQ< Symmetry, MatrixType_ >::qType

Definition at line 96 of file SiteOperatorQ.h.

◆ Scalar

template<typename Symmetry , typename MatrixType_ >
typedef MatrixType::Scalar SiteOperatorQ< Symmetry, MatrixType_ >::Scalar

Definition at line 98 of file SiteOperatorQ.h.

Constructor & Destructor Documentation

◆ SiteOperatorQ() [1/3]

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ >::SiteOperatorQ ( )
inline

Does nothing.

Definition at line 101 of file SiteOperatorQ.h.

◆ SiteOperatorQ() [2/3]

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ >::SiteOperatorQ ( const qType Q_in,
const Qbasis< Symmetry > &  basis_in,
std::string  label_in = "" 
)
inline

Definition at line 103 of file SiteOperatorQ.h.

◆ SiteOperatorQ() [3/3]

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ >::SiteOperatorQ ( const qType Q_in,
const Qbasis< Symmetry > &  basis_in,
const base data_in 
)
inline

Definition at line 107 of file SiteOperatorQ.h.

Member Function Documentation

◆ adjoint()

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > SiteOperatorQ< Symmetry, MatrixType_ >::adjoint

Definition at line 291 of file SiteOperatorQ.h.

◆ basis() [1/2]

template<typename Symmetry , typename MatrixType_ >
Qbasis< Symmetry > & SiteOperatorQ< Symmetry, MatrixType_ >::basis ( )
inline

Definition at line 117 of file SiteOperatorQ.h.

◆ basis() [2/2]

template<typename Symmetry , typename MatrixType_ >
const Qbasis< Symmetry > & SiteOperatorQ< Symmetry, MatrixType_ >::basis ( ) const
inline

Definition at line 118 of file SiteOperatorQ.h.

◆ cast()

template<typename Symmetry , typename MatrixType_ >
template<typename OtherScalar >
SiteOperatorQ< Symmetry, Eigen::Matrix< OtherScalar, -1, -1 > > SiteOperatorQ< Symmetry, MatrixType_ >::cast ( ) const
inline

Definition at line 163 of file SiteOperatorQ.h.

◆ data() [1/2]

template<typename Symmetry , typename MatrixType_ >
base & SiteOperatorQ< Symmetry, MatrixType_ >::data ( )
inline

Definition at line 111 of file SiteOperatorQ.h.

◆ data() [2/2]

template<typename Symmetry , typename MatrixType_ >
const base & SiteOperatorQ< Symmetry, MatrixType_ >::data ( ) const
inline

Definition at line 112 of file SiteOperatorQ.h.

◆ diagonalize()

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > SiteOperatorQ< Symmetry, MatrixType_ >::diagonalize ( const std::vector< qType > &  blocks = {},
Eigen::DecompositionOptions  opt = Eigen::DecompositionOptions::EigenvaluesOnly 
) const

Definition at line 264 of file SiteOperatorQ.h.

◆ hermitian_conj()

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > SiteOperatorQ< Symmetry, MatrixType_ >::hermitian_conj

Definition at line 308 of file SiteOperatorQ.h.

◆ label() [1/2]

template<typename Symmetry , typename MatrixType_ >
std::string & SiteOperatorQ< Symmetry, MatrixType_ >::label ( )
inline

Definition at line 120 of file SiteOperatorQ.h.

◆ label() [2/2]

template<typename Symmetry , typename MatrixType_ >
const std::string & SiteOperatorQ< Symmetry, MatrixType_ >::label ( ) const
inline

Definition at line 121 of file SiteOperatorQ.h.

◆ norm()

template<typename Symmetry , typename MatrixType_ >
MatrixType_::Scalar SiteOperatorQ< Symmetry, MatrixType_ >::norm

Definition at line 283 of file SiteOperatorQ.h.

◆ operator()() [1/4]

template<typename Symmetry , typename MatrixType_ >
MatrixType_ & SiteOperatorQ< Symmetry, MatrixType_ >::operator() ( const qType bra,
const qType ket 
)

Definition at line 183 of file SiteOperatorQ.h.

◆ operator()() [2/4]

template<typename Symmetry , typename MatrixType_ >
MatrixType_ SiteOperatorQ< Symmetry, MatrixType_ >::operator() ( const qType bra,
const qType ket 
) const

Definition at line 200 of file SiteOperatorQ.h.

◆ operator()() [3/4]

template<typename Symmetry , typename MatrixType_ >
MatrixType_::Scalar & SiteOperatorQ< Symmetry, MatrixType_ >::operator() ( const std::string &  bra,
const std::string &  ket 
)

Definition at line 210 of file SiteOperatorQ.h.

◆ operator()() [4/4]

template<typename Symmetry , typename MatrixType_ >
MatrixType_::Scalar SiteOperatorQ< Symmetry, MatrixType_ >::operator() ( const std::string &  bra,
const std::string &  ket 
) const

Definition at line 250 of file SiteOperatorQ.h.

◆ operator+=()

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > & SiteOperatorQ< Symmetry, MatrixType_ >::operator+= ( const SiteOperatorQ< Symmetry, MatrixType_ > &  Op)

Definition at line 554 of file SiteOperatorQ.h.

◆ operator-=()

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > & SiteOperatorQ< Symmetry, MatrixType_ >::operator-= ( const SiteOperatorQ< Symmetry, MatrixType_ > &  Op)

Definition at line 561 of file SiteOperatorQ.h.

◆ outerprod() [1/2]

template<typename Symmetry , typename MatrixType_ >
static SiteOperatorQ< Symmetry, MatrixType_ > SiteOperatorQ< Symmetry, MatrixType_ >::outerprod ( const SiteOperatorQ< Symmetry, MatrixType_ > &  O1,
const SiteOperatorQ< Symmetry, MatrixType_ > &  O2 
)
inlinestatic

Definition at line 142 of file SiteOperatorQ.h.

◆ outerprod() [2/2]

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > SiteOperatorQ< Symmetry, MatrixType_ >::outerprod ( const SiteOperatorQ< Symmetry, MatrixType_ > &  O1,
const SiteOperatorQ< Symmetry, MatrixType_ > &  O2,
const qType target 
)
static

Definition at line 496 of file SiteOperatorQ.h.

◆ plain()

template<typename Symmetry , typename MatrixType_ >
template<typename Scalar >
SiteOperator< Symmetry, Scalar > SiteOperatorQ< Symmetry, MatrixType_ >::plain

Definition at line 325 of file SiteOperatorQ.h.

◆ print()

template<typename Symmetry , typename MatrixType_ >
std::string SiteOperatorQ< Symmetry, MatrixType_ >::print ( bool  PRINT_BASIS = false) const

Prints the operator.

Definition at line 568 of file SiteOperatorQ.h.

◆ prod()

template<typename Symmetry , typename MatrixType_ >
SiteOperatorQ< Symmetry, MatrixType_ > SiteOperatorQ< Symmetry, MatrixType_ >::prod ( const SiteOperatorQ< Symmetry, MatrixType_ > &  O1,
const SiteOperatorQ< Symmetry, MatrixType_ > &  O2,
const qType target 
)
static

Definition at line 422 of file SiteOperatorQ.h.

◆ Q() [1/2]

template<typename Symmetry , typename MatrixType_ >
qType & SiteOperatorQ< Symmetry, MatrixType_ >::Q ( )
inline

Definition at line 114 of file SiteOperatorQ.h.

◆ Q() [2/2]

template<typename Symmetry , typename MatrixType_ >
const qType & SiteOperatorQ< Symmetry, MatrixType_ >::Q ( ) const
inline

Definition at line 115 of file SiteOperatorQ.h.

◆ setIdentity()

template<typename Symmetry , typename MatrixType_ >
void SiteOperatorQ< Symmetry, MatrixType_ >::setIdentity

Definition at line 402 of file SiteOperatorQ.h.

◆ setRandom()

template<typename Symmetry , typename MatrixType_ >
void SiteOperatorQ< Symmetry, MatrixType_ >::setRandom

Definition at line 412 of file SiteOperatorQ.h.

◆ setZero()

template<typename Symmetry , typename MatrixType_ >
void SiteOperatorQ< Symmetry, MatrixType_ >::setZero

Definition at line 392 of file SiteOperatorQ.h.

Member Data Documentation

◆ basis_

template<typename Symmetry , typename MatrixType_ >
Qbasis<Symmetry> SiteOperatorQ< Symmetry, MatrixType_ >::basis_
private

Definition at line 177 of file SiteOperatorQ.h.

◆ data_

template<typename Symmetry , typename MatrixType_ >
base SiteOperatorQ< Symmetry, MatrixType_ >::data_
private

Definition at line 175 of file SiteOperatorQ.h.

◆ label_

template<typename Symmetry , typename MatrixType_ >
std::string SiteOperatorQ< Symmetry, MatrixType_ >::label_ =""
private

Definition at line 179 of file SiteOperatorQ.h.

◆ Q_

template<typename Symmetry , typename MatrixType_ >
qType SiteOperatorQ< Symmetry, MatrixType_ >::Q_
private

Definition at line 176 of file SiteOperatorQ.h.


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