Thyra Version of the Day
Loading...
Searching...
No Matches
Thyra_LinearOpDefaultBase_decl.hpp
1// @HEADER
2// *****************************************************************************
3// Thyra: Interfaces and Support for Abstract Numerical Algorithms
4//
5// Copyright 2004 NTESS and the Thyra contributors.
6// SPDX-License-Identifier: BSD-3-Clause
7// *****************************************************************************
8// @HEADER
9
10#ifndef THYRA_LINEAR_OP_DEFAULT_DECL_HPP
11#define THYRA_LINEAR_OP_DEFAULT_DECL_HPP
12
13#include "Thyra_LinearOpBase.hpp"
14
15namespace Thyra {
16
22template<class Scalar>
23class LinearOpDefaultBase : virtual public LinearOpBase<Scalar> {
24public:
25
26#ifdef THYRA_INJECT_USING_DECLARATIONS
27 using LinearOpBase<Scalar>::apply;
28 using LinearOpBase<Scalar>::describe;
29#endif
30
33
35 std::string description() const;
36
64 void describe(
66 ,const Teuchos::EVerbosityLevel verbLevel
67 ) const;
68
70
71}; // end class LinearOpDefaultBase
72
73} // end namespace Thyra
74
75#endif // THYRA_LINEAR_OP_DEFAULT_DECL_HPP
Base class for all linear operators.
void apply(const EOpTransp M_trans, const MultiVectorBase< Scalar > &X, const Ptr< MultiVectorBase< Scalar > > &Y, const Scalar alpha, const Scalar beta) const
Apply the linear operator to a multi-vector : Y = alpha*op(M)*X + beta*Y.
Node subclass that provides a good default implementation for the describe() function.
void describe(Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel) const
Generates a default outputting for all linear operators.
std::string description() const
Default description that gives the label, type, and dimenstion .