|
ergo
|
Sparse matrix structure optimized for XC data access pattern. More...
#include <sparse_matrix.h>
Classes | |
| class | Exception |
Public Member Functions | |
| SparseMatrix (const SparsePattern &pattern_) | |
| Constructs a square matrix and preallocate according to the specified pattern. | |
| SparseMatrix (const SparsePattern &pattern_, const symmMatrix &m, const int *aoMap, std::vector< int > const &permutationHML) | |
| ~SparseMatrix () | |
| void | print (const char *title) const |
| void | addSymmetrizedTo (symmMatrix &sMat, const int *aoMap, std::vector< int > const &permutationHML) const |
| Assigns itself to a given hierarchic matrix. | |
| void | add (int row, int col, ergo_real val) |
| Adds given value to an element in given row and column. | |
| ergo_real | at (int row, int col) const |
Private Member Functions | |
| void | createOffsets (const SparsePattern &pattern) |
| Fills in offsets and his based on pattern. | |
Private Attributes | |
| const SparsePattern & | pattern |
| ergo_real ** | columns |
| int ** | offsets |
| for accelerated at() and add() methods. | |
| int ** | his |
| for accelerated at() and add() methods. | |
| int * | cnt |
| for accelerated at() and add() methods. | |
| int | n |
Sparse matrix structure optimized for XC data access pattern.
|
explicit |
Constructs a square matrix and preallocate according to the specified pattern.
References columns, createOffsets(), n, and pattern.
| SparseMatrix::SparseMatrix | ( | const SparsePattern & | pattern_, |
| const symmMatrix & | m, | ||
| const int * | aoMap, | ||
| std::vector< int > const & | permutationHML ) |
References SparsePattern::Column::begin(), columns, createOffsets(), SparsePattern::Column::end(), n, and pattern.
|
inline |
| void SparseMatrix::addSymmetrizedTo | ( | symmMatrix & | sMat, |
| const int * | aoMap, | ||
| std::vector< int > const & | permutationHML ) const |
Assigns itself to a given hierarchic matrix.
References SparsePattern::Column::begin(), columns, SparsePattern::Column::end(), n, and pattern.
Referenced by XCEvaluatorRestricted::getXC().
|
inline |
|
private |
Fills in offsets and his based on pattern.
References cnt, his, n, offsets, and SparsePattern::size().
Referenced by SparseMatrix(), and SparseMatrix().
| void SparseMatrix::print | ( | const char * | title | ) | const |
References SparsePattern::Column::begin(), columns, SparsePattern::Column::end(), n, and pattern.
|
private |
for accelerated at() and add() methods.
Referenced by add(), at(), createOffsets(), and ~SparseMatrix().
|
private |
Referenced by add(), addSymmetrizedTo(), at(), print(), SparseMatrix(), SparseMatrix(), and ~SparseMatrix().
|
private |
for accelerated at() and add() methods.
Referenced by add(), at(), createOffsets(), and ~SparseMatrix().
|
private |
Referenced by addSymmetrizedTo(), createOffsets(), print(), SparseMatrix(), SparseMatrix(), and ~SparseMatrix().
|
private |
for accelerated at() and add() methods.
Referenced by add(), at(), createOffsets(), and ~SparseMatrix().
|
private |
Referenced by addSymmetrizedTo(), print(), SparseMatrix(), and SparseMatrix().