Anasazi  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
AnasaziGenOrthoManager.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Anasazi: Block Eigensolvers Package
4 //
5 // Copyright 2004 NTESS and the Anasazi contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
15 #ifndef ANASAZI_GENORTHOMANAGER_HPP
16 #define ANASAZI_GENORTHOMANAGER_HPP
17 
31 #include "AnasaziConfigDefs.hpp"
32 #include "AnasaziTypes.hpp"
36 
37 namespace Anasazi {
38 
39  template <class ScalarType, class MV, class OP>
40  class GenOrthoManager : public MatOrthoManager<ScalarType,MV,OP> {
41  public:
43 
44  GenOrthoManager(Teuchos::RCP<const OP> Op = Teuchos::null);
46 
48  virtual ~GenOrthoManager() {};
50 
51 
53 
54 
133  virtual void projectGen(
134  MV &S,
137  bool isBiOrtho,
139  = Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix<int,ScalarType> >(Teuchos::null)),
140  Teuchos::RCP<MV> MS = Teuchos::null,
141  Teuchos::Array<Teuchos::RCP<const MV> > MX = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null)),
142  Teuchos::Array<Teuchos::RCP<const MV> > MY = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null))
143  ) const = 0;
144 
145 
239  virtual int projectAndNormalizeGen (
240  MV &S,
243  bool isBiOrtho,
245  = Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix<int,ScalarType> >(Teuchos::null)),
247  Teuchos::RCP<MV> MS = Teuchos::null,
248  Teuchos::Array<Teuchos::RCP<const MV> > MX = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null)),
249  Teuchos::Array<Teuchos::RCP<const MV> > MY = Teuchos::tuple(Teuchos::RCP<const MV>(Teuchos::null))
250  ) const = 0;
251 
253 
254  };
255 
256  template <class ScalarType,class MV,class OP>
258  : MatOrthoManager<ScalarType,MV,OP>(Op) {}
259 
260 } // end of Anasazi namespace
261 
262 
263 #endif
264 
265 // end of file AnasaziGenOrthoManager.hpp
Templated virtual class for providing orthogonalization/orthonormalization methods with matrix-based ...
virtual int projectAndNormalizeGen(MV &S, Teuchos::Array< Teuchos::RCP< const MV > > X, Teuchos::Array< Teuchos::RCP< const MV > > Y, bool isBiOrtho, Teuchos::Array< Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > > C=Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > >(Teuchos::null)), Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > B=Teuchos::null, Teuchos::RCP< MV > MS=Teuchos::null, Teuchos::Array< Teuchos::RCP< const MV > > MX=Teuchos::tuple(Teuchos::RCP< const MV >(Teuchos::null)), Teuchos::Array< Teuchos::RCP< const MV > > MY=Teuchos::tuple(Teuchos::RCP< const MV >(Teuchos::null))) const =0
Applies a series of generic projectors and returns an orthonormal basis for the residual data...
Declaration of basic traits for the multivector type.
GenOrthoManager(Teuchos::RCP< const OP > Op=Teuchos::null)
Default constructor.
Anasazi&#39;s templated virtual class for providing routines for orthogonalization and orthonormalization...
Virtual base class which defines basic traits for the operator type.
Anasazi header file which uses auto-configuration information to include necessary C++ headers...
virtual ~GenOrthoManager()
Destructor.
virtual void projectGen(MV &S, Teuchos::Array< Teuchos::RCP< const MV > > X, Teuchos::Array< Teuchos::RCP< const MV > > Y, bool isBiOrtho, Teuchos::Array< Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > > C=Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > >(Teuchos::null)), Teuchos::RCP< MV > MS=Teuchos::null, Teuchos::Array< Teuchos::RCP< const MV > > MX=Teuchos::tuple(Teuchos::RCP< const MV >(Teuchos::null)), Teuchos::Array< Teuchos::RCP< const MV > > MY=Teuchos::tuple(Teuchos::RCP< const MV >(Teuchos::null))) const =0
Applies a series of generic projectors.
Types and exceptions used within Anasazi solvers and interfaces.