|
v2DM-DOCI
1.0
|
#include <SPM.h>
Inheritance diagram for doci2DM::SPM:
Collaboration diagram for doci2DM::SPM:Public Member Functions | |
| SPM (int L, int N) | |
| SPM (const TPM &) | |
| SPM (const SPM &)=default | |
| SPM (SPM &&)=default | |
| virtual | ~SPM ()=default |
| SPM & | operator= (const SPM &)=default |
| SPM & | operator= (SPM &&)=default |
| double | GetElement (int, int) const |
| int | gN () const |
| int | gL () const |
| int | gn () const |
| void | bar (double, const TPM &) |
| void | bar2 (double, const TPM &) |
| void | bar3 (double, const TPM &) |
| void | bar (double, const PHM &) |
| void | PrintSorted () const |
| std::vector< double > | Particlesperirrep (const simanneal::OptIndex &index, bool print=true) const |
| void | setDim (int, int, int) |
| BlockStructure & | operator+= (const BlockStructure< BlockType > &) |
| BlockStructure & | operator-= (const BlockStructure< BlockType > &) |
| BlockStructure & | daxpy (double alpha, const BlockStructure< BlockType > &) |
| BlockStructure & | operator*= (double) |
| BlockStructure & | operator/= (double) |
| BlockType & | operator[] (int block) |
| const BlockType & | operator[] (int block) const |
| double & | operator() (int block, int i, int j) |
| double | operator() (int block, int i, int j) const |
| double & | operator() (int block, int index) |
| double | operator() (int block, int index) const |
| template<> | |
| double & | operator() (int block, int i, int j) |
| template<> | |
| double | operator() (int block, int i, int j) const |
| template<> | |
| double & | operator() (int block, int index) |
| template<> | |
| double | operator() (int block, int index) const |
| int | gnr () const |
| int | gdim (int) const |
| int | gdeg (int) const |
| double | trace () const |
| double | ddot (const BlockStructure< BlockType > &) const |
| void | dscal (double alpha) |
| double | min () const |
| double | max () const |
| void | fill_Random () |
| void | fill_Random (int) |
| virtual void | invert () |
| virtual void | sqrt (int) |
| virtual void | L_map (const BlockStructure< BlockType > &, const BlockStructure< BlockType > &) |
| virtual BlockStructure< BlockType > & | mprod (const BlockStructure< BlockType > &, const BlockStructure< BlockType > &) |
| void | symmetrize () |
| void | sort () |
| template<> | |
| void | sort () |
| virtual void | sep_pm (BlockStructure< BlockType > &, BlockStructure< BlockType > &) |
Private Attributes | |
| int | N |
| number of particles More... | |
| int | L |
| the size of the sp DOCI space (there are 2*L sp states) More... | |
Friends | |
| std::ostream & | operator<< (std::ostream &output, SPM &spm) |
| SPM::SPM | ( | int | L, |
| int | N | ||
| ) |
| SPM::SPM | ( | const TPM & | tpm | ) |
|
default |
|
default |
|
virtualdefault |
| void SPM::bar | ( | double | scal, |
| const TPM & | tpm | ||
| ) |
| void SPM::bar2 | ( | double | scal, |
| const TPM & | tpm | ||
| ) |
| void SPM::bar3 | ( | double | scal, |
| const TPM & | tpm | ||
| ) |
|
inherited |
add the matrix matrix_pl times the constant alpha to this
| alpha | the constant to multiply the matrix_pl with |
| blockmat_pl | the BlockStructure to be multiplied by alpha and added to this |
Definition at line 172 of file BlockStructure.cpp.
|
inherited |
| blocks_in | input matrix |
Definition at line 293 of file BlockStructure.cpp.
|
inherited |
Scale the blocks (*this) with parameter alpha
| alpha | scalefactor |
Definition at line 320 of file BlockStructure.cpp.
|
inherited |
Fill the matrix with random numbers.
Definition at line 331 of file BlockStructure.cpp.
|
inherited |
Fill the matrix with random numbers.
| seed | the seed to use |
Definition at line 342 of file BlockStructure.cpp.
|
inherited |
Definition at line 268 of file BlockStructure.cpp.
Here is the caller graph for this function:
|
inherited |
Definition at line 259 of file BlockStructure.cpp.
Here is the caller graph for this function:| double SPM::GetElement | ( | int | a, |
| int | b | ||
| ) | const |
Get element a,b from the SPM This does not override the operator()(int,int) from BlockVector
| a | the first sp index |
| b | the second sp index |
| int SPM::gL | ( | ) | const |
|
inherited |
Definition at line 250 of file BlockStructure.cpp.
Here is the caller graph for this function:
|
virtualinherited |
Invert positive semidefinite symmetric blocks which is stored in (*this), original matrix (*this) is destroyed
Reimplemented in doci2DM::PHM.
Definition at line 308 of file BlockStructure.cpp.
|
virtualinherited |
Multiply symmetric blocks object left en right with symmetric blocks map to form another symmetric blocks and put it in (*this): this = map*object*map
| map | BlockStructure that will be multiplied to the left en to the right of matrix object |
| object | central BlockStructure |
Definition at line 367 of file BlockStructure.cpp.
|
inherited |
|
inherited |
|
virtualinherited |
BlockStructure product of two general blockmatrices A en B, put result in this
| A | left matrix |
| B | right matrix |
Definition at line 380 of file BlockStructure.cpp.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
write access to your blocks, change the number in block "block", on row i and column j
| block | The index of the block you want to access |
| i | row number |
| j | column number |
Definition at line 214 of file BlockStructure.cpp.
|
inherited |
read access to your blocks, read the number in block "block" on row i and column j
| block | The index of the block you want to access |
| i | row number |
| j | column number |
Definition at line 227 of file BlockStructure.cpp.
|
inherited |
Definition at line 233 of file BlockStructure.cpp.
|
inherited |
Definition at line 239 of file BlockStructure.cpp.
|
inherited |
Definition at line 196 of file BlockStructure.cpp.
|
inherited |
overload the += operator for matrices
| blockmat_pl | The matrix you want to add to this |
Definition at line 143 of file BlockStructure.cpp.
|
inherited |
overload the -= operator for matrices
| blockmat_pl | The matrix you want to deduct from this |
Definition at line 157 of file BlockStructure.cpp.
|
inherited |
/= operator overloaded: divide by a constant
| c | the number to divide your matrix through |
Definition at line 186 of file BlockStructure.cpp.
|
inherited |
[] overloaded, will return a reference to the block block in the blocks.
| block | index of the block to be returned |
Definition at line 91 of file BlockStructure.cpp.
|
inherited |
[] overloaded, const version, will return a const reference to the block block in the blocks.
| block | index of the block to be returned |
Definition at line 102 of file BlockStructure.cpp.
| std::vector< double > SPM::Particlesperirrep | ( | const simanneal::OptIndex & | index, |
| bool | print = true |
||
| ) | const |
| void SPM::PrintSorted | ( | ) | const |
|
virtualinherited |
Definition at line 410 of file BlockStructure.cpp.
|
inherited |
function that allocates the memory of the blocks block with dimension dim sets and the degeneracy of the matrix
| block | the index of the block that will be allocated |
| dim | the dimension of the particular block to be allocated |
| degeneracy | the degeneracy of block "block" |
Definition at line 76 of file BlockStructure.cpp.
Here is the caller graph for this function:
|
inherited |
|
inherited |
Definition at line 402 of file BlockStructure.cpp.
|
virtualinherited |
Take the square root out of the positive semidefinite blocks, destroys original blocks, square root will be put in (*this)
| option | = 1, positive square root, = -1, negative square root. |
Reimplemented in doci2DM::PHM.
Definition at line 353 of file BlockStructure.cpp.
|
inherited |
Copy upper triangle into lower triangle.
Definition at line 393 of file BlockStructure.cpp.
|
inherited |
Definition at line 277 of file BlockStructure.cpp.
Here is the caller graph for this function:
|
friend |
|
private |