AnasaziGenOrthoManager.hpp
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00034 #ifndef ANASAZI_GENORTHOMANAGER_HPP
00035 #define ANASAZI_GENORTHOMANAGER_HPP
00036
00050 #include "AnasaziConfigDefs.hpp"
00051 #include "AnasaziTypes.hpp"
00052 #include "AnasaziMatOrthoManager.hpp"
00053 #include "AnasaziMultiVecTraits.hpp"
00054 #include "AnasaziOperatorTraits.hpp"
00055
00056 namespace Anasazi {
00057
00058 template <class ScalarType, class MV, class OP>
00059 class GenOrthoManager : public MatOrthoManager<ScalarType,MV,OP> {
00060 public:
00062
00063
00064 GenOrthoManager(Teuchos::RCP<const OP> Op = Teuchos::null);
00065
00067 virtual ~GenOrthoManager() {};
00069
00070
00072
00073
00152 virtual void projectGen(
00153 MV &S,
00154 Teuchos::Array<Teuchos::RCP<const MV> > X,
00155 Teuchos::Array<Teuchos::RCP<const MV> > Y,
00156 bool isBiOrtho,
00157 Teuchos::Array<Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > > C
00158 = Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix<int,ScalarType> >(Teuchos::null)),
00159 Teuchos::RCP<MV> MS = Teuchos::null,
00160 Teuchos::Array<Teuchos::RCP<const MV> > MX = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null)),
00161 Teuchos::Array<Teuchos::RCP<const MV> > MY = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null))
00162 ) const = 0;
00163
00164
00258 virtual int projectAndNormalizeGen (
00259 MV &S,
00260 Teuchos::Array<Teuchos::RCP<const MV> > X,
00261 Teuchos::Array<Teuchos::RCP<const MV> > Y,
00262 bool isBiOrtho,
00263 Teuchos::Array<Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > > C
00264 = Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix<int,ScalarType> >(Teuchos::null)),
00265 Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > B = Teuchos::null,
00266 Teuchos::RCP<MV> MS = Teuchos::null,
00267 Teuchos::Array<Teuchos::RCP<const MV> > MX = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null)),
00268 Teuchos::Array<Teuchos::RCP<const MV> > MY = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null))
00269 ) const = 0;
00270
00272
00273 };
00274
00275 template <class ScalarType,class MV,class OP>
00276 GenOrthoManager<ScalarType,MV,OP>::GenOrthoManager(Teuchos::RCP<const OP> Op)
00277 : MatOrthoManager<ScalarType,MV,OP>(Op) {}
00278
00279 }
00280
00281
00282 #endif
00283
00284