PlayaSimpleZeroOpDecl.hpp

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

doxygen