PlayaRandomBlockMatrixBuilderDecl.hpp

00001 /* @HEADER@ */
00002 //   
00003  /* @HEADER@ */
00004 
00005 
00006 #ifndef RANDOMBLOCKMATRIX_BUILDER_DECL_HPP
00007 #define RANDOMBLOCKMATRIX_BUILDER_DECL_HPP
00008 
00009 #include "PlayaOperatorBuilder.hpp"
00010 #include "PlayaRandomSparseMatrixBuilderDecl.hpp"
00011 
00012 using namespace Playa;
00013 using namespace Teuchos;
00014 
00015 
00016 namespace Playa
00017 {
00019   template <class Scalar>
00020   class RandomBlockMatrixBuilder : public OperatorBuilder<Scalar>
00021   {
00022   public:
00024     RandomBlockMatrixBuilder(const VectorSpace<Scalar>& domain,
00025       const VectorSpace<Scalar>& range,
00026       double blockDensity,
00027       double onProcDensity,
00028       double offProcDensity,
00029       const VectorType<double>& vecType);
00030 
00032     LinearOperator<double> getOp() const {return op_;}
00033 
00034   private:
00035     LinearOperator<double> op_;
00036   };
00037 }
00038 
00039 #endif

doxygen