Thyra Version of the Day
Thyra::ScaledLinearOpBase< Scalar > Class Template Reference

Applies left or right sclaing to the linear operator. More...

#include <Thyra_ScaledLinearOpBase.hpp>

Inheritance diagram for Thyra::ScaledLinearOpBase< Scalar >:
Inheritance graph
[legend]

List of all members.

Non-virtual public interface functions.

bool supportsScaleLeft () const
 Determines if this objects supports left scaling.
bool supportsScaleRight () const
 Determines if this objects supports right scaling.
void scaleLeft (const VectorBase< Scalar > &row_scaling)
 Left scales operator with diagonal scaling operator.
void scaleRight (const VectorBase< Scalar > &col_scaling)
 Right scales operator with diagonal scaling operator.

Protected virtual functions to be overridden by subclasses.

virtual bool supportsScaleLeftImpl () const =0
 
virtual bool supportsScaleRightImpl () const =0
 
virtual void scaleLeftImpl (const VectorBase< Scalar > &row_scaling)=0
 
virtual void scaleRightImpl (const VectorBase< Scalar > &col_scaling)=0
 

Detailed Description

template<class Scalar>
class Thyra::ScaledLinearOpBase< Scalar >

Applies left or right sclaing to the linear operator.

This interface represents a linear operator M that explicitly applies left or right scaling by a diagonal (vector) operator d. # Left scaling:

 M = dM
 

or Right scaling:

 M = Md
 

where:

Definition at line 82 of file Thyra_ScaledLinearOpBase.hpp.


Member Function Documentation

template<class Scalar>
bool Thyra::ScaledLinearOpBase< Scalar >::supportsScaleLeft ( ) const [inline]

Determines if this objects supports left scaling.

Definition at line 90 of file Thyra_ScaledLinearOpBase.hpp.

template<class Scalar>
bool Thyra::ScaledLinearOpBase< Scalar >::supportsScaleRight ( ) const [inline]

Determines if this objects supports right scaling.

Definition at line 95 of file Thyra_ScaledLinearOpBase.hpp.

template<class Scalar>
void Thyra::ScaledLinearOpBase< Scalar >::scaleLeft ( const VectorBase< Scalar > &  row_scaling) [inline]

Left scales operator with diagonal scaling operator.

supportsScaleLeft()==true

Definition at line 102 of file Thyra_ScaledLinearOpBase.hpp.

template<class Scalar>
void Thyra::ScaledLinearOpBase< Scalar >::scaleRight ( const VectorBase< Scalar > &  col_scaling) [inline]

Right scales operator with diagonal scaling operator.

supportsScaleRight()==true

Definition at line 109 of file Thyra_ScaledLinearOpBase.hpp.

template<class Scalar>
virtual bool Thyra::ScaledLinearOpBase< Scalar >::supportsScaleLeftImpl ( ) const [protected, pure virtual]

Implemented in Thyra::EpetraLinearOp.

template<class Scalar>
virtual bool Thyra::ScaledLinearOpBase< Scalar >::supportsScaleRightImpl ( ) const [protected, pure virtual]

Implemented in Thyra::EpetraLinearOp.

template<class Scalar>
virtual void Thyra::ScaledLinearOpBase< Scalar >::scaleLeftImpl ( const VectorBase< Scalar > &  row_scaling) [protected, pure virtual]

Implemented in Thyra::EpetraLinearOp.

template<class Scalar>
virtual void Thyra::ScaledLinearOpBase< Scalar >::scaleRightImpl ( const VectorBase< Scalar > &  col_scaling) [protected, pure virtual]

Implemented in Thyra::EpetraLinearOp.


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