escript  Revision_
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
paso::SparseMatrix Struct Reference

#include <SparseMatrix.h>

Inheritance diagram for paso::SparseMatrix:

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, index_t *pivot, double *x, const double *b) const
 
void invMain (double *inv_diag, index_t *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 (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)
 

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 More...
 
index_t solver_package
 package controlling the solver pointer More...
 
void * solver_p
 pointer to data needed by a solver More...
 

Constructor & Destructor Documentation

◆ SparseMatrix()

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

◆ ~SparseMatrix()

paso::SparseMatrix::~SparseMatrix ( )

Member Function Documentation

◆ addAbsRow_CSR_OFFSET0()

void paso::SparseMatrix::addAbsRow_CSR_OFFSET0 ( double *  array) const

References block_size, col_block_size, pattern, row_block_size, and val.

Referenced by getSparsity().

◆ addRow_CSR_OFFSET0()

void paso::SparseMatrix::addRow_CSR_OFFSET0 ( double *  array) const

References block_size, col_block_size, pattern, row_block_size, and val.

Referenced by getSparsity().

◆ applyBlockMatrix()

void paso::SparseMatrix::applyBlockMatrix ( double *  block_diag,
index_t *  pivot,
double *  x,
const double *  b 
) const

◆ applyDiagonal_CSR_OFFSET0()

void paso::SparseMatrix::applyDiagonal_CSR_OFFSET0 ( const double *  left,
const double *  right 
)

References col_block_size, pattern, row_block_size, and val.

Referenced by getSparsity().

◆ borrowColoringPointer()

index_t* paso::SparseMatrix::borrowColoringPointer ( ) const
inline

◆ borrowMainDiagonalPointer()

index_t* paso::SparseMatrix::borrowMainDiagonalPointer ( ) const
inline

◆ copyBlockFromMainDiagonal()

void paso::SparseMatrix::copyBlockFromMainDiagonal ( double *  out) const

◆ copyBlockToMainDiagonal()

void paso::SparseMatrix::copyBlockToMainDiagonal ( const double *  in)

◆ copyFromMainDiagonal()

void paso::SparseMatrix::copyFromMainDiagonal ( double *  out) const

◆ copyToMainDiagonal()

void paso::SparseMatrix::copyToMainDiagonal ( const double *  in)

◆ getBlock()

SparseMatrix_ptr paso::SparseMatrix::getBlock ( int  blockid) const

◆ getNumColors()

dim_t paso::SparseMatrix::getNumColors ( ) const
inline

◆ getNumCols()

dim_t paso::SparseMatrix::getNumCols ( ) const
inline

References numCols.

Referenced by saveMM().

◆ getNumRows()

dim_t paso::SparseMatrix::getNumRows ( ) const
inline

References numRows.

Referenced by saveMM().

◆ getSize()

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

References len.

Referenced by getSparsity().

◆ getSparsity()

double paso::SparseMatrix::getSparsity ( ) const
inline

◆ getSubmatrix()

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

◆ getTotalNumCols()

dim_t paso::SparseMatrix::getTotalNumCols ( ) const
inline

References col_block_size, and numCols.

Referenced by getSparsity().

◆ getTotalNumRows()

dim_t paso::SparseMatrix::getTotalNumRows ( ) const
inline

References numRows, and row_block_size.

Referenced by getSparsity().

◆ getTranspose()

SparseMatrix_ptr paso::SparseMatrix::getTranspose ( ) const

◆ invMain()

void paso::SparseMatrix::invMain ( double *  inv_diag,
index_t *  pivot 
) const

◆ loadMM_toCSR()

SparseMatrix_ptr paso::SparseMatrix::loadMM_toCSR ( const char *  filename)
static

◆ maxAbsRow_CSR_OFFSET0()

void paso::SparseMatrix::maxAbsRow_CSR_OFFSET0 ( double *  array) const

References block_size, col_block_size, pattern, row_block_size, and val.

Referenced by getSparsity().

◆ maxDeg()

dim_t paso::SparseMatrix::maxDeg ( ) const
inline

◆ nullifyRows_CSR()

void paso::SparseMatrix::nullifyRows_CSR ( const double *  mask_row,
double  main_diagonal_value 
)

◆ nullifyRows_CSR_BLK1()

void paso::SparseMatrix::nullifyRows_CSR_BLK1 ( const double *  mask_row,
double  main_diagonal_value 
)

References MATRIX_FORMAT_OFFSET1, pattern, type, and val.

Referenced by getSparsity().

◆ nullifyRowsAndCols_CSC()

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

◆ nullifyRowsAndCols_CSC_BLK1()

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.

Referenced by getSparsity().

◆ nullifyRowsAndCols_CSR()

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

◆ nullifyRowsAndCols_CSR_BLK1()

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.

Referenced by getSparsity().

◆ saveHB_CSC()

void paso::SparseMatrix::saveHB_CSC ( const char *  filename) const

◆ saveMM()

void paso::SparseMatrix::saveMM ( const char *  filename) const

◆ setValues()

void paso::SparseMatrix::setValues ( double  value)

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

Referenced by SparseMatrix().

◆ unroll()

SparseMatrix_ptr paso::SparseMatrix::unroll ( SparseMatrixType  type) const

Member Data Documentation

◆ block_size

dim_t paso::SparseMatrix::block_size

◆ col_block_size

dim_t paso::SparseMatrix::col_block_size

◆ len

dim_t paso::SparseMatrix::len

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

◆ numCols

dim_t paso::SparseMatrix::numCols

◆ numRows

dim_t paso::SparseMatrix::numRows

◆ pattern

Pattern_ptr paso::SparseMatrix::pattern

◆ row_block_size

dim_t paso::SparseMatrix::row_block_size

◆ solver_p

void* paso::SparseMatrix::solver_p

pointer to data needed by a solver

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

◆ solver_package

index_t paso::SparseMatrix::solver_package

package controlling the solver pointer

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

◆ type

SparseMatrixType paso::SparseMatrix::type

◆ val

double* paso::SparseMatrix::val

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