escript  Revision_
Public Member Functions | Static Public Member Functions | Public Attributes
paso::SparseMatrix Struct Reference

#include <SparseMatrix.h>

List of all members.

Public Member Functions

 SparseMatrix (SparseMatrixType type, Pattern_ptr pattern, dim_t rowBlockSize, dim_t colBlockSize, bool patternIsUnrolled)
 ~SparseMatrix ()
void setValues (double 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, int *pivot, double *x, const double *b) const
void invMain (double *inv_diag, int *pivot) const
SparseMatrix_ptr unroll (SparseMatrixType type) const
SparseMatrix_ptr 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 getBlock (int blockid) const
SparseMatrix_ptr getTranspose () const
void saveHB_CSC (const char *filename) const
void saveMM_CSC (FILE *handle) const
void saveMM (const char *filename) const
index_tborrowMainDiagonalPointer () const
index_tborrowColoringPointer () 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)

Static Public Member Functions

static SparseMatrix_ptr 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
double * 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

Constructor & Destructor Documentation

paso::SparseMatrix::SparseMatrix ( SparseMatrixType  type,
Pattern_ptr  pattern,
dim_t  rowBlockSize,
dim_t  colBlockSize,
bool  patternIsUnrolled 
)

Member Function Documentation

void paso::SparseMatrix::addAbsRow_CSR_OFFSET0 ( double *  array) const
void paso::SparseMatrix::addRow_CSR_OFFSET0 ( double *  array) const
void paso::SparseMatrix::applyBlockMatrix ( double *  block_diag,
int *  pivot,
double *  x,
const double *  b 
) const
void paso::SparseMatrix::applyDiagonal_CSR_OFFSET0 ( const double *  left,
const double *  right 
)
void paso::SparseMatrix::copyBlockFromMainDiagonal ( double *  out) const
void paso::SparseMatrix::copyBlockToMainDiagonal ( const double *  in)
void paso::SparseMatrix::copyFromMainDiagonal ( double *  out) const
void paso::SparseMatrix::copyToMainDiagonal ( const double *  in)

References numCols.

Referenced by saveMM().

References numRows.

Referenced by saveMM().

double paso::SparseMatrix::getSize ( ) const [inline]

References len.

Referenced by getSparsity().

double paso::SparseMatrix::getSparsity ( ) const [inline]
SparseMatrix_ptr paso::SparseMatrix::getSubmatrix ( dim_t  n_row_sub,
dim_t  n_col_sub,
const index_t row_list,
const index_t new_col_index 
) const

References col_block_size, and numCols.

Referenced by getSparsity().

References numRows, and row_block_size.

Referenced by getSparsity().

void paso::SparseMatrix::invMain ( double *  inv_diag,
int *  pivot 
) const
SparseMatrix_ptr paso::SparseMatrix::loadMM_toCSR ( const char *  filename) [static]
void paso::SparseMatrix::maxAbsRow_CSR_OFFSET0 ( double *  array) const
dim_t paso::SparseMatrix::maxDeg ( ) const [inline]
void paso::SparseMatrix::nullifyRows_CSR ( const double *  mask_row,
double  main_diagonal_value 
)
void paso::SparseMatrix::nullifyRows_CSR_BLK1 ( const double *  mask_row,
double  main_diagonal_value 
)

References MATRIX_FORMAT_OFFSET1, pattern, type, and val.

void paso::SparseMatrix::nullifyRowsAndCols_CSC ( const double *  mask_row,
const double *  mask_col,
double  main_diagonal_value 
)
void paso::SparseMatrix::nullifyRowsAndCols_CSC_BLK1 ( const double *  mask_row,
const double *  mask_col,
double  main_diagonal_value 
)

References MATRIX_FORMAT_OFFSET1, pattern, type, and val.

void paso::SparseMatrix::nullifyRowsAndCols_CSR ( const double *  mask_row,
const double *  mask_col,
double  main_diagonal_value 
)
void paso::SparseMatrix::nullifyRowsAndCols_CSR_BLK1 ( const double *  mask_row,
const double *  mask_col,
double  main_diagonal_value 
)

References MATRIX_FORMAT_OFFSET1, pattern, type, and val.

void paso::SparseMatrix::saveHB_CSC ( const char *  filename) const
void paso::SparseMatrix::saveMM ( const char *  filename) const
void paso::SparseMatrix::saveMM_CSC ( FILE *  handle) const
void paso::SparseMatrix::setValues ( double  value)

References block_size, MATRIX_FORMAT_OFFSET1, pattern, type, and val.

Referenced by SparseMatrix().


Member Data Documentation

Referenced by getSize(), saveHB_CSC(), and SparseMatrix().

pointer to data needed by a solver

Referenced by paso::MKL_free(), paso::UMFPACK_free(), and ~SparseMatrix().

package controlling the solver pointer

Referenced by paso::MKL_free(), and ~SparseMatrix().


The documentation for this struct was generated from the following files: