escript Revision_
|
#include <SparseMatrix.h>
Public Member Functions | |
SparseMatrix (SparseMatrixType type, Pattern_ptr pattern, dim_t rowBlockSize, dim_t colBlockSize, bool patternIsUnrolled) | |
~SparseMatrix () | |
void | setValues (T value) |
void | copyFromMainDiagonal (double *out) const |
void | copyToMainDiagonal (const double *in) |
void | copyBlockFromMainDiagonal (double *out) const |
void | copyBlockToMainDiagonal (const double *in) |
void | applyBlockMatrix (double *block_diag, index_t *pivot, double *x, const double *b) const |
void | invMain (double *inv_diag, index_t *pivot) const |
SparseMatrix_ptr< double > | unroll (SparseMatrixType type) const |
SparseMatrix_ptr< double > | getSubmatrix (dim_t n_row_sub, dim_t n_col_sub, const index_t *row_list, const index_t *new_col_index) const |
SparseMatrix_ptr< double > | getBlock (int blockid) const |
SparseMatrix_ptr< double > | getTranspose () const |
void | saveHB_CSC (const char *filename) const |
void | saveMM (const char *filename) const |
index_t * | borrowMainDiagonalPointer () const |
index_t * | borrowColoringPointer () const |
dim_t | getNumColors () const |
dim_t | maxDeg () const |
dim_t | getTotalNumRows () const |
dim_t | getTotalNumCols () const |
dim_t | getNumRows () const |
dim_t | getNumCols () const |
double | getSize () const |
double | getSparsity () const |
void | nullifyRowsAndCols_CSC_BLK1 (const double *mask_row, const double *mask_col, double main_diagonal_value) |
void | nullifyRowsAndCols_CSR_BLK1 (const double *mask_row, const double *mask_col, double main_diagonal_value) |
void | nullifyRowsAndCols_CSC (const double *mask_row, const double *mask_col, double main_diagonal_value) |
void | nullifyRowsAndCols_CSR (const double *mask_row, const double *mask_col, double main_diagonal_value) |
void | nullifyRows_CSR_BLK1 (const double *mask_row, double main_diagonal_value) |
void | nullifyRows_CSR (const double *mask_row, double main_diagonal_value) |
void | maxAbsRow_CSR_OFFSET0 (double *array) const |
void | addAbsRow_CSR_OFFSET0 (double *array) const |
void | addRow_CSR_OFFSET0 (double *array) const |
void | applyDiagonal_CSR_OFFSET0 (const double *left, const double *right) |
SparseMatrix_ptr< double > | loadMM_toCSR (const char *filename) |
void | saveMM (const char *filename) const |
void | addAbsRow_CSR_OFFSET0 (double *array) const |
void | maxAbsRow_CSR_OFFSET0 (double *array) const |
void | addRow_CSR_OFFSET0 (double *array) const |
void | copyBlockToMainDiagonal (const double *in) |
void | copyBlockFromMainDiagonal (double *out) const |
void | copyFromMainDiagonal (double *out) const |
void | copyToMainDiagonal (const double *in) |
void | applyDiagonal_CSR_OFFSET0 (const double *left, const double *right) |
void | invMain (double *inv_diag, index_t *pivot) const |
void | applyBlockMatrix (double *block_diag, index_t *pivot, double *x, const double *b) const |
SparseMatrix_ptr< double > | getTranspose () const |
SparseMatrix_ptr< double > | unroll (SparseMatrixType newType) const |
void | saveMM (const char *filename) const |
void | saveHB_CSC (const char *filename) const |
void | saveMM (const char *filename) const |
void | saveHB_CSC (const char *filename) const |
void | saveMM (const char *filename) const |
SparseMatrix_ptr< double > | getSubmatrix (dim_t n_row_sub, dim_t n_col_sub, const index_t *row_list, const index_t *new_col_index) const |
SparseMatrix_ptr< double > | getBlock (int blockid) const |
void | nullifyRows_CSR_BLK1 (const double *mask_row, double main_diagonal_value) |
void | nullifyRows_CSR (const double *mask_row, double main_diagonal_value) |
void | saveHB_CSC (const char *filename) const |
void | saveHB_CSC (const char *filename) const |
Static Public Member Functions | |
static SparseMatrix_ptr< double > | loadMM_toCSR (const char *filename) |
Public Attributes | |
SparseMatrixType | type |
dim_t | row_block_size |
dim_t | col_block_size |
dim_t | block_size |
dim_t | numRows |
dim_t | numCols |
Pattern_ptr | pattern |
dim_t | len |
T * | val |
this is used for classical CSR or CSC | |
index_t | solver_package |
package controlling the solver pointer | |
void * | solver_p |
pointer to data needed by a solver | |
paso::SparseMatrix< T >::SparseMatrix | ( | SparseMatrixType | type, |
Pattern_ptr | pattern, | ||
dim_t | rowBlockSize, | ||
dim_t | colBlockSize, | ||
bool | patternIsUnrolled ) |
References paso::SparseMatrix< T >::block_size, paso::SparseMatrix< T >::col_block_size, paso::SparseMatrix< T >::len, MATRIX_FORMAT_BLK1, MATRIX_FORMAT_CSC, MATRIX_FORMAT_DEFAULT, MATRIX_FORMAT_DIAGONAL_BLOCK, MATRIX_FORMAT_OFFSET1, paso::SparseMatrix< T >::numCols, paso::SparseMatrix< T >::numRows, paso::SparseMatrix< T >::pattern, paso::SparseMatrix< T >::row_block_size, paso::SparseMatrix< T >::setValues(), paso::SparseMatrix< T >::unroll(), and paso::SparseMatrix< T >::val.
paso::SparseMatrix< T >::~SparseMatrix | ( | ) |
void paso::SparseMatrix< double >::addAbsRow_CSR_OFFSET0 | ( | double * | array | ) | const |
void paso::SparseMatrix< T >::addAbsRow_CSR_OFFSET0 | ( | double * | array | ) | const |
void paso::SparseMatrix< double >::addRow_CSR_OFFSET0 | ( | double * | array | ) | const |
void paso::SparseMatrix< T >::addRow_CSR_OFFSET0 | ( | double * | array | ) | const |
void paso::SparseMatrix< double >::applyBlockMatrix | ( | double * | block_diag, |
index_t * | pivot, | ||
double * | x, | ||
const double * | b ) const |
References paso::BlockOps_solveAll(), and paso::util::copy().
void paso::SparseMatrix< T >::applyBlockMatrix | ( | double * | block_diag, |
index_t * | pivot, | ||
double * | x, | ||
const double * | b ) const |
void paso::SparseMatrix< double >::applyDiagonal_CSR_OFFSET0 | ( | const double * | left, |
const double * | right ) |
void paso::SparseMatrix< T >::applyDiagonal_CSR_OFFSET0 | ( | const double * | left, |
const double * | right ) |
|
inline |
References paso::SparseMatrix< T >::pattern.
|
inline |
References paso::SparseMatrix< T >::pattern.
void paso::SparseMatrix< double >::copyBlockFromMainDiagonal | ( | double * | out | ) | const |
void paso::SparseMatrix< T >::copyBlockFromMainDiagonal | ( | double * | out | ) | const |
void paso::SparseMatrix< double >::copyBlockToMainDiagonal | ( | const double * | in | ) |
void paso::SparseMatrix< T >::copyBlockToMainDiagonal | ( | const double * | in | ) |
void paso::SparseMatrix< double >::copyFromMainDiagonal | ( | double * | out | ) | const |
void paso::SparseMatrix< T >::copyFromMainDiagonal | ( | double * | out | ) | const |
void paso::SparseMatrix< double >::copyToMainDiagonal | ( | const double * | in | ) |
void paso::SparseMatrix< T >::copyToMainDiagonal | ( | const double * | in | ) |
SparseMatrix_ptr< double > paso::SparseMatrix< T >::getBlock | ( | int | blockid | ) | const |
SparseMatrix_ptr< double > paso::SparseMatrix< double >::getBlock | ( | int | blockid | ) | const |
|
inline |
References paso::SparseMatrix< T >::pattern.
|
inline |
References paso::SparseMatrix< T >::numCols.
|
inline |
References paso::SparseMatrix< T >::numRows.
|
inline |
References paso::SparseMatrix< T >::len.
Referenced by paso::SparseMatrix< T >::getSparsity().
|
inline |
SparseMatrix_ptr< double > paso::SparseMatrix< T >::getSubmatrix | ( | dim_t | n_row_sub, |
dim_t | n_col_sub, | ||
const index_t * | row_list, | ||
const index_t * | new_col_index ) const |
SparseMatrix_ptr< double > paso::SparseMatrix< double >::getSubmatrix | ( | dim_t | n_row_sub, |
dim_t | n_col_sub, | ||
const index_t * | row_list, | ||
const index_t * | new_col_index ) const |
References paso::BlockOps_Cpy_N(), MATRIX_FORMAT_CSC, and MATRIX_FORMAT_OFFSET1.
|
inline |
References paso::SparseMatrix< T >::col_block_size, and paso::SparseMatrix< T >::numCols.
Referenced by paso::SparseMatrix< T >::getSparsity().
|
inline |
References paso::SparseMatrix< T >::numRows, and paso::SparseMatrix< T >::row_block_size.
Referenced by paso::SparseMatrix< T >::getSparsity().
SparseMatrix_ptr< double > paso::SparseMatrix< double >::getTranspose | ( | ) | const |
SparseMatrix_ptr< double > paso::SparseMatrix< T >::getTranspose | ( | ) | const |
void paso::SparseMatrix< double >::invMain | ( | double * | inv_diag, |
index_t * | pivot ) const |
void paso::SparseMatrix< T >::invMain | ( | double * | inv_diag, |
index_t * | pivot ) const |
SparseMatrix_ptr< double > paso::SparseMatrix< double >::loadMM_toCSR | ( | const char * | filename | ) |
References paso::M, MATRIX_FORMAT_DEFAULT, mm_is_general, mm_is_real, mm_is_sparse, mm_read_banner(), mm_read_mtx_crd_size(), paso::N, paso::nz, and paso::q_sort().
|
static |
void paso::SparseMatrix< double >::maxAbsRow_CSR_OFFSET0 | ( | double * | array | ) | const |
void paso::SparseMatrix< T >::maxAbsRow_CSR_OFFSET0 | ( | double * | array | ) | const |
|
inline |
References paso::SparseMatrix< T >::pattern.
void paso::SparseMatrix< T >::nullifyRows_CSR | ( | const double * | mask_row, |
double | main_diagonal_value ) |
void paso::SparseMatrix< double >::nullifyRows_CSR | ( | const double * | mask_row, |
double | main_diagonal_value ) |
References MATRIX_FORMAT_OFFSET1.
void paso::SparseMatrix< T >::nullifyRows_CSR_BLK1 | ( | const double * | mask_row, |
double | main_diagonal_value ) |
void paso::SparseMatrix< double >::nullifyRows_CSR_BLK1 | ( | const double * | mask_row, |
double | main_diagonal_value ) |
References MATRIX_FORMAT_OFFSET1.
void paso::SparseMatrix< T >::nullifyRowsAndCols_CSC | ( | const double * | mask_row, |
const double * | mask_col, | ||
double | main_diagonal_value ) |
References MATRIX_FORMAT_OFFSET1.
void paso::SparseMatrix< T >::nullifyRowsAndCols_CSC_BLK1 | ( | const double * | mask_row, |
const double * | mask_col, | ||
double | main_diagonal_value ) |
References MATRIX_FORMAT_OFFSET1.
void paso::SparseMatrix< T >::nullifyRowsAndCols_CSR | ( | const double * | mask_row, |
const double * | mask_col, | ||
double | main_diagonal_value ) |
References MATRIX_FORMAT_OFFSET1.
void paso::SparseMatrix< T >::nullifyRowsAndCols_CSR_BLK1 | ( | const double * | mask_row, |
const double * | mask_col, | ||
double | main_diagonal_value ) |
References MATRIX_FORMAT_OFFSET1.
void paso::SparseMatrix< T >::saveHB_CSC | ( | const char * | filename | ) | const |
void paso::SparseMatrix< double >::saveHB_CSC | ( | const char * | filename | ) | const |
void paso::SparseMatrix< cplx_t >::saveHB_CSC | ( | const char * | filename | ) | const |
void paso::SparseMatrix< double >::saveHB_CSC | ( | const char * | filename | ) | const |
References paso::generate_HB(), paso::M, MATRIX_FORMAT_OFFSET1, and paso::N.
void paso::SparseMatrix< cplx_t >::saveHB_CSC | ( | const char * | filename | ) | const |
void paso::SparseMatrix< double >::saveMM | ( | const char * | filename | ) | const |
void paso::SparseMatrix< cplx_t >::saveMM | ( | const char * | filename | ) | const |
void paso::SparseMatrix< T >::saveMM | ( | const char * | filename | ) | const |
void paso::SparseMatrix< double >::saveMM | ( | const char * | filename | ) | const |
void paso::SparseMatrix< cplx_t >::saveMM | ( | const char * | filename | ) | const |
void paso::SparseMatrix< T >::setValues | ( | T | value | ) |
References MATRIX_FORMAT_OFFSET1.
Referenced by paso::SparseMatrix< T >::SparseMatrix().
SparseMatrix_ptr< double > paso::SparseMatrix< double >::unroll | ( | SparseMatrixType | newType | ) | const |
References paso::util::comparIndex(), MATRIX_FORMAT_BLK1, MATRIX_FORMAT_CSC, and MATRIX_FORMAT_OFFSET1.
SparseMatrix_ptr< double > paso::SparseMatrix< T >::unroll | ( | SparseMatrixType | type | ) | const |
Referenced by paso::SparseMatrix< T >::SparseMatrix().
dim_t paso::SparseMatrix< T >::block_size |
Referenced by paso::SparseMatrix< T >::SparseMatrix().
dim_t paso::SparseMatrix< T >::col_block_size |
Referenced by paso::SparseMatrix< T >::getTotalNumCols(), and paso::SparseMatrix< T >::SparseMatrix().
dim_t paso::SparseMatrix< T >::len |
Referenced by paso::SparseMatrix< T >::getSize(), and paso::SparseMatrix< T >::SparseMatrix().
dim_t paso::SparseMatrix< T >::numCols |
dim_t paso::SparseMatrix< T >::numRows |
Pattern_ptr paso::SparseMatrix< T >::pattern |
dim_t paso::SparseMatrix< T >::row_block_size |
Referenced by paso::SparseMatrix< T >::getTotalNumRows(), and paso::SparseMatrix< T >::SparseMatrix().
void* paso::SparseMatrix< T >::solver_p |
pointer to data needed by a solver
Referenced by paso::MKL_free(), paso::MUMPS_free(), and paso::UMFPACK_free().
index_t paso::SparseMatrix< T >::solver_package |
package controlling the solver pointer
Referenced by paso::MKL_free().
SparseMatrixType paso::SparseMatrix< T >::type |
T* paso::SparseMatrix< T >::val |
this is used for classical CSR or CSC
Referenced by paso::MKL_free(), and paso::SparseMatrix< T >::SparseMatrix().