#include <Amesos_ComponentBaseSolver.h>
Public Member Functions | |
virtual | ~Amesos_ComponentBaseSolver () |
Destructor. | |
virtual int | PartialFactorization ()=0 |
Performs partial factorization on the matrix A. | |
virtual int | Lsolve ()=0 |
Solves L X = B (or LT x = B). | |
*virtual int | LsolveStart ()=0 |
Solves the triangular part of L X1 = B (or LT x = B). | |
virtual int | LsolvePart (int begin, int end)=0 |
Computes L[begin..end,:] X1. | |
virtual int | Usolve ()=0 |
Solves U X = B (or UT x = B). | |
*virtual int | UsolveStart ()=0 |
Solves the triangular part of U X1 = B (or LT x = B). | |
virtual int | UsolvePart (int begin, int end)=0 |
Computes U[:,begin..end] X1. | |
virtual int | SetRowPermutation (int *RowPermutation)=0 |
Solves U X = B (or UT x = B). | |
virtual int | SetColumnPermutation (int *ColumnPermutation)=0 |
SetColumnPermutation. | |
virtual int | SetSubMatrixSize (int SubMatrixSize)=0 |
SetSubMatrixSize. | |
virtual int | GetRowPermutation (int **RowPermutation)=0 |
GetRowPermutation. | |
virtual int | GetColumnPermutation (int **ColumnPermutation)=0 |
GetColumnPermutation. | |
virtual int | GetSubMatrixSize (int *SubMatrixSize)=0 |
GetSubMatrixSize. | |
virtual int | GetSchurComplement (Epetra_CrsMatrix *SchurComplement)=0 |
GetSchurComplement. |
The Amesos_ComponentBaseSolver interface specifies what Amesos_Merikos needs. Any Amesos class that implements Amesos_ComponentBaseSolver can be used by Amesos_Merikos to perform partial solves on subblocks of the matrix.
Epetra_LinearProblem Problem(A,X,B); Amesos_SolverName Solver(Problem);
Solver.PartialFactorization() ; ... Ancestor factorization Solver.Lsolve() ; ... Ancestor solves Solver.Usolve() ;
Every Amesos_SolverName class should accept an Epetra_LinearProblem
virtual Amesos_ComponentBaseSolver::~Amesos_ComponentBaseSolver | ( | ) | [inline, virtual] |
Destructor.
virtual int Amesos_ComponentBaseSolver::GetColumnPermutation | ( | int ** | ColumnPermutation | ) | [pure virtual] |
GetColumnPermutation.
ColumnPermutation reflects any row permutations performed by PartialFactorization(). Note: It is not yet clear whether this row permutation includes the ColumnPermuation upon input or whether it returns only the row permuations performed by the most recent call to PartialFactorization(). In other words, in the absence of pivoting, ColumnPermutation might be identical to that given by SetColumnPermutation() or it might be the identity permutation.
virtual int Amesos_ComponentBaseSolver::GetRowPermutation | ( | int ** | RowPermutation | ) | [pure virtual] |
GetRowPermutation.
RowPermutation reflects any row permutations performed by PartialFactorization(). Note: It is not yet clear whether this row permutation includes the RowPermuation upon input or whether it returns only the row permuations performed by the most recent call to PartialFactorization(). In other words, in the absence of pivoting, RowPermutation might be identical to that given by SetRowPermutation() or it might be the identity permutation.
virtual int Amesos_ComponentBaseSolver::GetSchurComplement | ( | Epetra_CrsMatrix * | SchurComplement | ) | [pure virtual] |
GetSchurComplement.
virtual int Amesos_ComponentBaseSolver::GetSubMatrixSize | ( | int * | SubMatrixSize | ) | [pure virtual] |
GetSubMatrixSize.
virtual int Amesos_ComponentBaseSolver::Lsolve | ( | ) | [pure virtual] |
Solves L X = B (or LT x = B).
virtual int Amesos_ComponentBaseSolver::LsolvePart | ( | int | begin, | |
int | end | |||
) | [pure virtual] |
Computes L[begin..end,:] X1.
* virtual int Amesos_ComponentBaseSolver::LsolveStart | ( | ) | [pure virtual] |
Solves the triangular part of L X1 = B (or LT x = B).
virtual int Amesos_ComponentBaseSolver::PartialFactorization | ( | ) | [pure virtual] |
Performs partial factorization on the matrix A.
Partial Factorization perfom
virtual int Amesos_ComponentBaseSolver::SetColumnPermutation | ( | int * | ColumnPermutation | ) | [pure virtual] |
SetColumnPermutation.
virtual int Amesos_ComponentBaseSolver::SetRowPermutation | ( | int * | RowPermutation | ) | [pure virtual] |
Solves U X = B (or UT x = B).
virtual int Amesos_ComponentBaseSolver::SetSubMatrixSize | ( | int | SubMatrixSize | ) | [pure virtual] |
SetSubMatrixSize.
virtual int Amesos_ComponentBaseSolver::Usolve | ( | ) | [pure virtual] |
Solves U X = B (or UT x = B).
virtual int Amesos_ComponentBaseSolver::UsolvePart | ( | int | begin, | |
int | end | |||
) | [pure virtual] |
Computes U[:,begin..end] X1.
* virtual int Amesos_ComponentBaseSolver::UsolveStart | ( | ) | [pure virtual] |
Solves the triangular part of U X1 = B (or LT x = B).