ITK
4.4.0
Insight Segmentation and Registration Toolkit
|
#include <itkFEMItpackSparseMatrix.h>
a compressed row sparse matrix representation that makes use of itpack to dynamically assemble the matrix
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) |
doublereal * | GetA () |
integer * | GetColumnArray () |
integer * | GetIA () |
integer * | GetJA () |
integer | GetMaxNonZeroValues () const |
integer * | GetN () |
integer | GetOrder () const |
integer * | GetRowArray () |
doublereal * | GetValueArray () |
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 | |
doublereal * | m_A |
integer * | m_IA |
integer * | m_IWORK |
integer * | m_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 |
typedef double itk::fem::ItpackSparseMatrix::doublereal |
Definition at line 45 of file itkFEMItpackSparseMatrix.h.
typedef long itk::fem::ItpackSparseMatrix::integer |
typedefs from f2c.h
Definition at line 44 of file itkFEMItpackSparseMatrix.h.
itk::fem::ItpackSparseMatrix::ItpackSparseMatrix | ( | ) |
Constructor
itk::fem::ItpackSparseMatrix::ItpackSparseMatrix | ( | integer | order | ) |
Constructor with single parameter
order | the order of the matrix to be created |
Constructor with two parameters
order | the order of the matrix to be created |
maxNonZeroValues | the maximum number of non-zero values that may appear in the matrix |
itk::fem::ItpackSparseMatrix::~ItpackSparseMatrix | ( | ) |
Destructor
void itk::fem::ItpackSparseMatrix::Add | ( | integer | i, |
integer | j, | ||
doublereal | value | ||
) |
Add to existing entry of matrix
i | row index |
j | column index |
value | value to add to current value at (i,j) |
void itk::fem::ItpackSparseMatrix::Clear | ( | ) |
Clear the memory
|
private |
finalize matrix form
doublereal itk::fem::ItpackSparseMatrix::Get | ( | integer | i, |
integer | j | ||
) |
Get a value from the matrix
i | row index |
j | column index |
doublereal* itk::fem::ItpackSparseMatrix::GetA | ( | ) |
Get the values of the matrix (via "itpack-like" naming scheme)
Referenced by GetValueArray().
|
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().
|
inline |
Get the maximum number of non-zero values allowed in the matrix
Definition at line 177 of file itkFEMItpackSparseMatrix.h.
References m_NZ.
|
inline |
Get the order of the matrix (via "itpack-like" naming scheme)
Definition at line 114 of file itkFEMItpackSparseMatrix.h.
References m_N.
|
inline |
Get the order of the matrix
Definition at line 169 of file itkFEMItpackSparseMatrix.h.
References m_N.
|
inline |
|
inline |
Get the values of the matrix
Definition at line 145 of file itkFEMItpackSparseMatrix.h.
References GetA().
|
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
i | row index |
j | column index |
value | value to be added at (i,j) |
void itk::fem::ItpackSparseMatrix::SetCompressedRow | ( | integer * | ia, |
integer * | ja, | ||
doublereal * | a | ||
) |
Pass pointers to compressed row format arrays
ia | row indices |
ja | column indices |
a | matrix values |
|
inline |
Set the maximum number of non-zero values that may appear in the matrix
maxNonZeroValues | maximum number of non-zero values that may appear in matrix |
Definition at line 84 of file itkFEMItpackSparseMatrix.h.
References m_NZ.
|
inline |
Set the order of the matrix
order | the order of the matrix |
Definition at line 74 of file itkFEMItpackSparseMatrix.h.
References m_N.
|
private |
unfinalize matrix
|
friend |
friend class
Definition at line 203 of file itkFEMItpackSparseMatrix.h.
|
private |
nonzero entries in compressed row storage format
Definition at line 233 of file itkFEMItpackSparseMatrix.h.
|
private |
row pointegerers used in compressed row storage format
Definition at line 227 of file itkFEMItpackSparseMatrix.h.
|
private |
integer workspace used in matrix building
Definition at line 236 of file itkFEMItpackSparseMatrix.h.
|
private |
column indices used in compressed row storage format
Definition at line 230 of file itkFEMItpackSparseMatrix.h.
|
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
Definition at line 256 of file itkFEMItpackSparseMatrix.h.
|
private |
flag indicating whether the matrix representation has been finalized
Definition at line 215 of file itkFEMItpackSparseMatrix.h.
|
private |
flag indicating variables have been initialized
Definition at line 218 of file itkFEMItpackSparseMatrix.h.
|
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.
|
private |
Order of system
Definition at line 221 of file itkFEMItpackSparseMatrix.h.
Referenced by GetN(), GetOrder(), and SetOrder().
|
private |
unit number that error messages are written to during matrix building
Definition at line 247 of file itkFEMItpackSparseMatrix.h.
|
private |
Maximum number of non-zero elements in master stiffness matrix
Definition at line 224 of file itkFEMItpackSparseMatrix.h.
Referenced by GetMaxNonZeroValues(), and SetMaxNonZeroValues().