template<typename Symmetry, typename MatrixType_>
struct Biped< Symmetry, MatrixType_ >
Tensor with two legs and quantum number blocks. One could have used a general tensor, but the special case of two legs is hardcoded to preserve the sanity of the programmer. For the general tensor see Multipede.
- Template Parameters
-
Symmetry | : A class providing all relevant functions and infos that are determined by the Symmetry. Click here for more information. |
MatrixType | : MatrixXd or MatrixXcd |
Definition at line 63 of file Biped.h.
|
| Biped () |
|
std::string | formatted () const |
|
std::string | print (const bool SHOW_MATRICES=false, const std::size_t precision=3) const |
|
std::string | print_dict () const |
|
double | memory (MEMUNIT memunit=GB) const |
|
double | overhead (MEMUNIT memunit=MB) const |
|
Scalar | trace () const |
|
template<typename expScalar > |
Biped< Symmetry, MatrixType_ > | exp (const expScalar x) const |
|
template<typename OtherMatrixType > |
void | outerResize (const Biped< Symmetry, OtherMatrixType > Brhs) |
|
template<typename OtherMatrixType > |
Biped< Symmetry, OtherMatrixType > | cast () const |
|
void | shift_Qin (const qarray< Symmetry::Nq > &Q) |
|
|
void | clear () |
|
void | setZero () |
|
void | setRandom () |
|
void | setVacuum () |
|
void | setTarget (qType Qtot) |
|
void | setTarget (vector< qType > Qmulti) |
|
void | setIdentity (const Qbasis< Symmetry > &base1, const Qbasis< Symmetry > &base2, qType Q=Symmetry::qvacuum()) |
|
void | setRandom (const Qbasis< Symmetry > &base1, const Qbasis< Symmetry > &base2, qType Q=Symmetry::qvacuum()) |
|
void | setZero (const Qbasis< Symmetry > &base1, const Qbasis< Symmetry > &base2, qType Q=Symmetry::qvacuum()) |
|
|
Biped< Symmetry, MatrixType_ > | cleaned () const |
|
Biped< Symmetry, MatrixType_ > | sorted () const |
|
Biped< Symmetry, MatrixType_ > | adjoint () const |
|
Biped< Symmetry, MatrixType_ > | transpose () const |
|
Biped< Symmetry, MatrixType_ > | conjugate () const |
|
Biped< Symmetry, MatrixType_ > | adjustQN (const size_t number_cells) |
|
void | cholesky (Biped< Symmetry, MatrixType > &res) const |
|
template<typename EpsScalar > |
tuple< Biped< Symmetry, MatrixType_ >, Biped< Symmetry, MatrixType_ >, Biped< Symmetry, MatrixType_ > > | truncateSVD (size_t minKeep, size_t maxKeep, EpsScalar eps_svd, double &truncWeight, double &entropy, map< qarray< Symmetry::Nq >, Eigen::ArrayXd > &SVspec, bool PRESERVE_MULTIPLETS=true, bool RETURN_SPEC=true) const |
|
template<typename EpsScalar > |
tuple< Biped< Symmetry, MatrixType_ >, Biped< Symmetry, MatrixType_ >, Biped< Symmetry, MatrixType_ > > | truncateSVD (size_t minKeep, size_t maxKeep, EpsScalar eps_svd, double &truncWeight, bool PRESERVE_MULTIPLETS=true) const |
|
pair< Biped< Symmetry, MatrixType_ >, Biped< Symmetry, MatrixType_ > > | QR (bool RETURN_LQ=false, bool MAKE_UNIQUE=false) const |
|
Biped< Symmetry, MatrixType_ > & | operator+= (const Biped< Symmetry, MatrixType_ > &Arhs) |
|
void | addScale (const Scalar &factor, const Biped< Symmetry, MatrixType_ > &Mrhs, BLOCK_POSITION BP=SAME_PLACE) |
|
void | addScale_extend (const Scalar &factor, const Biped< Symmetry, MatrixType_ > &Mrhs) |
|
Biped< Symmetry, MatrixType_ > | contract (const Biped< Symmetry, MatrixType_ > &A, const contract::MODE MODE=contract::MODE::UNITY) const |
|
|
void | push_back (qType qin, qType qout, const MatrixType_ &M) |
|
void | push_back (std::array< qType, 2 > quple, const MatrixType_ &M) |
|
void | try_push_back (std::array< qType, 2 > quple, const MatrixType_ &M) |
|
void | try_push_back (qType qin, qType qout, const MatrixType_ &M) |
|
void | create_block (std::array< qType, 2 > quple) |
|
void | try_create_block (std::array< qType, 2 > quple) |
|