LOCA::BorderedSolver::LowerTriangularBlockElimination Class Reference

Block elimination strategy for solving a block lower-triangular system. More...

#include <LOCA_BorderedSolver_LowerTriangularBlockElimination.H>

Collaboration diagram for LOCA::BorderedSolver::LowerTriangularBlockElimination:

[legend]
List of all members.

Public Member Functions

 LowerTriangularBlockElimination (const Teuchos::RefCountPtr< LOCA::GlobalData > &global_data)
 Constructor.
virtual ~LowerTriangularBlockElimination ()
 Destructor.
NOX::Abstract::Group::ReturnType solve (Teuchos::ParameterList &params, const NOX::Abstract::Group &grp, const LOCA::MultiContinuation::ConstraintInterface &B, const NOX::Abstract::MultiVector::DenseMatrix &C, const NOX::Abstract::MultiVector *F, const NOX::Abstract::MultiVector::DenseMatrix *G, NOX::Abstract::MultiVector &X, NOX::Abstract::MultiVector::DenseMatrix &Y) const
 Solves the extended system as described above with B specified as a LOCA::MultiContinuation::ConstraintInterface object.
NOX::Abstract::Group::ReturnType solve (Teuchos::ParameterList &params, const NOX::Abstract::Group &grp, const NOX::Abstract::MultiVector &B, const NOX::Abstract::MultiVector::DenseMatrix &C, const NOX::Abstract::MultiVector *F, const NOX::Abstract::MultiVector::DenseMatrix *G, NOX::Abstract::MultiVector &X, NOX::Abstract::MultiVector::DenseMatrix &Y) const
 Solves the extended system as described above with B specified as a NOX::Abstract::MultiVector.
NOX::Abstract::Group::ReturnType solveTranspose (Teuchos::ParameterList &params, const LOCA::Abstract::TransposeSolveGroup &grp, const LOCA::MultiContinuation::ConstraintInterface &B, const NOX::Abstract::MultiVector::DenseMatrix &C, const NOX::Abstract::MultiVector *F, const NOX::Abstract::MultiVector::DenseMatrix *G, NOX::Abstract::MultiVector &X, NOX::Abstract::MultiVector::DenseMatrix &Y) const
 Solves the extended system using the tranpose of J and C as described above with B specified as a LOCA::MultiContinuation::ConstraintInterface object.
NOX::Abstract::Group::ReturnType solveTranspose (Teuchos::ParameterList &params, const LOCA::Abstract::TransposeSolveGroup &grp, const NOX::Abstract::MultiVector &B, const NOX::Abstract::MultiVector::DenseMatrix &C, const NOX::Abstract::MultiVector *F, const NOX::Abstract::MultiVector::DenseMatrix *G, NOX::Abstract::MultiVector &X, NOX::Abstract::MultiVector::DenseMatrix &Y) const
 Solves the extended system using the tranpose of J and C as described above with B specified as a NOX::Abstract::MultiVector object.

Protected Attributes

Teuchos::RefCountPtr< LOCA::GlobalDataglobalData
 Global data object.

Detailed Description

Block elimination strategy for solving a block lower-triangular system.

This class solves the extended system of equations

\[ \begin{bmatrix} op(J) & 0 \\ B^T & op(C) \end{bmatrix} \begin{bmatrix} X \\ Y \end{bmatrix} = \begin{bmatrix} F \\ G \end{bmatrix} \]

via block elimination:

\[ \begin{aligned} X &= op(J)^{-1} F \\ Y &= op(C)^{-1}(G-B^T X) \end{aligned} \]

where $op$ represents either the identity operation or the transpose. $C$ must be nonzero, while $B$, $F$ or $G$ may be zero. $B$ may be specified either as a NOX::Abstract::MultiVector or a LOCA::MultiContinuation::ConstraintInterface object. The solve for the non-transposed system is implemented by the solve() method, while the solve for the transposed system is implemented by the solveTranspose() method. Note that for the transpose solve, the group representing $J$ must implement the LOCA::Abstract::TransposeSolveGroup interface.


Constructor & Destructor Documentation

LOCA::BorderedSolver::LowerTriangularBlockElimination::LowerTriangularBlockElimination const Teuchos::RefCountPtr< LOCA::GlobalData > &  global_data  ) 
 

Constructor.

Parameters:
global_data [in] Global data object


Member Function Documentation

NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solve Teuchos::ParameterList params,
const NOX::Abstract::Group grp,
const NOX::Abstract::MultiVector B,
const NOX::Abstract::MultiVector::DenseMatrix C,
const NOX::Abstract::MultiVector F,
const NOX::Abstract::MultiVector::DenseMatrix G,
NOX::Abstract::MultiVector X,
NOX::Abstract::MultiVector::DenseMatrix Y
const
 

Solves the extended system as described above with B specified as a NOX::Abstract::MultiVector.

Either F, or G may be zero by passing NULL.

NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solve Teuchos::ParameterList params,
const NOX::Abstract::Group grp,
const LOCA::MultiContinuation::ConstraintInterface B,
const NOX::Abstract::MultiVector::DenseMatrix C,
const NOX::Abstract::MultiVector F,
const NOX::Abstract::MultiVector::DenseMatrix G,
NOX::Abstract::MultiVector X,
NOX::Abstract::MultiVector::DenseMatrix Y
const
 

Solves the extended system as described above with B specified as a LOCA::MultiContinuation::ConstraintInterface object.

Either F, or G may be zero by passing NULL.

NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solveTranspose Teuchos::ParameterList params,
const LOCA::Abstract::TransposeSolveGroup grp,
const NOX::Abstract::MultiVector B,
const NOX::Abstract::MultiVector::DenseMatrix C,
const NOX::Abstract::MultiVector F,
const NOX::Abstract::MultiVector::DenseMatrix G,
NOX::Abstract::MultiVector X,
NOX::Abstract::MultiVector::DenseMatrix Y
const
 

Solves the extended system using the tranpose of J and C as described above with B specified as a NOX::Abstract::MultiVector object.

Either F, or G may be zero by passing NULL.

NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solveTranspose Teuchos::ParameterList params,
const LOCA::Abstract::TransposeSolveGroup grp,
const LOCA::MultiContinuation::ConstraintInterface B,
const NOX::Abstract::MultiVector::DenseMatrix C,
const NOX::Abstract::MultiVector F,
const NOX::Abstract::MultiVector::DenseMatrix G,
NOX::Abstract::MultiVector X,
NOX::Abstract::MultiVector::DenseMatrix Y
const
 

Solves the extended system using the tranpose of J and C as described above with B specified as a LOCA::MultiContinuation::ConstraintInterface object.

Either F, or G may be zero by passing NULL.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:38:30 2008 for NOX by doxygen 1.3.9.1