18 #ifndef __itkFEMLinearSystemWrapper_h
19 #define __itkFEMLinearSystemWrapper_h
79 virtual void Clean(
void );
155 virtual void DestroyMatrix(
unsigned int matrixIndex = 0) = 0;
176 virtual void DestroyVector(
unsigned int vectorIndex = 0) = 0;
203 virtual Float GetMatrixValue(
unsigned int i,
unsigned int j,
unsigned int matrixIndex = 0)
const = 0;
212 virtual void SetMatrixValue(
unsigned int i,
unsigned int j,
Float value,
unsigned int matrixIndex = 0) = 0;
221 virtual void AddMatrixValue(
unsigned int i,
unsigned int j,
Float value,
unsigned int matrixIndex = 0) = 0;
250 virtual void SetVectorValue(
unsigned int i,
Float value,
unsigned int vectorIndex = 0) = 0;
258 virtual void AddVectorValue(
unsigned int i,
Float value,
unsigned int vectorIndex = 0) = 0;
285 virtual void Solve(
void) = 0;
292 virtual void SwapMatrices(
unsigned int matrixIndex1,
unsigned int matrixIndex2) = 0;
301 virtual void CopyMatrix(
unsigned int matrixIndex1,
unsigned int matrixIndex2);
308 virtual void SwapVectors(
unsigned int vectorIndex1,
unsigned int vectorIndex2) = 0;
315 virtual void SwapSolutions(
unsigned int solutionIndex1,
unsigned int solutionIndex2) = 0;
347 virtual void MultiplyMatrixMatrix(
unsigned int resultMatrixIndex,
unsigned int leftMatrixIndex,
unsigned int rightMatrixIndex) = 0;
355 virtual void AddMatrixMatrix(
unsigned int matrixIndex1,
unsigned int matrixIndex2);
363 virtual void AddVectorVector(
unsigned int vectorIndex1,
unsigned int vectorIndex2);
371 virtual void MultiplyMatrixVector(
unsigned int resultVectorIndex,
unsigned int matrixIndex,
unsigned int vectorIndex);
378 virtual void CopySolution2Vector(
unsigned int solutionIndex,
unsigned int vectorIndex) = 0;
385 virtual void CopyVector2Solution(
unsigned int vectorIndex,
unsigned int solutionIndex) = 0;
391 virtual void CopyVector(
unsigned int vectorSource,
unsigned int vectorDestination);
468 FEMExceptionLinearSystem(
const char *file,
unsigned int lineNumber, std::string location, std::string moreDescription);
486 FEMExceptionLinearSystemBounds(
const char *file,
unsigned int lineNumber, std::string location, std::string moreDescription,
unsigned int index1);
492 FEMExceptionLinearSystemBounds(
const char *file,
unsigned int lineNumber, std::string location, std::string moreDescription,
unsigned int index1,
unsigned int index2);
504 #endif // #ifndef __itkFEMLinearSystemWrapper_h