NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Attributes | List of all members
NOX::Thyra::Vector Class Reference

Implementation of NOX::Thyra::Vector. More...

#include <NOX_Thyra_Vector.H>

Inheritance diagram for NOX::Thyra::Vector:
Inheritance graph
[legend]
Collaboration diagram for NOX::Thyra::Vector:
Collaboration graph
[legend]

Public Member Functions

 Vector (const Teuchos::RCP< ::Thyra::VectorBase< double > > &src)
 Construct a vector as a view of a given Thyra vector. More...
 
 Vector (const ::Thyra::VectorBase< double > &source)
 Construct a vector from a given Thyra vector. More...
 
 Vector (const NOX::Thyra::Vector &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
 
 ~Vector ()
 Destruct Vector.
 
NOX::size_type length () const
 Return the length of vector.
 
void print (std::ostream &stream) const
 Print the vector. To be used for debugging only.
 
void setWeightVector (const Teuchos::RCP< const ::Thyra::VectorBase< double > > &weightVec)
 Set the weighting vector used for inner products and norms.
 
bool hasWeightVector () const
 
Teuchos::RCP< const
::Thyra::VectorBase< double > > 
getWeightVector () const
 Returns a weighting vector if one was set, otherwise throws.
 
virtual ::Thyra::VectorBase
< double > & 
getThyraVector ()
 Get reference to underlying Thyra vector.
 
virtual const
::Thyra::VectorBase< double > & 
getThyraVector () const
 Get const reference to underlying Thyra vector.
 
virtual Teuchos::RCP
< ::Thyra::VectorBase< double > > 
getThyraRCPVector ()
 Get RCP to underlying Thyra vector.
 
virtual Teuchos::RCP< const
::Thyra::VectorBase< double > > 
getThyraRCPVector () const
 Get RCP to underlying Thyra vector.
 
NOX::Abstract::Vectorinit (double gamma)
 Initialize every element of this vector with gamma.
 
NOX::Abstract::Vectorrandom (bool useSeed=false, int seed=1)
 Initialize every element of this vector with random values.
 
NOX::Abstract::Vectoroperator= (const NOX::Abstract::Vector &y)
 Copy source vector y into this vector.
 
NOX::Abstract::Vectoroperator= (const NOX::Thyra::Vector &y)
 
NOX::Abstract::Vectorabs (const NOX::Abstract::Vector &y)
 Put element-wise absolute values of source vector y into this vector.
 
NOX::Abstract::Vectorreciprocal (const NOX::Abstract::Vector &y)
 Put element-wise reciprocal of source vector y into this vector.
 
NOX::Abstract::Vectorscale (double gamma)
 Scale each element of this vector by gamma.
 
NOX::Abstract::Vectorscale (const NOX::Abstract::Vector &a)
 Scale this vector element-by-element by the vector a.
 
NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0)
 Compute x = (alpha * a) + (gamma * x) where x is this vector.
 
NOX::Abstract::Vectorupdate (double alpha, const NOX::Abstract::Vector &a, double beta, const NOX::Abstract::Vector &b, double gamma=0.0)
 Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector.
 
Teuchos::RCP
< NOX::Abstract::Vector
clone (NOX::CopyType type=NOX::DeepCopy) const
 Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector.
 
virtual Teuchos::RCP
< NOX::Abstract::MultiVector
createMultiVector (const NOX::Abstract::Vector *const *vecs, int numVecs, NOX::CopyType type=NOX::DeepCopy) const
 Create a MultiVector with numVecs+1 columns out of an array of Vectors. The vector stored under this will be the first column with the remaining numVecs columns given by vecs.
 
virtual Teuchos::RCP
< NOX::Abstract::MultiVector
createMultiVector (int numVecs, NOX::CopyType type=NOX::DeepCopy) const
 Create a MultiVector with numVecs columns.
 
double norm (NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const
 ! Norm
 
double norm (const NOX::Abstract::Vector &weights) const
 Weighted 2-Norm.
 
double innerProduct (const NOX::Abstract::Vector &y) const
 Inner product with y.
 
bool getImplicitWeighting () const
 Return true if implicit weighting is currently enabled. More...
 
void setImplicitWeighting (bool do_implicit_weighting)
 Set to true to enable implicit weighting, false disables. More...
 
- Public Member Functions inherited from NOX::Abstract::Vector
 Vector ()
 Abstract Vector constructor (does nothing)
 

Protected Attributes

Teuchos::RCP
< ::Thyra::VectorBase< double > > 
thyraVec
 Pointer to Thyra vector owned by this object.
 
Teuchos::RCP< const
::Thyra::VectorBase< double > > 
weightVec_
 Thyra vector used for weighting inner product and norms.
 
Teuchos::RCP
< ::Thyra::VectorBase< double > > 
tmpVec_
 Thyra vector used for weighting inner product and norms.
 
bool do_implicit_weighting_
 True if implicit weighting is enabled (i.e. a nonnull wieghtVec_)
 

Additional Inherited Members

- Public Types inherited from NOX::Abstract::Vector
enum  NormType { TwoNorm, OneNorm, MaxNorm }
 Norm types used in norm() calculations. More...
 

Detailed Description

Implementation of NOX::Thyra::Vector.

Constructor & Destructor Documentation

NOX::Thyra::Vector::Vector ( const Teuchos::RCP< ::Thyra::VectorBase< double > > &  src)

Construct a vector as a view of a given Thyra vector.

Creates a view and does not allocate a new vector

NOX::Thyra::Vector::Vector ( const ::Thyra::VectorBase< double > &  source)

Construct a vector from a given Thyra vector.

Allocates an entirely new vector

Member Function Documentation

bool NOX::Thyra::Vector::getImplicitWeighting ( ) const
virtual

Return true if implicit weighting is currently enabled.

CAUTION: This is a power user feature and should only be used in concert with specialized NOX::Abstract::Vector implementations.

Implements NOX::Abstract::ImplicitWeighting.

void NOX::Thyra::Vector::setImplicitWeighting ( bool  do_implicit_weighting)
virtual

Set to true to enable implicit weighting, false disables.

CAUTION: This is a power user feature and should only be used in concert with specialized NOX::Abstract::Vector implementations.

Implements NOX::Abstract::ImplicitWeighting.


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