#include <QCSymMatrix.hpp>
Inheritance diagram for QCSymMatrix:
Definition at line 35 of file QCSymMatrix.hpp.
Public Member Functions | |
void | changeComputedSystem (void) |
void | completeSubTriangle (const QCSymMatrix &__restrict__ subMatrix, int row, int nbRows) |
void | copy (const QCMatrix &otherMatrix) const |
void | copyIn (const QCMatrix &otherMatrix) const |
void | copyInAndFill (const QCMatrix &otherMatrix) const |
bool | diagonalize (QCMemory &__restrict__ memoryInst, QCDiagoAlgorithm &diagoAlgorithm, const QCFloat &toleranceFactor, QCFloat *__restrict__ eigenVal, int *__restrict__ degener, QCFloat *__restrict__ eigenVect, const int &nbIte) |
void | extractSubTriangle (QCSymMatrix &__restrict__ subMatrix, int row, int nbRows) const |
void | extractSubTriangleInSquare (QCMatrix &__restrict__ subSquare, int row, int nbRows) const |
void | insertSubTriangle (const QCSymMatrix &__restrict__ subMatrix, int row, int nbRows) |
QCFloat *__restrict__ | operator[] (int i) const |
void | power (QCMemory &__restrict__ memoryInst, const QCSymMatrix &matrixA, const int &dimToMultiplyOfA, const QCFloat &alpha=QC_ONE) |
void | power (QCMemory &__restrict__ memoryInst, const QCSymMatrix &matrixA, const QCFloat &alpha=QC_ONE) |
void | print (char *matrixName, const int &dim1) const |
void | print (const std::string &matrixName, std::ofstream &out) |
void | print (char *matrixName) const |
void | printFullInFile (const char *preFileName) |
void | printInFile (const char *preFileName, bool date=true) |
QCSymMatrix (const int &dimMatrix) | |
QCSymMatrix (void) | |
void | setDim (const int &dimMatrix) |
bool | setDimAndAllocate (const int &dimMatrix) |
bool | setDimAndElems (const int &dimMatrix, QCFloat *extElems) |
bool | takeTmpMem (QCMemory &__restrict__ memoryInst) |
QCFloat | traceProduct (const QCSymMatrix &otherMatrix) const |
void | unsetElems (void) |
template<class TPManager> | |
void | writeLikeBlocks (TPManager &QCRestrict managerInst) const |
template<class TPManager> | |
void | writeLikeBlocks (TPManager &__restrict__ managerInst) const |
virtual | ~QCSymMatrix (void) |
Private Member Functions | |
void | updateDiagonalizeLocalVar (QCDiagoAlgorithm &diagoAlgorithm, const int &dimOfThePartToDiago, int &nb, int &workingDim, int &workingArray1Size, int &workingArray2Size) |
Private Attributes | |
bool | computedSystemHasChanged |
|
Definition at line 31 of file QCSymMatrix.cpp. |
|
Constructor with one parameter, it takes charge of the sizing and of the memory allocation because it recieves the dim. Definition at line 42 of file QCSymMatrix.cpp. References setDimAndAllocate(). Here is the call graph for this function: ![]() |
|
Definition at line 60 of file QCSymMatrix.cpp. |
|
Set computedSystemHasChanged to true. Definition at line 205 of file QCSymMatrix.hpp. References computedSystemHasChanged. |
|
Complete a 1/2 diagonal block in this QCSymMatrix. Definition at line 454 of file QCSymMatrix.hpp. References QCMatrix::vectorPtr. |
|
The reciprocal : copy of a CQCSymMatrix in a CQCMatrix. This is useful to interface with the blas function that don't use symetric matrix storage format. Definition at line 296 of file QCSymMatrix.hpp. References QCMatrix::dim, QCMatrix::elems, QCMatrix::getDim(), QCMatrix::getElems(), QCMatrix::getVectorPtr(), and QCMatrix::vectorPtr. Referenced by QCMDSystem< TPSolver >::completeDensityMatrices(), QCSCFAlgo::fixPoint(), and QCSCFAlgo::optimalDamping(). Here is the call graph for this function: ![]() |
|
Be careful, the 2 matrices must be of the same size otherwise, it aborts. Copy of a QCSymMatrix in a QCMatrix. I can't locate that method in QCMatrix otherwise, problem of mutual inclusion between QCMatrix.h and QCSymMatrix.hpp. To solve it, necessity to create a file dedicated to inline methods. Too loud solution for the development team actually. Definition at line 265 of file QCSymMatrix.hpp. References QCMatrix::dim, QCMatrix::elems, QCMatrix::getDim(), QCMatrix::getElems(), QCMatrix::getVectorPtr(), and QCMatrix::vectorPtr. Referenced by copyInAndFill(). Here is the call graph for this function: ![]() |
|
Copy of a CQCSymMatrix in a CQCMatrix and fill the dense QCMatrix. Definition at line 328 of file QCSymMatrix.hpp. References copyIn(), QCMatrix::dim, and QCMatrix::vectorPtr. Here is the call graph for this function: ![]() |
|
Method to diagonalise the matrix. This method is const because the matrix is copied in a working array before the diagonalisation. |
|
Extract a 1/2 diagonal block (triangle) of the QCSymMatrix. Definition at line 349 of file QCSymMatrix.hpp. References QCMatrix::vectorPtr. |
|
Extract a 1/2 diagonal block of the QCSymMatrix in a square symetric block. Definition at line 387 of file QCSymMatrix.hpp. References QCMatrix::vectorPtr. |
|
Insert a 1/2 diagonal block in this QCSymMatrix. Definition at line 415 of file QCSymMatrix.hpp. References QCMatrix::vectorPtr. |
|
The operator []. I do an overload of this operator to obtain the right behavior for the [][]. Reimplemented from QCMatrix. Definition at line 105 of file QCSymMatrix.hpp. References QCMatrix::vectorPtr. |
|
Multiplication of matrices. performs C <- alpha * A^2 |
|
Multiplication of matrices. performs C <- alpha * A^2 Definition at line 478 of file QCSymMatrix.hpp. References QCMatrix::dim. |
|
Definition at line 228 of file QCSymMatrix.cpp. References QCMatrix::vectorPtr. |
|
Write matrix in stream out Definition at line 216 of file QCSymMatrix.cpp. References QCMatrix::dim, and QCMatrix::vectorPtr. |
|
Methods for printing Reimplemented from QCMatrix. Definition at line 203 of file QCSymMatrix.cpp. References QCMatrix::dim, and QCMatrix::vectorPtr. Referenced by QCTrace::writeDensityMatrix(), QCTrace::writeFockMatrix(), QCTrace::writeHamiltonMatrix(), and QCTrace::writeReducedDensityMatrix(). |
|
Method to print in a file in a dense format; that means the 2 symetric elements of a matrix are printed. Definition at line 281 of file QCSymMatrix.cpp. References QCMatrix::dim, QCCommon::getTimeStr(), OUTPUT_SUFFIX(), and QCMatrix::vectorPtr. Here is the call graph for this function: ![]() |
|
Methode d affichage dans un fichier, on passe une string pour caracteriser le nom du fichier Reimplemented from QCMatrix. Definition at line 246 of file QCSymMatrix.cpp. References QCMatrix::dim, QCCommon::getTimeStr(), QCCommon::outdir, OUTPUT_SUFFIX(), PATH_SEPARATOR(), and QCMatrix::vectorPtr. Referenced by QCMDSystem< TPSolver >::completeDensityMatrices(), QCMDSystem< TPSolver >::completeFockMatricesAndElecEnergy(), QCMDSystem< TPSolver >::completeHamiltonMatrices(), and QCOverlapGtr< TPMatrix >::computeDerivatives(). Here is the call graph for this function: ![]() |
|
Assign dim and nbElems. Reimplemented from QCMatrix. Definition at line 69 of file QCSymMatrix.cpp. References QCMatrix::dim, and QCMatrix::nbElems. |
|
Method to assign dim and to reserve the space memory. Reimplemented from QCMatrix. Definition at line 84 of file QCSymMatrix.cpp. References QCMatrix::dim, QCMatrix::elems, QCMatrix::initClean(), QCMatrix::nbElems, and QCMatrix::vectorPtr. Referenced by QCSubDomain::allocStructures(), and QCSymMatrix(). Here is the call graph for this function: ![]() |
|
Method to assign dim and elems. Definition at line 116 of file QCSymMatrix.cpp. References QCMatrix::dim, QCMatrix::elems, QCMatrix::nbElems, and QCMatrix::vectorPtr. |
|
Demand of temp memory for the matrix Reimplemented from QCMatrix. Referenced by QCModelMatrices::buildMatrices(), QCGlobalSystem< TPSolver >::computeEnergyDerivatives(), and QCSCFAlgo::optimalDamping(). |
|
Return the trace of the product of *this by otherMatrix Definition at line 440 of file QCSymMatrix.cpp. References QCMatrix::dim, QCMatrix::elems, QCMatrix::getDim(), QCMatrix::getElems(), QCMatrix::getNbElems(), QCMatrix::nbElems, QC_TWO, QC_ZERO, QCCBlas, QCMatrix::trace(), and QCMatrix::vectorPtr. Referenced by QCSubDomain::modifyMatricesAndEnergy(). Here is the call graph for this function: ![]() |
|
Definition at line 151 of file QCSymMatrix.cpp. References QCMatrix::dim, QCMatrix::elems, and QCMatrix::nbElems. |
|
Update of the static local variables of the diagonalise method. |
|
Definition at line 540 of file QCSymMatrix.cpp. |
|
Writing of the matrix in a sub-block format. Each sub-block describe an atom-atom interaction. |
|
Flag to mark that the computed system has changed. Then the static local variables of the diagonalise method must be updated. Definition at line 252 of file QCSymMatrix.hpp. Referenced by changeComputedSystem(). |