SparseMatrix Class Reference

Sparse matrix structure optimized for XC data access pattern. More...

#include <sparse_matrix.h>

List of all members.

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 SparsePatternpattern
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

Classes

class  Exception


Detailed Description

Sparse matrix structure optimized for XC data access pattern.


Constructor & Destructor Documentation

SparseMatrix::SparseMatrix ( const SparsePattern pattern_  )  [explicit]

Constructs a square matrix and preallocate according to the specified pattern.

SparseMatrix::SparseMatrix ( const SparsePattern pattern_,
const symmMatrix m,
const int *  aoMap,
std::vector< int > const &  permutationHML 
)

SparseMatrix::~SparseMatrix (  )  [inline]


Member Function Documentation

void SparseMatrix::add ( int  row,
int  col,
ergo_real  val 
) [inline]

Adds given value to an element in given row and column.

Checking against intervals.end() is *terribly* expensive!!! Luckily, we do not have to do it.

void SparseMatrix::addSymmetrizedTo ( symmMatrix sMat,
const int *  aoMap,
std::vector< int > const &  permutationHML 
) const

Assigns itself to a given hierarchic matrix.

ergo_real SparseMatrix::at ( int  row,
int  col 
) const [inline]

void SparseMatrix::createOffsets ( const SparsePattern pattern  )  [private]

Fills in offsets and his based on pattern.

void SparseMatrix::print ( const char *  title  )  const


Member Data Documentation

int* SparseMatrix::cnt [private]

for accelerated at() and add() methods.

ergo_real** SparseMatrix::columns [private]

int** SparseMatrix::his [private]

for accelerated at() and add() methods.

int SparseMatrix::n [private]

int** SparseMatrix::offsets [private]

for accelerated at() and add() methods.

const SparsePattern& SparseMatrix::pattern [private]


The documentation for this class was generated from the following files:
Generated on Wed Nov 21 09:32:13 2012 for ergo by  doxygen 1.4.7