NOX Development
Public Member Functions | Protected Attributes
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_VectortmpVectorPtr
 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.


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.

References Epetra_MultiVector::Dot(), is_null(), and Teuchos::rcp().

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.

References is_null(), NOX::Abstract::Vector::MaxNorm, NOX::Abstract::Vector::OneNorm, Teuchos::rcp(), and NOX::Abstract::Vector::TwoNorm.


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