00001 /* @HEADER@ */ 00002 // 00003 /* @HEADER@ */ 00004 00005 #ifndef PLAYA_SIMPLE_ZERO_OP_DECL_HPP 00006 #define PLAYA_SIMPLE_ZERO_OP_DECL_HPP 00007 00008 00009 #include "PlayaDefs.hpp" 00010 #include "PlayaLinearOpWithSpacesDecl.hpp" 00011 #include "PlayaLinearOperatorDecl.hpp" 00012 00013 00014 namespace Playa 00015 { 00016 00018 template <class Scalar> 00019 class SimpleZeroOp : public LinearOpWithSpaces<Scalar> 00020 { 00021 public: 00023 SimpleZeroOp(const VectorSpace<Scalar>& domain, 00024 const VectorSpace<Scalar>& range); 00025 00027 void apply(Teuchos::ETransp transApplyType, 00028 const Vector<Scalar>& in, 00029 Vector<Scalar> out) const; 00030 00032 std::string description() const ; 00033 }; 00034 00035 00037 template <class Scalar> 00038 LinearOperator<Scalar> zeroOperator( 00039 const VectorSpace<Scalar>& domain, 00040 const VectorSpace<Scalar>& range); 00041 00042 00043 } 00044 00045 #endif