14 #ifndef BELOS_ORTHOMANAGER_HPP
15 #define BELOS_ORTHOMANAGER_HPP
56 template <
class ScalarType,
class MV>
248 virtual void setLabel(
const std::string& label) = 0;
252 virtual const std::string&
getLabel()
const = 0;
Collection of types and exceptions used within the Belos solvers.
OrthoError(const std::string &what_arg)
int projectAndNormalize(MV &X, Teuchos::Array< Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > > C, Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > B, Teuchos::ArrayView< Teuchos::RCP< const MV > > Q) const
Project X against the Q[i] and normalize X.
virtual void project(MV &X, Teuchos::Array< Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > > C, Teuchos::ArrayView< Teuchos::RCP< const MV > > Q) const =0
Project X against the (orthogonal) entries of Q.
virtual int projectAndNormalizeImpl(MV &X, Teuchos::Array< Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > > C, Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > B, Teuchos::ArrayView< Teuchos::RCP< const MV > > Q) const =0
virtual void setLabel(const std::string &label)=0
This method sets the label used by the timers in the orthogonalization manager.
OrthoManager()
Default constructor.
virtual int normalize(MV &X, Teuchos::RCP< Teuchos::SerialDenseMatrix< int, ScalarType > > B) const =0
This method takes a multivector X and attempts to compute an orthonormal basis for ...
virtual Teuchos::ScalarTraits< ScalarType >::magnitudeType orthogError(const MV &X1, const MV &X2) const =0
This method computes the error in orthogonality of two multivectors.
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 const std::string & getLabel() const =0
This method returns the label being used by the timers in the orthogonalization manager.
Belos's templated virtual class for providing routines for orthogonalization and orthonormzalition of...
Exception thrown to signal error in an orthogonalization manager method.
BelosError(const std::string &what_arg)
virtual Teuchos::ScalarTraits< ScalarType >::magnitudeType orthonormError(const MV &X) const =0
This method computes the error in orthonormality of a multivector.
virtual ~OrthoManager()
Destructor.
virtual void norm(const MV &X, std::vector< typename Teuchos::ScalarTraits< ScalarType >::magnitudeType > &normvec) const =0
Compute the norm(s) of the column(s) of X.
Parent class to all Belos exceptions.
Belos header file which uses auto-configuration information to include necessary C++ headers...