NOX
Development
|
Block elimination strategy for solving a block upper-triangular system. More...
#include <LOCA_BorderedSolver_UpperTriangularBlockElimination.H>
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data object. | |
Block elimination strategy for solving a block upper-triangular system.
This class solves the extended system of equations
via block elimination:
where represents either the identity operation or the transpose.
must be nonzero, while
,
or
may be zero. 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.
LOCA::BorderedSolver::UpperTriangularBlockElimination::UpperTriangularBlockElimination | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data | ) |
Constructor.
global_data | [in] Global data object |
References ~UpperTriangularBlockElimination().
NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::UpperTriangularBlockElimination::solve | ( | Teuchos::ParameterList & | params, |
const LOCA::BorderedSolver::AbstractOperator & | op, | ||
const NOX::Abstract::MultiVector * | A, | ||
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.
Either A, F, or G may be zero by passing NULL.
References LOCA::BorderedSolver::AbstractOperator::applyInverse(), NOX::Abstract::MultiVector::clone(), NOX::DeepCopy, NOX::Abstract::Group::Failed, globalData, NOX::Abstract::MultiVector::init(), NOX::Abstract::Group::Ok, and solveTranspose().
Referenced by LOCA::BorderedSolver::Bordering::applyInverse(), LOCA::BorderedSolver::EpetraAugmented::applyInverse(), LOCA::BorderedSolver::EpetraHouseholder::applyInverse(), and ~UpperTriangularBlockElimination().
NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::UpperTriangularBlockElimination::solveTranspose | ( | Teuchos::ParameterList & | params, |
const LOCA::BorderedSolver::AbstractOperator & | op, | ||
const NOX::Abstract::MultiVector * | A, | ||
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.
Either A, F, or G may be zero by passing NULL.
References LOCA::BorderedSolver::AbstractOperator::applyInverseTranspose(), NOX::Abstract::MultiVector::clone(), NOX::DeepCopy, NOX::Abstract::Group::Failed, globalData, NOX::Abstract::MultiVector::init(), and NOX::Abstract::Group::Ok.
Referenced by LOCA::BorderedSolver::Bordering::applyInverseTranspose(), LOCA::BorderedSolver::EpetraHouseholder::applyInverseTranspose(), and solve().