NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
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]

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. More...
 
virtual double norm (const Epetra_Vector &a, NOX::Abstract::Vector::NormType=NOX::Abstract::Vector::TwoNorm) const
 Computes the scaled norm. More...
 
- Public Member Functions inherited from NOX::Epetra::VectorSpace
 VectorSpace ()
 Constructor.
 
virtual ~VectorSpace ()
 Destructor.
 

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 Teuchos::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 Teuchos::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: