LinearOpBase subclass for diagonal linear operators.
More...
#include <Thyra_DiagonalLinearOpDecl.hpp>
Inheritance diagram for Thyra::DiagonalLinearOp< Scalar >:
Constructors/initializers/accessors | |
| DiagonalLinearOp () | |
| Constructs to uninitialized. | |
| DiagonalLinearOp (const Teuchos::RefCountPtr< const VectorBase< Scalar > > &diag, const Scalar &gamma=Teuchos::ScalarTraits< Scalar >::one()) | |
Calls initialize(). | |
| void | initialize (const Teuchos::RefCountPtr< const VectorBase< Scalar > > &diag, const Scalar &gamma=Teuchos::ScalarTraits< Scalar >::one()) |
| Initialize given the diagonal. | |
| Teuchos::RefCountPtr< const VectorBase< Scalar > > | diag () const |
Returns the diagonal vector diag. | |
| Scalar | gamma () const |
Returns the scalar multiplier gamma. | |
| void | uninitialize (Teuchos::RefCountPtr< const VectorBase< Scalar > > *diag=NULL, Scalar *gamma=NULL) |
| Set to uninitialized. | |
Overridden from LinearOpBase | |
| Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > | range () const |
Returns this->getDiag()->space(). | |
| Teuchos::RefCountPtr< const VectorSpaceBase< Scalar > > | domain () const |
Returns this->getDiag()->space(). | |
| Teuchos::RefCountPtr< const LinearOpBase< Scalar > > | clone () const |
| | |
Overridden from SingleScalarLinearOpBase | |
| bool | opSupported (ETransp M_trans) const |
| | |
Overridden from SingleRhsLinearOpBase | |
| void | apply (const ETransp M_trans, const VectorBase< Scalar > &x, VectorBase< Scalar > *y, const Scalar alpha, const Scalar beta) const |
| | |
Overridden from SingleScalarLinearOpWithSolveBase | |
| bool | solveSupportsTrans (ETransp M_trans) const |
| | |
| bool | solveSupportsSolveTolType (ETransp M_trans, ESolveTolType solveTolType) const |
| | |
Overridden from SingleRhsLinearOpWithSolveBase | |
| SolveStatus< Scalar > | solve (const ETransp M_trans, const VectorBase< Scalar > &b, VectorBase< Scalar > *x, const SolveCriteria< Scalar > *solveCriteria) const |
| | |
LinearOpBase subclass for diagonal linear operators.
This class represents a diagonal linear operator M of the form:
M = gamma*diag(diag)
where diag is a VectorBase object and gamma is a Scalar.
The defined operator implements <tt>this->apply() as follows:
y = alpha*op(M)*x + beta*y => y(i) = (alpha*gamma)*diag(i)*x(i) + beta*y(i), for i = 1 ... n
where n = this->domain()->dim().
The defined operator implements <tt>this->solve() as follows:
x = inv(op(M))*b => x(i) = (1/gamma)*b(i)/diag(i), for i = 1 ... n
where n = this->domain()->dim().
That is all there is to this subclass.
Definition at line 80 of file Thyra_DiagonalLinearOpDecl.hpp.
|
|||||||||
|
Constructs to uninitialized. Postconditions:
Definition at line 42 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||||||||
|
Calls
Definition at line 46 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||||||||
|
Initialize given the diagonal.
Postconditions:
Definition at line 55 of file Thyra_DiagonalLinearOp.hpp. |
|
|||||||||
|
Returns the diagonal vector
A return value of Definition at line 227 of file Thyra_DiagonalLinearOpDecl.hpp. |
|
|||||||||
|
Returns the scalar multiplier
Definition at line 234 of file Thyra_DiagonalLinearOpDecl.hpp. |
|
||||||||||||||||
|
Set to uninitialized.
Definition at line 68 of file Thyra_DiagonalLinearOp.hpp. |
|
|||||||||
|
Returns Preconditions:
Definition at line 82 of file Thyra_DiagonalLinearOp.hpp. |
|
|||||||||
|
Returns Preconditions:
Definition at line 89 of file Thyra_DiagonalLinearOp.hpp. |
|
|||||||||
|
Definition at line 96 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||
|
Implements Thyra::SingleScalarLinearOpBase< Scalar >. Definition at line 106 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||||||||||||||||||||
|
Implements Thyra::SingleRhsLinearOpBase< Scalar >. Definition at line 114 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||
|
Implements Thyra::SingleScalarLinearOpWithSolveBase< Scalar >. Definition at line 132 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||||||||
|
Implements Thyra::SingleScalarLinearOpWithSolveBase< Scalar >. Definition at line 138 of file Thyra_DiagonalLinearOp.hpp. |
|
||||||||||||||||||||||||
|
Implements Thyra::SingleRhsLinearOpWithSolveBase< Scalar >. Definition at line 146 of file Thyra_DiagonalLinearOp.hpp. |
1.3.9.1