|
Anasazi
Version of the Day
|
Go to the documentation of this file.
46 #ifndef ANASAZI_ORTHOMANAGER_HPP
47 #define ANASAZI_ORTHOMANAGER_HPP
65 #include "Teuchos_ScalarTraits.hpp"
66 #include "Teuchos_RCP.hpp"
67 #include "Teuchos_SerialDenseMatrix.hpp"
68 #include "Teuchos_Array.hpp"
86 template <
class ScalarType,
class MV>
114 virtual void innerProd(
const MV &X,
const MV &Y, Teuchos::SerialDenseMatrix<int,ScalarType>& Z )
const = 0;
129 virtual void norm(
const MV& X, std::vector<
typename Teuchos::ScalarTraits<ScalarType>::magnitudeType > &normvec )
const = 0;
173 Teuchos::Array<Teuchos::RCP<const MV> > Q,
174 Teuchos::Array<Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > > C
175 = Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix<int,ScalarType> >(Teuchos::null))
222 Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > B = Teuchos::null)
const = 0;
292 Teuchos::Array<Teuchos::RCP<const MV> > Q,
293 Teuchos::Array<Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > > C
294 = Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix<int,ScalarType> >(Teuchos::null)),
295 Teuchos::RCP<Teuchos::SerialDenseMatrix<int,ScalarType> > B = Teuchos::null
308 virtual typename Teuchos::ScalarTraits< ScalarType >::magnitudeType
orthonormError(
const MV &X)
const = 0;
315 virtual typename Teuchos::ScalarTraits<ScalarType>::magnitudeType
orthogError(
const MV &X1,
const MV &X2)
const = 0;
Types and exceptions used within Anasazi solvers and interfaces.
virtual void norm(const MV &X, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec) const =0
Provides the norm induced by innerProd().
virtual Teuchos::ScalarTraits< ScalarType >::magnitudeType orthonormError(const MV &X) const =0
This method computes the error in orthonormality of a multivector.
virtual void innerProd(const MV &X, const MV &Y, Teuchos::SerialDenseMatrix< int, ScalarType > &Z) const =0
Provides the inner product defining the orthogonality concepts.
virtual int projectAndNormalize(MV &X, Teuchos::Array< Teuchos::RCP< const MV > > Q, 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) const =0
Given a set of bases Q[i] and a multivector X, this method computes an orthonormal basis for .
virtual int normalize(MV &X, Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > B=Teuchos::null) const =0
This method takes a multivector X and attempts to compute a basis for . This basis is orthonormal wit...
virtual Teuchos::ScalarTraits< ScalarType >::magnitudeType orthogError(const MV &X1, const MV &X2) const =0
This method computes the error in orthogonality of two multivectors.
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.
Exception thrown to signal error in an orthogonalization manager method.
OrthoManager()
Default constructor.
An exception class parent to all Anasazi exceptions.
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
virtual void project(MV &X, Teuchos::Array< Teuchos::RCP< const MV > > Q, Teuchos::Array< Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > > C=Teuchos::tuple(Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > >(Teuchos::null))) const =0
Given a list of mutually orthogonal and internally orthonormal bases Q, this method projects a multiv...
Anasazi's templated virtual class for providing routines for orthogonalization and orthonormalization...
virtual ~OrthoManager()
Destructor.