ITK  4.4.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | List of all members
itk::fem::LinearSystemWrapper Class Referenceabstract

#include <itkFEMLinearSystemWrapper.h>

+ Inheritance diagram for itk::fem::LinearSystemWrapper:
+ Collaboration diagram for itk::fem::LinearSystemWrapper:

Detailed Description

Defines all functions required by Solver class to allocate, assemble and solve a linear system of equation.

Linear system is defined as A*x=B, where A is a square matrix and F is a vector. Member functions are provided to access a specific element within A and B. Objects of derived classes should make appropriate calls to the numeric library in implementation of virtual functions to assemble and solve the linear system.

See comments for each virtual member for more information about how to derive a new LinearSystemWrapper class. An example derived class LinearSystemWrapperVNL is defined to use VNL sparse matrix representation and solver.

See Also
Solver::SetLinearSystemWrapper

Definition at line 53 of file itkFEMLinearSystemWrapper.h.

Public Types

typedef std::vector< unsigned int > ColumnArray
 
typedef const SelfConstPointer
 
typedef SelfPointer
 
typedef LinearSystemWrapper Self
 
typedef Solution Superclass
 
- Public Types inherited from itk::fem::Solution
typedef const SelfConstPointer
 
typedef double Float
 
typedef SelfPointer
 
typedef Solution Self
 
typedef Solution Superclass
 

Public Member Functions

virtual void AddMatrixMatrix (unsigned int matrixIndex1, unsigned int matrixIndex2)
 
virtual void AddMatrixValue (unsigned int i, unsigned int j, Float value, unsigned int matrixIndex=0)=0
 
virtual void AddSolutionValue (unsigned int i, Float value, unsigned int solutionIndex=0)=0
 
virtual void AddVectorValue (unsigned int i, Float value, unsigned int vectorIndex=0)=0
 
virtual void AddVectorVector (unsigned int vectorIndex1, unsigned int vectorIndex2)
 
virtual void Clean (void)
 
virtual void CopyMatrix (unsigned int matrixIndex1, unsigned int matrixIndex2)
 
virtual void CopySolution2Vector (unsigned int solutionIndex, unsigned int vectorIndex)=0
 
virtual void CopyVector (unsigned int vectorSource, unsigned int vectorDestination)
 
virtual void CopyVector2Solution (unsigned int vectorIndex, unsigned int solutionIndex)=0
 
virtual void DestroyMatrix (unsigned int matrixIndex=0)=0
 
virtual void DestroySolution (unsigned int solutionIndex=0)=0
 
virtual void DestroyVector (unsigned int vectorIndex=0)=0
 
virtual void GetColumnsOfNonZeroMatrixElementsInRow (unsigned int row, ColumnArray &cols, unsigned int matrixIndex=0)
 
virtual Float GetMatrixValue (unsigned int i, unsigned int j, unsigned int matrixIndex=0) const =0
 
unsigned int GetNumberOfMatrices () const
 
unsigned int GetNumberOfSolutions () const
 
unsigned int GetNumberOfVectors () const
 
unsigned int GetSystemOrder () const
 
virtual Float GetVectorValue (unsigned int i, unsigned int vectorIndex=0) const =0
 
virtual void InitializeMatrix (unsigned int matrixIndex=0)=0
 
virtual void InitializeSolution (unsigned int solutionIndex=0)=0
 
virtual void InitializeVector (unsigned int vectorIndex=0)=0
 
virtual bool IsMatrixInitialized (unsigned int matrixIndex=0)=0
 
virtual bool IsSolutionInitialized (unsigned int solutionIndex=0)=0
 
virtual bool IsVectorInitialized (unsigned int vectorIndex=0)=0
 
virtual void MultiplyMatrixMatrix (unsigned int resultMatrixIndex, unsigned int leftMatrixIndex, unsigned int rightMatrixIndex)=0
 
virtual void MultiplyMatrixSolution (unsigned int resultVectorIndex, unsigned int matrixIndex, unsigned int solutionIndex)
 
virtual void MultiplyMatrixVector (unsigned int resultVectorIndex, unsigned int matrixIndex, unsigned int vectorIndex)
 
virtual void OptimizeMatrixStorage (unsigned int matrixIndex, unsigned int tempMatrixIndex)
 
virtual void ReverseCuthillMckeeOrdering (ColumnArray &newNumbering, unsigned int matrixIndex=0)
 
virtual void ScaleMatrix (Float scale, unsigned int matrixIndex=0)
 
void ScaleSolution (Float scale, unsigned int solutionIndex=0)
 
void ScaleVector (Float scale, unsigned int vectorIndex=0)
 
virtual void SetMatrixValue (unsigned int i, unsigned int j, Float value, unsigned int matrixIndex=0)=0
 
void SetNumberOfMatrices (unsigned int nMatrices)
 
void SetNumberOfSolutions (unsigned int nSolutions)
 
void SetNumberOfVectors (unsigned int nVectors)
 
virtual void SetSolutionValue (unsigned int i, Float value, unsigned int solutionIndex=0)=0
 
void SetSystemOrder (unsigned int N)
 
virtual void SetVectorValue (unsigned int i, Float value, unsigned int vectorIndex=0)=0
 
virtual void Solve (void)=0
 
virtual void SwapMatrices (unsigned int matrixIndex1, unsigned int matrixIndex2)=0
 
virtual void SwapSolutions (unsigned int solutionIndex1, unsigned int solutionIndex2)=0
 
virtual void SwapVectors (unsigned int vectorIndex1, unsigned int vectorIndex2)=0
 
virtual ~LinearSystemWrapper ()
 
 LinearSystemWrapper ()
 
- Public Member Functions inherited from itk::fem::Solution
virtual Float GetSolutionValue (unsigned int i, unsigned int solutionIndex=0) const =0
 
virtual ~Solution ()
 

Protected Attributes

unsigned int m_NumberOfMatrices
 
unsigned int m_NumberOfSolutions
 
unsigned int m_NumberOfVectors
 
unsigned int m_Order
 

Private Member Functions

void CuthillMckeeOrdering (ColumnArray &newNumbering, int startingRow, unsigned int matrixIndex=0)
 
void FollowConnectionsCuthillMckeeOrdering (unsigned int rowNumber, ColumnArray &rowDegree, ColumnArray &newNumbering, unsigned int nextRowNumber, unsigned int matrixIndex=0)
 
 LinearSystemWrapper (const LinearSystemWrapper &)
 
const LinearSystemWrapperoperator= (const LinearSystemWrapper &)
 

Member Typedef Documentation

typedef std::vector<unsigned int> itk::fem::LinearSystemWrapper::ColumnArray

Definition at line 61 of file itkFEMLinearSystemWrapper.h.

Definition at line 59 of file itkFEMLinearSystemWrapper.h.

Definition at line 58 of file itkFEMLinearSystemWrapper.h.

Definition at line 56 of file itkFEMLinearSystemWrapper.h.

Definition at line 57 of file itkFEMLinearSystemWrapper.h.

Constructor & Destructor Documentation

itk::fem::LinearSystemWrapper::LinearSystemWrapper ( )
inline

Constructor for linear system, should perform any initialization that is required by derived class.

Definition at line 67 of file itkFEMLinearSystemWrapper.h.

virtual itk::fem::LinearSystemWrapper::~LinearSystemWrapper ( )
inlinevirtual

Virtual destructor should properly destroy the object and clean up any memory allocated for matrix and vector storage.

Definition at line 79 of file itkFEMLinearSystemWrapper.h.

itk::fem::LinearSystemWrapper::LinearSystemWrapper ( const LinearSystemWrapper )
private

Copy constructor is not allowed.

Member Function Documentation

virtual void itk::fem::LinearSystemWrapper::AddMatrixMatrix ( unsigned int  matrixIndex1,
unsigned int  matrixIndex2 
)
virtual

Adds two matrices storing the result in the first matrix.

Parameters
matrixIndex1index of a matrix to add the other matrix to
matrixIndex2index of matrix to add
virtual void itk::fem::LinearSystemWrapper::AddMatrixValue ( unsigned int  i,
unsigned int  j,
Float  value,
unsigned int  matrixIndex = 0 
)
pure virtual

Virtual function to add a value to a specific element of the A matrix.

Parameters
irow of the element
jcolumn of the element
valuevalue to add to the existing element
matrixIndexindex of matrix to add value to

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::AddSolutionValue ( unsigned int  i,
Float  value,
unsigned int  solutionIndex = 0 
)
pure virtual

Virtual function to add a value of specific element of the solution vector.

Parameters
ielement Index in solution vector
valuenew value of the element
solutionIndexindex of solution vector to add value to

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::AddVectorValue ( unsigned int  i,
Float  value,
unsigned int  vectorIndex = 0 
)
pure virtual

Virtual function to add a value to a specific element of the B vector.

Parameters
irow of the element
valuevalue to add to the existing element
vectorIndexindex of vector to add value to

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::AddVectorVector ( unsigned int  vectorIndex1,
unsigned int  vectorIndex2 
)
virtual

Adds two vectors storing the result in the first vector.

Parameters
vectorIndex1index of a vector to add the other vector to
vectorIndex2index of vector to add
virtual void itk::fem::LinearSystemWrapper::Clean ( void  )
virtual

Clear all the data (matrices) inside the system, so that the system is ready to solve another problem from scratch.

virtual void itk::fem::LinearSystemWrapper::CopyMatrix ( unsigned int  matrixIndex1,
unsigned int  matrixIndex2 
)
virtual

Copies the content of source matrix to destination matrix. Any existing data in destination matrix is overwritten.

Parameters
matrixIndex1index of a matrix that will be copied
matrixIndex2index of matrix to copy to
virtual void itk::fem::LinearSystemWrapper::CopySolution2Vector ( unsigned int  solutionIndex,
unsigned int  vectorIndex 
)
pure virtual

Copy a solution vector to a vector

Parameters
solutionIndexindex of solution vector to copy
vectorIndexindex of vector to copy solution to
virtual void itk::fem::LinearSystemWrapper::CopyVector ( unsigned int  vectorSource,
unsigned int  vectorDestination 
)
virtual

Copy a vector

Parameters
vectorSourceindex of a vector to copy
vectorDestinationindex to copy the vector to
virtual void itk::fem::LinearSystemWrapper::CopyVector2Solution ( unsigned int  vectorIndex,
unsigned int  solutionIndex 
)
pure virtual

Copy a vector to a solution vector

Parameters
vectorIndexindex of a vector to copy
solutionIndexindex of a solution to copy the solution to

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.

void itk::fem::LinearSystemWrapper::CuthillMckeeOrdering ( ColumnArray newNumbering,
int  startingRow,
unsigned int  matrixIndex = 0 
)
private

matrix reordering utility

virtual void itk::fem::LinearSystemWrapper::DestroyMatrix ( unsigned int  matrixIndex = 0)
pure virtual

Free the memory from a matrix

Parameters
matrixIndexindex of matrix to destroy

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::DestroySolution ( unsigned int  solutionIndex = 0)
pure virtual

Free the memory from a solution vector

Parameters
solutionIndexindex of solution vector to destroy

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::DestroyVector ( unsigned int  vectorIndex = 0)
pure virtual

Free the memory from a vector

Parameters
vectorIndexindex of vector to destroy

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

void itk::fem::LinearSystemWrapper::FollowConnectionsCuthillMckeeOrdering ( unsigned int  rowNumber,
ColumnArray rowDegree,
ColumnArray newNumbering,
unsigned int  nextRowNumber,
unsigned int  matrixIndex = 0 
)
private
virtual void itk::fem::LinearSystemWrapper::GetColumnsOfNonZeroMatrixElementsInRow ( unsigned int  row,
ColumnArray cols,
unsigned int  matrixIndex = 0 
)
virtual

Returns the column index (zero based) of the i-th non zero (non allocated)element in a given row of A matrix. This function is useful for optimizations when sparse matrices are used. Note that the value of an element with returned column index may actually be equal zero.

Parameters
rowRow number
colsWhich element in that row. Can range from 0 to number of elements allocated in a row. If this is out of range, the function returns -1.
matrixIndexIndex of matrix (defaults to 0)

Reimplemented in itk::fem::LinearSystemWrapperItpack.

virtual Float itk::fem::LinearSystemWrapper::GetMatrixValue ( unsigned int  i,
unsigned int  j,
unsigned int  matrixIndex = 0 
) const
pure virtual

Virtual function to get a value of a specific element of a matrix.

Parameters
irow of the element
jcolumn of the element
matrixIndexindex of matrix to get value from

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

unsigned int itk::fem::LinearSystemWrapper::GetNumberOfMatrices ( ) const
inline

Get Index of matrices used by system

Definition at line 129 of file itkFEMLinearSystemWrapper.h.

References m_NumberOfMatrices.

unsigned int itk::fem::LinearSystemWrapper::GetNumberOfSolutions ( ) const
inline

Get Index of solutions used by system

Definition at line 163 of file itkFEMLinearSystemWrapper.h.

References m_NumberOfSolutions.

unsigned int itk::fem::LinearSystemWrapper::GetNumberOfVectors ( ) const
inline

Get Index of vectors used by system

Definition at line 146 of file itkFEMLinearSystemWrapper.h.

References m_NumberOfVectors.

unsigned int itk::fem::LinearSystemWrapper::GetSystemOrder ( ) const
inline

Get the order of the system

Definition at line 102 of file itkFEMLinearSystemWrapper.h.

References m_Order.

virtual Float itk::fem::LinearSystemWrapper::GetVectorValue ( unsigned int  i,
unsigned int  vectorIndex = 0 
) const
pure virtual

Virtual function to get a value of a specific element of the B vector.

Parameters
irow of the element
vectorIndexindex of vector to get value from

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::InitializeMatrix ( unsigned int  matrixIndex = 0)
pure virtual

Initialization of the A matrix. First any existing data for matrix A must be be destroyed, and then a new matrix is created in the memory. All elements in A must be set to zero.

Parameters
matrixIndexindex of matrix to initialize

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::InitializeSolution ( unsigned int  solutionIndex = 0)
pure virtual

Initialization of a solution vector. Existing memory must be destroyed and the new solution vector is created in memory. All values should be set to zero.

Parameters
solutionIndexindex of solution vector to initialize

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::InitializeVector ( unsigned int  vectorIndex = 0)
pure virtual

Initialization of the a vector. First any existing data for vector B must be destroyed, then new vector is created in the memory. All elements in B must be set to zero.

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual bool itk::fem::LinearSystemWrapper::IsMatrixInitialized ( unsigned int  matrixIndex = 0)
pure virtual

Check to see if matrix is initialized

Parameters
matrixIndexindex of matrix to examine

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual bool itk::fem::LinearSystemWrapper::IsSolutionInitialized ( unsigned int  solutionIndex = 0)
pure virtual

Check to see if solution vector is initialized

Parameters
solutionIndexindex of solution vector to examine

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual bool itk::fem::LinearSystemWrapper::IsVectorInitialized ( unsigned int  vectorIndex = 0)
pure virtual

Check to see if vector is initialized

Parameters
vectorIndexvector of index to examine

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::MultiplyMatrixMatrix ( unsigned int  resultMatrixIndex,
unsigned int  leftMatrixIndex,
unsigned int  rightMatrixIndex 
)
pure virtual

Perform a matrix*matrix operation and store the result in the linear system

Parameters
leftMatrixIndexindex of left matrix
rightMatrixIndexindex of right matrix
resultMatrixIndexindex of matrix where solution is stored

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.

virtual void itk::fem::LinearSystemWrapper::MultiplyMatrixSolution ( unsigned int  resultVectorIndex,
unsigned int  matrixIndex,
unsigned int  solutionIndex 
)
virtual

Perform a matrix*solution operation and store the result in the linear system

Parameters
matrixIndexindex of matrix to multiply
solutionIndexindex of solution to multiply
resultVectorIndexindex of vector where result is store

Reimplemented in itk::fem::LinearSystemWrapperItpack.

virtual void itk::fem::LinearSystemWrapper::MultiplyMatrixVector ( unsigned int  resultVectorIndex,
unsigned int  matrixIndex,
unsigned int  vectorIndex 
)
virtual

Perform a matrix*vector operation and store the result in the linear system

Parameters
matrixIndexindex of matrix to multiply
vectorIndexindex of vector to multiply
resultVectorIndexindex of vector where result is store

Reimplemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.

const LinearSystemWrapper& itk::fem::LinearSystemWrapper::operator= ( const LinearSystemWrapper )
private

Asignment operator is not allowed.

virtual void itk::fem::LinearSystemWrapper::OptimizeMatrixStorage ( unsigned int  matrixIndex,
unsigned int  tempMatrixIndex 
)
virtual

Remove all zeros from a matrix

Parameters
matrixIndexindex of matrix to remove zeros from
tempMatrixIndexindex of matrix to use for temp storage space
Note
an extra matrix must be allocated by the solver in order to use this method
virtual void itk::fem::LinearSystemWrapper::ReverseCuthillMckeeOrdering ( ColumnArray newNumbering,
unsigned int  matrixIndex = 0 
)
virtual

Reorder the Degrees of Freedom in order to reduce bandwidth of matrix

Parameters
matrixIndexindex of matrix to examine
newNumberingvector of new degree of freedom ordering
virtual void itk::fem::LinearSystemWrapper::ScaleMatrix ( Float  scale,
unsigned int  matrixIndex = 0 
)
virtual

Multiplies all elements of a matrix by a scalar

Parameters
scalescalar to multiply all matrix values by
matrixIndexindex of matrix to modify

Reimplemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

void itk::fem::LinearSystemWrapper::ScaleSolution ( Float  scale,
unsigned int  solutionIndex = 0 
)

Multiplies all elements of a solution by a scalar

Parameters
scalescalar to multiply all solution values by
solutionIndexindex of solution to modify
void itk::fem::LinearSystemWrapper::ScaleVector ( Float  scale,
unsigned int  vectorIndex = 0 
)

Multiplies all elements of a vector by a scalar

Parameters
scalescalar to multiply all vector values by
vectorIndexindex of vector to modify
virtual void itk::fem::LinearSystemWrapper::SetMatrixValue ( unsigned int  i,
unsigned int  j,
Float  value,
unsigned int  matrixIndex = 0 
)
pure virtual

Virtual function to set a value of a specific element of the A matrix.

Parameters
irow of the element
jcolumn of the element
valuenew value of the element
matrixIndexindex of matrix to set value in

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

void itk::fem::LinearSystemWrapper::SetNumberOfMatrices ( unsigned int  nMatrices)
inline

Set Index of matrices used by the system

Parameters
nMatricesIndex of matrices used by system

Definition at line 111 of file itkFEMLinearSystemWrapper.h.

References m_NumberOfMatrices.

void itk::fem::LinearSystemWrapper::SetNumberOfSolutions ( unsigned int  nSolutions)
inline

Set Index of solutions used by the system

Parameters
nSolutionsIndex of solutions used by system

Definition at line 155 of file itkFEMLinearSystemWrapper.h.

References m_NumberOfSolutions.

void itk::fem::LinearSystemWrapper::SetNumberOfVectors ( unsigned int  nVectors)
inline

Set Index of vectors used by the system

Parameters
nVectorsIndex of vectors used by system

Definition at line 138 of file itkFEMLinearSystemWrapper.h.

References m_NumberOfVectors.

virtual void itk::fem::LinearSystemWrapper::SetSolutionValue ( unsigned int  i,
Float  value,
unsigned int  solutionIndex = 0 
)
pure virtual

Virtual function to set a value of specific element of the solution vector.

Parameters
ielement Index in solution vector
valuenew value of the element
solutionIndexindex of solution vector to set value in

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

void itk::fem::LinearSystemWrapper::SetSystemOrder ( unsigned int  N)
inline

Set the order of the system. All matrices will be of size NxN and all vectors will be of size N

Parameters
Norder of the linear system

Definition at line 94 of file itkFEMLinearSystemWrapper.h.

References m_Order.

virtual void itk::fem::LinearSystemWrapper::SetVectorValue ( unsigned int  i,
Float  value,
unsigned int  vectorIndex = 0 
)
pure virtual

Virtual function to set a value of a specific element of the B vector.

Parameters
irow of the element
valuenew value of the element
vectorIndexindex of vector to set value in

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::Solve ( void  )
pure virtual

Solves the linear system and creates the solution vector, which can later be accessed via GetSolutionValue(i,SolutionIndex) member function. Here all the major processing is done with calls to external numeric library.

Note
This function can only be called after the linear system was properly assembled.

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperVNL, and itk::fem::LinearSystemWrapperDenseVNL.

virtual void itk::fem::LinearSystemWrapper::SwapMatrices ( unsigned int  matrixIndex1,
unsigned int  matrixIndex2 
)
pure virtual

Swaps access indices of any 2 matrices in the linear system

Parameters
matrixIndex1index of a matrix to swap
matrixIndex2index of matrix to swap with

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.

virtual void itk::fem::LinearSystemWrapper::SwapSolutions ( unsigned int  solutionIndex1,
unsigned int  solutionIndex2 
)
pure virtual

Swaps access indices of any 2 solution vectors in the linear system

Parameters
solutionIndex1index of a solution vector to swap
solutionIndex2index of solution vector to swap with

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.

virtual void itk::fem::LinearSystemWrapper::SwapVectors ( unsigned int  vectorIndex1,
unsigned int  vectorIndex2 
)
pure virtual

Swaps access indices of any 2 vectors in the linear system

Parameters
vectorIndex1index of a vector to swap
vectorIndex2index of vector to swap with

Implemented in itk::fem::LinearSystemWrapperItpack, itk::fem::LinearSystemWrapperDenseVNL, and itk::fem::LinearSystemWrapperVNL.

Member Data Documentation

unsigned int itk::fem::LinearSystemWrapper::m_NumberOfMatrices
protected

Number of matrices used by system

Definition at line 455 of file itkFEMLinearSystemWrapper.h.

Referenced by GetNumberOfMatrices(), and SetNumberOfMatrices().

unsigned int itk::fem::LinearSystemWrapper::m_NumberOfSolutions
protected

Number of solutions used by system

Definition at line 465 of file itkFEMLinearSystemWrapper.h.

Referenced by GetNumberOfSolutions(), and SetNumberOfSolutions().

unsigned int itk::fem::LinearSystemWrapper::m_NumberOfVectors
protected

Number of vectors used by system

Definition at line 460 of file itkFEMLinearSystemWrapper.h.

Referenced by GetNumberOfVectors(), and SetNumberOfVectors().

unsigned int itk::fem::LinearSystemWrapper::m_Order
protected

Order of linear system

Definition at line 450 of file itkFEMLinearSystemWrapper.h.

Referenced by GetSystemOrder(), and SetSystemOrder().


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