| 
    NOX
    Development
    
   | 
 
Block elimination strategy for solving a block lower-triangular system. More...
#include <LOCA_BorderedSolver_LowerTriangularBlockElimination.H>

Protected Attributes | |
| Teuchos::RCP< LOCA::GlobalData > | globalData | 
| Global data object.  | |
Block elimination strategy for solving a block lower-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. 
 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. 
| LOCA::BorderedSolver::LowerTriangularBlockElimination::LowerTriangularBlockElimination | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data | ) | 
Constructor.
| global_data | [in] Global data object | 
| 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.
References LOCA::BorderedSolver::AbstractOperator::applyInverse(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::assign(), Teuchos::Copy, NOX::Abstract::Group::Failed, Teuchos::LAPACK< OrdinalType, ScalarType >::GETRF(), Teuchos::LAPACK< OrdinalType, ScalarType >::GETRS(), NOX::Abstract::MultiVector::init(), LOCA::MultiContinuation::ConstraintInterface::isDXZero(), LOCA::MultiContinuation::ConstraintInterface::multiplyDX(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::numCols(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::numRows(), NOX::Abstract::Group::Ok, Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::putScalar(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::stride(), and Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::values().
Referenced by LOCA::BorderedSolver::Bordering::applyInverse(), LOCA::BorderedSolver::EpetraAugmented::applyInverse(), and LOCA::BorderedSolver::EpetraHouseholder::applyInverse().
| 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.
References Teuchos::rcp().
| 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.
References LOCA::BorderedSolver::AbstractOperator::applyInverseTranspose(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::assign(), Teuchos::Copy, NOX::Abstract::Group::Failed, Teuchos::LAPACK< OrdinalType, ScalarType >::GETRF(), Teuchos::LAPACK< OrdinalType, ScalarType >::GETRS(), NOX::Abstract::MultiVector::init(), LOCA::MultiContinuation::ConstraintInterface::isDXZero(), LOCA::MultiContinuation::ConstraintInterface::multiplyDX(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::numCols(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::numRows(), NOX::Abstract::Group::Ok, Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::putScalar(), Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::stride(), and Teuchos::SerialDenseMatrix< OrdinalType, ScalarType >::values().
Referenced by LOCA::BorderedSolver::Bordering::applyInverseTranspose(), and LOCA::BorderedSolver::EpetraHouseholder::applyInverseTranspose().
| 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.
References Teuchos::rcp().
 1.8.5