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

List of all members.

Public Member Functions

 Vector (const Teuchos::RCP< ::Thyra::VectorBase< double > > &src)
 Construct a vector as a view of a given Thyra vector.
 Vector (const ::Thyra::VectorBase< double > &source)
 Construct a vector from a given Thyra vector.
 Vector (const NOX::Thyra::Vector &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
 ~Vector ()
 Destruct Vector.
int 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.
void setImplicitWeighting (bool do_implicit_weighting)
 Set to true to enable implicit weighting, false disables.

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_)

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:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends