42 #ifndef THYRA_LINEAR_OP_DECL_HPP
43 #define THYRA_LINEAR_OP_DECL_HPP
45 #include "Thyra_OperatorVectorTypes.hpp"
46 #include "Teuchos_Describable.hpp"
47 #include "Teuchos_ExpandScalarTypeMacros.hpp"
48 #include "Teuchos_PromotionTraits.hpp"
190 template<
class Scalar>
352 template<
class Scalar>
353 bool isFullyUninitialized(
const LinearOpBase<Scalar> &M );
361 template<
class Scalar>
362 bool isPartiallyInitialized(
const LinearOpBase<Scalar> &M );
370 template<
class Scalar>
371 bool isFullyInitialized(
const LinearOpBase<Scalar> &M );
378 template<
class Scalar>
380 bool opSupported(
const LinearOpBase<Scalar> &M,
EOpTransp M_trans );
387 template<
class Scalar>
389 const LinearOpBase<Scalar> &M,
391 const MultiVectorBase<Scalar> &X,
392 const Ptr<MultiVectorBase<Scalar> > &Y,
393 const Scalar alpha = static_cast<Scalar>(1.0),
394 const Scalar beta = static_cast<Scalar>(0.0)
406 const LinearOpBase<double> &M,
408 const MultiVectorBase<double> &X,
409 const Ptr<MultiVectorBase<double> > &Y,
410 const double alpha = 1.0,
411 const double beta = 0.0
423 template<
class Scalar>
425 bool Thyra::isFullyUninitialized(
const LinearOpBase<Scalar> &M )
431 template<
class Scalar>
432 bool Thyra::isPartiallyInitialized(
const LinearOpBase<Scalar> &M )
446 template<
class Scalar>
447 bool Thyra::isFullyInitialized(
const LinearOpBase<Scalar> &M )
461 template<
class Scalar>
463 bool Thyra::opSupported(
const LinearOpBase<Scalar> &M,
EOpTransp M_trans )
465 return M.opSupported(M_trans);
471 const LinearOpBase<double> &M,
473 const MultiVectorBase<double> &X,
474 const Ptr<MultiVectorBase<double> > &Y,
479 apply<double>(M, M_trans, X, Y, alpha, beta);
483 #endif // THYRA_LINEAR_OP_DECL_HPP