NOX::Epetra::VectorSpaceScaledL2 Class Reference

Concrete class for a weighted L2 vector space. More...

#include <NOX_Epetra_VectorSpace_ScaledL2.H>

Inheritance diagram for NOX::Epetra::VectorSpaceScaledL2:

Inheritance graph
[legend]
Collaboration diagram for NOX::Epetra::VectorSpaceScaledL2:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 VectorSpaceScaledL2 (const Teuchos::RCP< NOX::Epetra::Scaling > &s, NOX::Epetra::Scaling::ScaleType st=NOX::Epetra::Scaling::Left)
 Constructor.
virtual ~VectorSpaceScaledL2 ()
 Destructor.
virtual double innerProduct (const Epetra_Vector &a, const Epetra_Vector &b) const
 Computes a scaled inner product.
virtual double norm (const Epetra_Vector &a, NOX::Abstract::Vector::NormType=NOX::Abstract::Vector::TwoNorm) const
 Computes the scaled norm.

Protected Attributes

Teuchos::RCP
< NOX::Epetra::Scaling
scalingPtr
 Scaling vector used in the inner product.
NOX::Epetra::Scaling::ScaleType scaleType
 Scaling type to apply to vector space.
Teuchos::RCP< Epetra_Vector > tmpVectorPtr
 Temporary vector used in scaling computations.


Detailed Description

Concrete class for a weighted L2 vector space.

This class allows users to override the inner product and norm used by the NOX::Epetra::Vector class. The most frequent use of this class is for introducing a weighted norm throughout NOX.

Definition at line 63 of file NOX_Epetra_VectorSpace_ScaledL2.H.


Constructor & Destructor Documentation

NOX::Epetra::VectorSpaceScaledL2::VectorSpaceScaledL2 ( const Teuchos::RCP< NOX::Epetra::Scaling > &  s,
NOX::Epetra::Scaling::ScaleType  st = NOX::Epetra::Scaling::Left 
)

Constructor.

Definition at line 46 of file NOX_Epetra_VectorSpace_ScaledL2.C.

NOX::Epetra::VectorSpaceScaledL2::~VectorSpaceScaledL2 (  )  [virtual]

Destructor.

Definition at line 54 of file NOX_Epetra_VectorSpace_ScaledL2.C.


Member Function Documentation

double NOX::Epetra::VectorSpaceScaledL2::innerProduct ( const Epetra_Vector &  a,
const Epetra_Vector &  b 
) const [virtual]

Computes a scaled inner product.

Computes a scaled inner product: $ <Da, Db> $ where $D$ is the set of scaling vectors associated with either left of right scaling.

Implements NOX::Epetra::VectorSpace.

Definition at line 60 of file NOX_Epetra_VectorSpace_ScaledL2.C.

References scaleType, scalingPtr, and tmpVectorPtr.

double NOX::Epetra::VectorSpaceScaledL2::norm ( const Epetra_Vector &  a,
NOX::Abstract::Vector::NormType  type = NOX::Abstract::Vector::TwoNorm 
) const [virtual]

Computes the scaled norm.

Computes the scaled norm using $ Da $ where $D$ is the set of scaling vectors associated with either left of right scaling.

Implements NOX::Epetra::VectorSpace.

Definition at line 84 of file NOX_Epetra_VectorSpace_ScaledL2.C.

References NOX::Abstract::Vector::MaxNorm, NOX::Abstract::Vector::OneNorm, scaleType, scalingPtr, tmpVectorPtr, and NOX::Abstract::Vector::TwoNorm.


Member Data Documentation

Scaling vector used in the inner product.

Definition at line 95 of file NOX_Epetra_VectorSpace_ScaledL2.H.

Referenced by innerProduct(), and norm().

Scaling type to apply to vector space.

Definition at line 98 of file NOX_Epetra_VectorSpace_ScaledL2.H.

Referenced by innerProduct(), and norm().

Teuchos::RCP<Epetra_Vector> NOX::Epetra::VectorSpaceScaledL2::tmpVectorPtr [mutable, protected]

Temporary vector used in scaling computations.

Definition at line 101 of file NOX_Epetra_VectorSpace_ScaledL2.H.

Referenced by innerProduct(), and norm().


The documentation for this class was generated from the following files:

Generated on Thu Dec 17 11:03:06 2009 for Nonlinear Solver Project by  doxygen 1.5.9