ITK  4.13.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 40 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 46 of file itkFEMItpackSparseMatrix.h.

typedefs from f2c.h

Definition at line 45 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)

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

Get the column indices

Definition at line 154 of file itkFEMItpackSparseMatrix.h.

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

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

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

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

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

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

Definition at line 178 of file itkFEMItpackSparseMatrix.h.

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

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

Definition at line 115 of file itkFEMItpackSparseMatrix.h.

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

Get the order of the matrix

Definition at line 170 of file itkFEMItpackSparseMatrix.h.

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

Get the row indices

Definition at line 162 of file itkFEMItpackSparseMatrix.h.

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

Get the values of the matrix

Definition at line 146 of file itkFEMItpackSparseMatrix.h.

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 85 of file itkFEMItpackSparseMatrix.h.

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 75 of file itkFEMItpackSparseMatrix.h.

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

unfinalize matrix

Friends And Related Function Documentation

friend class LinearSystemWrapperItpack
friend

friend class

Definition at line 204 of file itkFEMItpackSparseMatrix.h.

Member Data Documentation

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

nonzero entries in compressed row storage format

Definition at line 234 of file itkFEMItpackSparseMatrix.h.

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

row pointegerers used in compressed row storage format

Definition at line 228 of file itkFEMItpackSparseMatrix.h.

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

integer workspace used in matrix building

Definition at line 237 of file itkFEMItpackSparseMatrix.h.

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

column indices used in compressed row storage format

Definition at line 231 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 257 of file itkFEMItpackSparseMatrix.h.

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

flag indicating whether the matrix representation has been finalized

Definition at line 216 of file itkFEMItpackSparseMatrix.h.

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

flag indicating variables have been initialized

Definition at line 219 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 245 of file itkFEMItpackSparseMatrix.h.

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

Order of system

Definition at line 222 of file itkFEMItpackSparseMatrix.h.

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

unit number that error messages are written to during matrix building

Definition at line 248 of file itkFEMItpackSparseMatrix.h.

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

Maximum number of non-zero elements in master stiffness matrix

Definition at line 225 of file itkFEMItpackSparseMatrix.h.


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