#include <NOX_Epetra_VectorSpace_ScaledL2.H>
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. |
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.
NOX::Epetra::VectorSpaceScaledL2::VectorSpaceScaledL2 | ( | const Teuchos::RCP< NOX::Epetra::Scaling > & | s, | |
NOX::Epetra::Scaling::ScaleType | st = NOX::Epetra::Scaling::Left | |||
) |
NOX::Epetra::VectorSpaceScaledL2::~VectorSpaceScaledL2 | ( | ) | [virtual] |
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: where
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 where
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.
Teuchos::RCP<NOX::Epetra::Scaling> NOX::Epetra::VectorSpaceScaledL2::scalingPtr [protected] |
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().