ITK  4.6.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
itk::fem::ItpackSparseMatrix Class Reference

#include <itkFEMItpackSparseMatrix.h>

Detailed Description

a compressed row sparse matrix representation that makes use of itpack to dynamically assemble the matrix

See Also
ItpackLinearSystemWrapper

Definition at line 39 of file itkFEMItpackSparseMatrix.h.

Public Types

typedef double doublereal
 
typedef long integer
 

Public Member Functions

void Add (integer i, integer j, doublereal value)
 
void Clear ()
 
doublereal Get (integer i, integer j)
 
doublerealGetA ()
 
integerGetColumnArray ()
 
integerGetIA ()
 
integerGetJA ()
 
integer GetMaxNonZeroValues () const
 
integerGetN ()
 
integer GetOrder () const
 
integerGetRowArray ()
 
doublerealGetValueArray ()
 
 ItpackSparseMatrix ()
 
 ItpackSparseMatrix (integer order)
 
 ItpackSparseMatrix (integer order, integer maxNonZeroValues)
 
void mult (doublereal *vector, doublereal *result)
 
void mult (ItpackSparseMatrix *rightMatrix, ItpackSparseMatrix *resultMatrix)
 
void PrintCompressedRow ()
 
void Set (integer i, integer j, doublereal value)
 
void SetCompressedRow (integer *ia, integer *ja, doublereal *a)
 
void SetMaxNonZeroValues (integer maxNonZeroValues)
 
void SetOrder (integer order)
 
 ~ItpackSparseMatrix ()
 

Private Member Functions

void Finalize ()
 
void Initialize ()
 
void UnFinalize ()
 

Private Attributes

doublerealm_A
 
integerm_IA
 
integerm_IWORK
 
integerm_JA
 
integer m_LEVEL
 
integer m_MatrixFinalized
 
integer m_MatrixInitialized
 
integer m_MODE
 
integer m_N
 
integer m_NOUT
 
integer m_NZ
 

Friends

class LinearSystemWrapperItpack
 

Member Typedef Documentation

Definition at line 45 of file itkFEMItpackSparseMatrix.h.

typedefs from f2c.h

Definition at line 44 of file itkFEMItpackSparseMatrix.h.

Constructor & Destructor Documentation

itk::fem::ItpackSparseMatrix::ItpackSparseMatrix ( )

Constructor

itk::fem::ItpackSparseMatrix::ItpackSparseMatrix ( integer  order)

Constructor with single parameter

Parameters
orderthe order of the matrix to be created
itk::fem::ItpackSparseMatrix::ItpackSparseMatrix ( integer  order,
integer  maxNonZeroValues 
)

Constructor with two parameters

Parameters
orderthe order of the matrix to be created
maxNonZeroValuesthe maximum number of non-zero values that may appear in the matrix
itk::fem::ItpackSparseMatrix::~ItpackSparseMatrix ( )

Destructor

Member Function Documentation

void itk::fem::ItpackSparseMatrix::Add ( integer  i,
integer  j,
doublereal  value 
)

Add to existing entry of matrix

Parameters
irow index
jcolumn index
valuevalue to add to current value at (i,j)
void itk::fem::ItpackSparseMatrix::Clear ( )

Clear the memory

void itk::fem::ItpackSparseMatrix::Finalize ( )
private

finalize matrix form

doublereal itk::fem::ItpackSparseMatrix::Get ( integer  i,
integer  j 
)

Get a value from the matrix

Parameters
irow index
jcolumn index
doublereal* itk::fem::ItpackSparseMatrix::GetA ( )

Get the values of the matrix (via "itpack-like" naming scheme)

Referenced by GetValueArray().

integer* itk::fem::ItpackSparseMatrix::GetColumnArray ( )
inline

Get the column indices

Definition at line 153 of file itkFEMItpackSparseMatrix.h.

References GetJA().

integer* itk::fem::ItpackSparseMatrix::GetIA ( )

Get the row indices of the matrix (via "itpack-like" naming scheme)

Referenced by GetRowArray().

integer* itk::fem::ItpackSparseMatrix::GetJA ( )

Get the column indices of the matrix (via "itpack-like" naming scheme)

Referenced by GetColumnArray().

integer itk::fem::ItpackSparseMatrix::GetMaxNonZeroValues ( ) const
inline

Get the maximum number of non-zero values allowed in the matrix

Definition at line 177 of file itkFEMItpackSparseMatrix.h.

References m_NZ.

integer* itk::fem::ItpackSparseMatrix::GetN ( )
inline

Get the order of the matrix (via "itpack-like" naming scheme)

Definition at line 114 of file itkFEMItpackSparseMatrix.h.

References m_N.

integer itk::fem::ItpackSparseMatrix::GetOrder ( ) const
inline

Get the order of the matrix

Definition at line 169 of file itkFEMItpackSparseMatrix.h.

References m_N.

integer* itk::fem::ItpackSparseMatrix::GetRowArray ( )
inline

Get the row indices

Definition at line 161 of file itkFEMItpackSparseMatrix.h.

References GetIA().

doublereal* itk::fem::ItpackSparseMatrix::GetValueArray ( )
inline

Get the values of the matrix

Definition at line 145 of file itkFEMItpackSparseMatrix.h.

References GetA().

void itk::fem::ItpackSparseMatrix::Initialize ( )
private

initialize matrix

void itk::fem::ItpackSparseMatrix::mult ( doublereal vector,
doublereal result 
)

Multiply the matrix by a vector

void itk::fem::ItpackSparseMatrix::mult ( ItpackSparseMatrix rightMatrix,
ItpackSparseMatrix resultMatrix 
)

Multiply the matrix by another ItpackSparseMatrix

void itk::fem::ItpackSparseMatrix::PrintCompressedRow ( )

output compressed row vectors: IA, JA, A

void itk::fem::ItpackSparseMatrix::Set ( integer  i,
integer  j,
doublereal  value 
)

Insert a value into the matrix

Parameters
irow index
jcolumn index
valuevalue to be added at (i,j)
void itk::fem::ItpackSparseMatrix::SetCompressedRow ( integer ia,
integer ja,
doublereal a 
)

Pass pointers to compressed row format arrays

Parameters
iarow indices
jacolumn indices
amatrix values
void itk::fem::ItpackSparseMatrix::SetMaxNonZeroValues ( integer  maxNonZeroValues)
inline

Set the maximum number of non-zero values that may appear in the matrix

Parameters
maxNonZeroValuesmaximum number of non-zero values that may appear in matrix
Note
the maxNonZeroValues must be set before any values are entered

Definition at line 84 of file itkFEMItpackSparseMatrix.h.

References m_NZ.

void itk::fem::ItpackSparseMatrix::SetOrder ( integer  order)
inline

Set the order of the matrix

Parameters
orderthe order of the matrix
Note
the order must be set before any values are entered

Definition at line 74 of file itkFEMItpackSparseMatrix.h.

References m_N.

void itk::fem::ItpackSparseMatrix::UnFinalize ( )
private

unfinalize matrix

Friends And Related Function Documentation

friend class LinearSystemWrapperItpack
friend

friend class

Definition at line 203 of file itkFEMItpackSparseMatrix.h.

Member Data Documentation

doublereal* itk::fem::ItpackSparseMatrix::m_A
private

nonzero entries in compressed row storage format

Definition at line 233 of file itkFEMItpackSparseMatrix.h.

integer* itk::fem::ItpackSparseMatrix::m_IA
private

row pointegerers used in compressed row storage format

Definition at line 227 of file itkFEMItpackSparseMatrix.h.

integer* itk::fem::ItpackSparseMatrix::m_IWORK
private

integer workspace used in matrix building

Definition at line 236 of file itkFEMItpackSparseMatrix.h.

integer* itk::fem::ItpackSparseMatrix::m_JA
private

column indices used in compressed row storage format

Definition at line 230 of file itkFEMItpackSparseMatrix.h.

integer itk::fem::ItpackSparseMatrix::m_LEVEL
private

flag indicating desired level of error reporting during matrix building m_LEVEL < 0 - no printing = 0 - fatal error messages written to m_NOUT > 0 - messages printed when repeat entries are encountered

Note
must be set to less than 0

Definition at line 256 of file itkFEMItpackSparseMatrix.h.

integer itk::fem::ItpackSparseMatrix::m_MatrixFinalized
private

flag indicating whether the matrix representation has been finalized

Definition at line 215 of file itkFEMItpackSparseMatrix.h.

integer itk::fem::ItpackSparseMatrix::m_MatrixInitialized
private

flag indicating variables have been initialized

Definition at line 218 of file itkFEMItpackSparseMatrix.h.

integer itk::fem::ItpackSparseMatrix::m_MODE
private

flag indicating mode of matrix building for repeat entries m_MODE < 0 - current entry left as is = 0 - current entry reset > 0 - value is added to current entry

Definition at line 244 of file itkFEMItpackSparseMatrix.h.

integer itk::fem::ItpackSparseMatrix::m_N
private

Order of system

Definition at line 221 of file itkFEMItpackSparseMatrix.h.

Referenced by GetN(), GetOrder(), and SetOrder().

integer itk::fem::ItpackSparseMatrix::m_NOUT
private

unit number that error messages are written to during matrix building

Definition at line 247 of file itkFEMItpackSparseMatrix.h.

integer itk::fem::ItpackSparseMatrix::m_NZ
private

Maximum number of non-zero elements in master stiffness matrix

Definition at line 224 of file itkFEMItpackSparseMatrix.h.

Referenced by GetMaxNonZeroValues(), and SetMaxNonZeroValues().


The documentation for this class was generated from the following file: