Belos Version of the Day
Public Types | Public Member Functions | Static Public Member Functions
Belos::SimpleOrthoManager< Scalar, MV > Class Template Reference

Simple OrthoManager implementation for benchmarks. More...

#include <BelosSimpleOrthoManager.hpp>

Inheritance diagram for Belos::SimpleOrthoManager< Scalar, MV >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Scalar scalar_type
typedef Teuchos::ScalarTraits
< Scalar >::magnitudeType 
magnitude_type
typedef
Teuchos::SerialDenseMatrix
< int, Scalar > 
mat_type
typedef Teuchos::RCP
< Teuchos::SerialDenseMatrix
< int, Scalar > > 
mat_ptr

Public Member Functions

Teuchos::RCP< const
Teuchos::ParameterList
getValidParameters () const
 Get a default list of parameters.
Teuchos::RCP< const
Teuchos::ParameterList
getFastParameters ()
 Get a "fast" list of parameters.
void setParameterList (const Teuchos::RCP< Teuchos::ParameterList > &plist)
 SimpleOrthoManager (const Teuchos::RCP< OutputManager< Scalar > > &outMan, const std::string &label, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor.
virtual ~SimpleOrthoManager ()
 Virtual destructor for memory safety of derived classes.
void innerProd (const MV &X, const MV &Y, mat_type &Z) const
 Provides the inner product defining the orthogonality concepts.
void norm (const MV &X, std::vector< magnitude_type > &normVec) const
void project (MV &X, Teuchos::Array< mat_ptr > C, Teuchos::ArrayView< Teuchos::RCP< const MV > > Q) const
int normalize (MV &X, mat_ptr B) const
int projectAndNormalize (MV &X, Teuchos::Array< mat_ptr > C, mat_ptr B, Teuchos::ArrayView< Teuchos::RCP< const MV > > Q) const
magnitude_type orthonormError (const MV &X) const
 This method computes the error in orthonormality of a multivector.
magnitude_type orthogError (const MV &X1, const MV &X2) const
 This method computes the error in orthogonality of two multivectors.
void setLabel (const std::string &label)
 This method sets the label used by the timers in the orthogonalization manager.
const std::string & getLabel () const
 This method returns the label being used by the timers in the orthogonalization manager.

Static Public Member Functions

static TEUCHOS_DEPRECATED
Teuchos::RCP< const
Teuchos::ParameterList
getDefaultParameters ()
 Get a default list of parameters.

Detailed Description

template<class Scalar, class MV>
class Belos::SimpleOrthoManager< Scalar, MV >

Simple OrthoManager implementation for benchmarks.

Author:
Mark Hoemmen

This is a very simple orthogonalization method and should only be used for benchmarks. It performs optional unconditional reorthogonalization (no norm tests), but has no rank-revealing features.

Definition at line 68 of file BelosSimpleOrthoManager.hpp.


Member Typedef Documentation

template<class Scalar , class MV >
typedef Scalar Belos::SimpleOrthoManager< Scalar, MV >::scalar_type

Definition at line 73 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType Belos::SimpleOrthoManager< Scalar, MV >::magnitude_type

Definition at line 74 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
typedef Teuchos::SerialDenseMatrix<int, Scalar> Belos::SimpleOrthoManager< Scalar, MV >::mat_type

Definition at line 75 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
typedef Teuchos::RCP<Teuchos::SerialDenseMatrix<int, Scalar> > Belos::SimpleOrthoManager< Scalar, MV >::mat_ptr

Definition at line 76 of file BelosSimpleOrthoManager.hpp.


Constructor & Destructor Documentation

template<class Scalar , class MV >
Belos::SimpleOrthoManager< Scalar, MV >::SimpleOrthoManager ( const Teuchos::RCP< OutputManager< Scalar > > &  outMan,
const std::string &  label,
const Teuchos::RCP< Teuchos::ParameterList > &  params 
) [inline]

Constructor.

Parameters:
outMan[in/out] Output manager. If not null, use for various kinds of status output (in particular, for debugging).
label[in] Label for Belos timers.
params[in/out] List of configuration parameters. Call getDefaultParameters() or getFastParameters() for valid parameter lists.

Definition at line 247 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
virtual Belos::SimpleOrthoManager< Scalar, MV >::~SimpleOrthoManager ( ) [inline, virtual]

Virtual destructor for memory safety of derived classes.

Definition at line 272 of file BelosSimpleOrthoManager.hpp.


Member Function Documentation

template<class Scalar , class MV >
Teuchos::RCP<const Teuchos::ParameterList> Belos::SimpleOrthoManager< Scalar, MV >::getValidParameters ( ) const [inline, virtual]

Get a default list of parameters.

The "default" parameter list sets reasonably safe options in terms of accuracy of the computed orthogonalization. Call getFastParameters() if you prefer to sacrifice some accuracy for speed.

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 129 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
static TEUCHOS_DEPRECATED Teuchos::RCP<const Teuchos::ParameterList> Belos::SimpleOrthoManager< Scalar, MV >::getDefaultParameters ( ) [inline, static]

Get a default list of parameters.

The "default" parameter list sets reasonably safe options in terms of accuracy of the computed orthogonalization. Call getFastParameters() if you prefer to sacrifice some accuracy for speed.

Warning:
This method is deprecated. Please call getValidParameters() instead.

Definition at line 162 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
Teuchos::RCP<const Teuchos::ParameterList> Belos::SimpleOrthoManager< Scalar, MV >::getFastParameters ( ) [inline]

Get a "fast" list of parameters.

The "fast" parameter list favors speed of orthogonalization, but sacrifices some safety and accuracy. Call getDefaultParameters() for safer and more accurate options.

Definition at line 188 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
void Belos::SimpleOrthoManager< Scalar, MV >::setParameterList ( const Teuchos::RCP< Teuchos::ParameterList > &  plist) [inline, virtual]

Implements Teuchos::ParameterListAcceptor.

Definition at line 207 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
void Belos::SimpleOrthoManager< Scalar, MV >::innerProd ( const MV &  X,
const MV &  Y,
mat_type Z 
) const [inline, virtual]

Provides the inner product defining the orthogonality concepts.

All concepts of orthogonality discussed in this class are with respect to this inner product.

Note:
This can be different than the MvTransMv method from the multivector class. For example, if there is a mass matrix M, then this might be the M inner product ( $x^HMx$).

Implements Belos::OrthoManager< Scalar, MV >.

Definition at line 274 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
void Belos::SimpleOrthoManager< Scalar, MV >::norm ( const MV &  X,
std::vector< magnitude_type > &  normVec 
) const [inline]

Definition at line 278 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
void Belos::SimpleOrthoManager< Scalar, MV >::project ( MV &  X,
Teuchos::Array< mat_ptr C,
Teuchos::ArrayView< Teuchos::RCP< const MV > >  Q 
) const [inline]

Definition at line 288 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
int Belos::SimpleOrthoManager< Scalar, MV >::normalize ( MV &  X,
mat_ptr  B 
) const [inline]

Definition at line 309 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
int Belos::SimpleOrthoManager< Scalar, MV >::projectAndNormalize ( MV &  X,
Teuchos::Array< mat_ptr C,
mat_ptr  B,
Teuchos::ArrayView< Teuchos::RCP< const MV > >  Q 
) const [inline]

Definition at line 323 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
magnitude_type Belos::SimpleOrthoManager< Scalar, MV >::orthonormError ( const MV &  X) const [inline, virtual]

This method computes the error in orthonormality of a multivector.

Implements Belos::OrthoManager< Scalar, MV >.

Definition at line 335 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
magnitude_type Belos::SimpleOrthoManager< Scalar, MV >::orthogError ( const MV &  X1,
const MV &  X2 
) const [inline, virtual]

This method computes the error in orthogonality of two multivectors.

Implements Belos::OrthoManager< Scalar, MV >.

Definition at line 347 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
void Belos::SimpleOrthoManager< Scalar, MV >::setLabel ( const std::string &  label) [inline, virtual]

This method sets the label used by the timers in the orthogonalization manager.

Implements Belos::OrthoManager< Scalar, MV >.

Definition at line 356 of file BelosSimpleOrthoManager.hpp.

template<class Scalar , class MV >
const std::string& Belos::SimpleOrthoManager< Scalar, MV >::getLabel ( ) const [inline, virtual]

This method returns the label being used by the timers in the orthogonalization manager.

Implements Belos::OrthoManager< Scalar, MV >.

Definition at line 357 of file BelosSimpleOrthoManager.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines