This linear operator computes the inverse of a lower triangular matrix. More...
#include <Teko_BlockLowerTriInverseOp.hpp>

Public Member Functions | |
| BlockLowerTriInverseOp (BlockedLinearOp &L, const std::vector< LinearOp > &invDiag) | |
| This constructor explicitly takes a lower triangular matrix and inverse diagonal operators and builds a forward substitution operator. | |
Inherited methods from Thyra::LinearOpBase | |
| virtual VectorSpace | range () const |
| Range space of this operator. | |
| virtual VectorSpace | domain () const |
| Domain space of this operator. | |
| virtual void | implicitApply (const BlockedMultiVector &x, BlockedMultiVector &y, const double alpha=1.0, const double beta=0.0) const |
| Perform a matrix vector multiply with this operator. | |
Protected Attributes | |
| const BlockedLinearOp | L_ |
operator | |
| std::vector< LinearOp > | invDiag_ |
| (Approximate) Inverses of the diagonal operators | |
| Teuchos::RCP< const Thyra::ProductVectorSpaceBase < double > > | productRange_ |
| Range vector space. | |
| Teuchos::RCP< const Thyra::ProductVectorSpaceBase < double > > | productDomain_ |
| Domain vector space. | |
This linear operator computes the inverse of a lower triangular matrix.
This linear operator computes the inverse of a lower triangular matrix. This requires, the lower triangular blocks, as well as the inverse of the operators on the diagonal.
Definition at line 63 of file Teko_BlockLowerTriInverseOp.hpp.
| Teko::BlockLowerTriInverseOp::BlockLowerTriInverseOp | ( | BlockedLinearOp & | L, |
| const std::vector< LinearOp > & | invDiag | ||
| ) |
This constructor explicitly takes a lower triangular matrix and inverse diagonal operators and builds a forward substitution operator.
This constructor explicitly takes a lower triangular matrix and inverse diagonal operators and builds a forward substitution operator.
| [in] | L | Lower triangular matrix object |
| [in] | invDiag | Vector containing the inverse of the diagonal blocks |
Definition at line 55 of file Teko_BlockLowerTriInverseOp.cpp.
| virtual VectorSpace Teko::BlockLowerTriInverseOp::range | ( | ) | const [inline, virtual] |
Range space of this operator.
Implements Teko::BlockImplicitLinearOp.
Definition at line 80 of file Teko_BlockLowerTriInverseOp.hpp.
| virtual VectorSpace Teko::BlockLowerTriInverseOp::domain | ( | ) | const [inline, virtual] |
Domain space of this operator.
Implements Teko::BlockImplicitLinearOp.
Definition at line 83 of file Teko_BlockLowerTriInverseOp.hpp.
| void Teko::BlockLowerTriInverseOp::implicitApply | ( | const BlockedMultiVector & | src, |
| BlockedMultiVector & | dst, | ||
| const double | alpha = 1.0, |
||
| const double | beta = 0.0 |
||
| ) | const [virtual] |
Perform a matrix vector multiply with this operator.
The apply function takes one vector as input and applies the inverse
decomposition. The result is returned in
. If this operator is reprsented as
then
(ignoring conjugation!).
| [in] | x | |
| [in,out] | y | |
| [in] | alpha | (default=1) |
| [in] | beta | (default=0) |
Implements Teko::BlockImplicitLinearOp.
Definition at line 86 of file Teko_BlockLowerTriInverseOp.cpp.
const BlockedLinearOp Teko::BlockLowerTriInverseOp::L_ [protected] |
operator
Definition at line 106 of file Teko_BlockLowerTriInverseOp.hpp.
std::vector<LinearOp> Teko::BlockLowerTriInverseOp::invDiag_ [protected] |
(Approximate) Inverses of the diagonal operators
Definition at line 107 of file Teko_BlockLowerTriInverseOp.hpp.
Teuchos::RCP<const Thyra::ProductVectorSpaceBase<double> > Teko::BlockLowerTriInverseOp::productRange_ [protected] |
Range vector space.
Definition at line 109 of file Teko_BlockLowerTriInverseOp.hpp.
Teuchos::RCP<const Thyra::ProductVectorSpaceBase<double> > Teko::BlockLowerTriInverseOp::productDomain_ [protected] |
Domain vector space.
Definition at line 110 of file Teko_BlockLowerTriInverseOp.hpp.
1.7.6.1