PlayaSimpleIdentityOpDecl.hpp

00001 /* @HEADER@ */
00002 //   
00003 /* @HEADER@ */
00004 
00005 #ifndef PLAYA_SIMPLE_IDENTITY_OP_DECL_HPP
00006 #define PLAYA_SIMPLE_IDENTITY_OP_DECL_HPP
00007 
00008 
00009 
00010 #include "PlayaDefs.hpp"
00011 #include "PlayaLinearOpWithSpacesDecl.hpp"
00012 #include "PlayaLinearOperatorDecl.hpp"
00013 
00014 
00015 namespace Playa
00016 {
00017 using namespace Teuchos;
00018 
00019 
00020 
00021 
00022 
00024 template <class Scalar>
00025 class SimpleIdentityOp : public LinearOpWithSpaces<Scalar>
00026 {
00027 public:
00029   SimpleIdentityOp(const VectorSpace<Scalar>& space);
00030 
00031 
00033   void apply(Teuchos::ETransp transApplyType,
00034     const Vector<Scalar>& in,
00035     Vector<Scalar> out) const ;
00036 
00038   std::string description() const ;
00039 };
00040 
00042 template <class Scalar>
00043 LinearOperator<Scalar> identityOperator(
00044   const VectorSpace<Scalar>& space);
00045 
00046 }
00047 
00048 #endif

doxygen