#include <LOCA_BorderedSolver_LowerTriangularBlockElimination.H>
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.
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.
Definition at line 92 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.H.
LOCA::BorderedSolver::LowerTriangularBlockElimination::LowerTriangularBlockElimination | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data | ) |
Constructor.
global_data | [in] Global data object |
Definition at line 51 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.C.
LOCA::BorderedSolver::LowerTriangularBlockElimination::~LowerTriangularBlockElimination | ( | ) | [virtual] |
LOCA::BorderedSolver::LowerTriangularBlockElimination::LowerTriangularBlockElimination | ( | const LowerTriangularBlockElimination & | ) | [private] |
Private to prohibit copying.
NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solve | ( | Teuchos::ParameterList & | params, | |
const LOCA::BorderedSolver::AbstractOperator & | op, | |||
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.
Definition at line 65 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.C.
References LOCA::BorderedSolver::AbstractOperator::applyInverse(), NOX::Abstract::Group::Failed, globalData, NOX::Abstract::MultiVector::init(), LOCA::MultiContinuation::ConstraintInterface::isDXZero(), LOCA::MultiContinuation::ConstraintInterface::multiplyDX(), and NOX::Abstract::Group::Ok.
Referenced by LOCA::BorderedSolver::EpetraHouseholder::applyInverse(), LOCA::BorderedSolver::EpetraAugmented::applyInverse(), LOCA::BorderedSolver::Bordering::applyInverse(), and solve().
NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solve | ( | Teuchos::ParameterList & | params, | |
const LOCA::BorderedSolver::AbstractOperator & | op, | |||
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.
Definition at line 146 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.C.
References solve().
NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solveTranspose | ( | Teuchos::ParameterList & | params, | |
const LOCA::BorderedSolver::AbstractOperator & | op, | |||
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.
Definition at line 164 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.C.
References LOCA::BorderedSolver::AbstractOperator::applyInverseTranspose(), NOX::Abstract::Group::Failed, globalData, NOX::Abstract::MultiVector::init(), LOCA::MultiContinuation::ConstraintInterface::isDXZero(), LOCA::MultiContinuation::ConstraintInterface::multiplyDX(), and NOX::Abstract::Group::Ok.
Referenced by LOCA::BorderedSolver::EpetraHouseholder::applyInverseTranspose(), LOCA::BorderedSolver::Bordering::applyInverseTranspose(), and solveTranspose().
NOX::Abstract::Group::ReturnType LOCA::BorderedSolver::LowerTriangularBlockElimination::solveTranspose | ( | Teuchos::ParameterList & | params, | |
const LOCA::BorderedSolver::AbstractOperator & | op, | |||
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.
Definition at line 245 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.C.
References solveTranspose().
LowerTriangularBlockElimination& LOCA::BorderedSolver::LowerTriangularBlockElimination::operator= | ( | const LowerTriangularBlockElimination & | ) | [private] |
Private to prohibit copying.
Teuchos::RCP<LOCA::GlobalData> LOCA::BorderedSolver::LowerTriangularBlockElimination::globalData [protected] |
Global data object.
Definition at line 188 of file LOCA_BorderedSolver_LowerTriangularBlockElimination.H.
Referenced by solve(), and solveTranspose().