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. More... | |
Inherited methods from Thyra::LinearOpBase | |
virtual VectorSpace | range () const |
Range space of this operator. More... | |
virtual VectorSpace | domain () const |
Domain space of this operator. More... | |
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. More... | |
Public Member Functions inherited from Teko::BlockImplicitLinearOp | |
virtual void | implicitApply (const Thyra::EOpTransp M_trans, const BlockedMultiVector &x, BlockedMultiVector &y, const double alpha=1.0, const double beta=0.0) const |
Perform a matrix vector multiply with this implicitly defined blocked operator. More... | |
Protected Attributes | |
const BlockedLinearOp | L_ |
operator More... | |
std::vector< LinearOp > | invDiag_ |
(Approximate) Inverses of the diagonal operators More... | |
Teuchos::RCP< const Thyra::ProductVectorSpaceBase < double > > | productRange_ |
Range vector space. More... | |
Teuchos::RCP< const Thyra::ProductVectorSpaceBase < double > > | productDomain_ |
Domain vector space. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Teko::BlockImplicitLinearOp | |
virtual bool | opSupportedImpl (const Thyra::EOpTransp M_trans) const |
Functions required by Thyra::LinearOpBase. More... | |
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 26 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 18 of file Teko_BlockLowerTriInverseOp.cpp.
|
inlinevirtual |
Range space of this operator.
Implements Teko::BlockImplicitLinearOp.
Definition at line 45 of file Teko_BlockLowerTriInverseOp.hpp.
|
inlinevirtual |
Domain space of this operator.
Implements Teko::BlockImplicitLinearOp.
Definition at line 48 of file Teko_BlockLowerTriInverseOp.hpp.
|
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 49 of file Teko_BlockLowerTriInverseOp.cpp.
|
protected |
operator
Definition at line 71 of file Teko_BlockLowerTriInverseOp.hpp.
|
protected |
(Approximate) Inverses of the diagonal operators
Definition at line 72 of file Teko_BlockLowerTriInverseOp.hpp.
|
protected |
Range vector space.
Definition at line 75 of file Teko_BlockLowerTriInverseOp.hpp.
|
protected |
Domain vector space.
Definition at line 77 of file Teko_BlockLowerTriInverseOp.hpp.