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) |
| |