This linear operator computes the inverse of a diagonal matrix. More...
#include <Teko_BlockDiagonalInverseOp.hpp>

Public Member Functions | |
| BlockDiagonalInverseOp (BlockedLinearOp &A, const std::vector< LinearOp > &invDiag) | |
| This constructor explicitly takes a diagonal matrix and inverse diagonal operators and builds a back 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... | |
| 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 | |
| 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 diagonal matrix.
This linear operator computes the inverse of a diagonal matrix. This requires the inverse of the operators on the diagonal.
Definition at line 25 of file Teko_BlockDiagonalInverseOp.hpp.
| Teko::BlockDiagonalInverseOp::BlockDiagonalInverseOp | ( | BlockedLinearOp & | A, |
| const std::vector< LinearOp > & | invDiag | ||
| ) |
This constructor explicitly takes a diagonal matrix and inverse diagonal operators and builds a back substitution operator.
This constructor explicitly takes the inverse diagonal operators and builds a back substitution operator.
| [in] | A | Matrix object |
| [in] | invDiag | Vector containing the inverse of the diagonal blocks |
Definition at line 18 of file Teko_BlockDiagonalInverseOp.cpp.
|
inlinevirtual |
Range space of this operator.
Implements Teko::BlockImplicitLinearOp.
Definition at line 45 of file Teko_BlockDiagonalInverseOp.hpp.
|
inlinevirtual |
Domain space of this operator.
Implements Teko::BlockImplicitLinearOp.
Definition at line 48 of file Teko_BlockDiagonalInverseOp.hpp.
|
virtual |
Perform a matrix vector multiply with this operator.
The apply function takes one vector as input and applies
. The result is returned in
. If this operator is represented as
then
.
| [in] | x | |
| [in,out] | y | |
| [in] | alpha | (default=1) |
| [in] | beta | (default=0) |
Implements Teko::BlockImplicitLinearOp.
Definition at line 35 of file Teko_BlockDiagonalInverseOp.cpp.
|
virtual |
Perform a matrix vector multiply with this implicitly defined blocked operator.
The apply function takes one vector as input and applies a linear operator. The result is returned in
. If this operator is represented as
then 
| [in] | x | |
| [in,out] | y | |
| [in] | alpha | (default=1) |
| [in] | beta | (default=0) |
Reimplemented from Teko::BlockImplicitLinearOp.
Definition at line 41 of file Teko_BlockDiagonalInverseOp.cpp.
|
protected |
(Approximate) Inverses of the diagonal operators
Definition at line 88 of file Teko_BlockDiagonalInverseOp.hpp.
|
protected |
Range vector space.
Definition at line 91 of file Teko_BlockDiagonalInverseOp.hpp.
|
protected |
Domain vector space.
Definition at line 93 of file Teko_BlockDiagonalInverseOp.hpp.
1.8.5