#include <LOCA_BorderedSolver_AbstractStrategy.H>
Inheritance diagram for LOCA::BorderedSolver::AbstractStrategy:
Abstract interface for solving systems of equations of the form
where
is an
matrix,
and
are
,
is
,
and
are
and
and
are
. The action of
and its inverse are represnted by a NOX::Abstract::Group while
is a NOX::Abstract::MultiVector and
,
are represtend by the solution and parameter components of the derivative of a constraint contained in LOCA::MultiContinuation::ConstraintInterface. All classes that implement a method for computing solutions to this system of equations should be derived from this class. Constructors for derived classes should be of the form:
class Derived : public AbstractStrategy { public: Derived( const Teuchos::RefCountPtr<LOCA::GlobalData>& global_data, const Teuchos::RefCountPtr<LOCA::Parameter::SublistParser>& topParams, const Teuchos::RefCountPtr<Teuchos::ParameterList>& solverParams); ... };
where global_data is the LOCA global data object, topParams is the parsed top-level parameter list, and solverParams is a parameter list of bordered-solver parameters.
This class and its children follow the Strategy pattern as defined in Erich Gamma, et al. "Design Patterns: Elements of Reusable Object-Oriented Software." Addison Wesley, Boston, MA, 1995.
|
||||||||||||||||||||
|
Computed extended matrix-multivector product. Computes
where Implemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraAugmented, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
||||||||||||||||||||||||
|
Solves the extended system as defined above. The params argument is the linear solver parameters. Implemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraAugmented, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
||||||||||||||||||||||||
|
Solves the transpose of the extended system as defined above. The params argument is the linear solver parameters. Reimplemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
||||||||||||||||||||
|
Computed extended matrix transpose-multivector product. Computes
where Implemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraAugmented, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
|
Intialize solver for a solve. This should be called after setMatrixBlocks(), but before applyInverse(). Implemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraAugmented, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
|
Intialize solver for a transpose solve. This should be called after setMatrixBlocks(), but before applyInverseTranspose(). Implemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraAugmented, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
||||||||||||||||||||
|
Set blocks.
The Implemented in LOCA::BorderedSolver::Bordering, LOCA::BorderedSolver::Nested, LOCA::BorderedSolver::EpetraAugmented, LOCA::BorderedSolver::EpetraHouseholder, and LOCA::BorderedSolver::LAPACKDirectSolve. |
|
||||||||||||||||||||
|
Set blocks with multivector constraint.
This is a version of setMatrixBlocks that takes a multivector for |
1.3.9.1