LinearOpWithSolveBase subclass for diagonal linear operators.
More...
#include <Thyra_DefaultDiagonalLinearOpWithSolveDecl.hpp>
Inheritance diagram for Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >:
Constructors/initializers/accessors | |
| DefaultDiagonalLinearOpWithSolve () | |
| Constructs to uninitialized. | |
| DefaultDiagonalLinearOpWithSolve (const Teuchos::RCP< const VectorBase< Scalar > > &diag) | |
Calls initialize(). | |
Overridden from SingleScalarLinearOpWithSolveBase | |
| bool | solveSupportsTrans (ETransp M_trans) const |
| | |
| bool | solveSupportsSolveMeasureType (ETransp M_trans, const SolveMeasureType &solveMeasureType) const |
| | |
Overridden from SingleRhsLinearOpWithSolveBase | |
| SolveStatus< Scalar > | solve (const ETransp M_trans, const VectorBase< Scalar > &b, VectorBase< Scalar > *x, const SolveCriteria< Scalar > *solveCriteria) const |
| | |
LinearOpWithSolveBase subclass for diagonal linear operators.
This class represents a diagonal linear operator M of the form:
M = diag(diag)
where diag is a VectorBase object.
The defined operator implements <tt>this->apply() as follows:
y = alpha*op(M)*x + beta*y => y(i) = alpha*diag(i)*x(i) + beta*y(i), for i = 0 ... n-1
where n = this->domain()->dim().
The defined operator implements <tt>this->solve() as follows:
x = inv(op(M))*b => x(i) = b(i)/diag(i), for i = 0 ... n-1
where n = this->domain()->dim().
That is all there is to this subclass.
Definition at line 78 of file Thyra_DefaultDiagonalLinearOpWithSolveDecl.hpp.
| Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >::DefaultDiagonalLinearOpWithSolve | ( | ) |
Constructs to uninitialized.
Postconditions:
this->getDiag().get()==NULL Definition at line 43 of file Thyra_DefaultDiagonalLinearOpWithSolve.hpp.
| Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >::DefaultDiagonalLinearOpWithSolve | ( | const Teuchos::RCP< const VectorBase< Scalar > > & | diag | ) |
| bool Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >::solveSupportsTrans | ( | ETransp | M_trans | ) | const [protected, virtual] |
Implements Thyra::SingleScalarLinearOpWithSolveBase< Scalar >.
Definition at line 59 of file Thyra_DefaultDiagonalLinearOpWithSolve.hpp.
| bool Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >::solveSupportsSolveMeasureType | ( | ETransp | M_trans, | |
| const SolveMeasureType & | solveMeasureType | |||
| ) | const [protected, virtual] |
Implements Thyra::SingleScalarLinearOpWithSolveBase< Scalar >.
Definition at line 65 of file Thyra_DefaultDiagonalLinearOpWithSolve.hpp.
| SolveStatus< Scalar > Thyra::DefaultDiagonalLinearOpWithSolve< Scalar >::solve | ( | const ETransp | M_trans, | |
| const VectorBase< Scalar > & | b, | |||
| VectorBase< Scalar > * | x, | |||
| const SolveCriteria< Scalar > * | solveCriteria | |||
| ) | const [protected, virtual] |
Implements Thyra::SingleRhsLinearOpWithSolveBase< Scalar >.
Definition at line 73 of file Thyra_DefaultDiagonalLinearOpWithSolve.hpp.
1.4.7