NOX
Development
|
Implementation of NOX::Thyra::Vector. More...
#include <NOX_Thyra_Vector.H>
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::Vector & | init (double gamma) |
Initialize every element of this vector with gamma . | |
NOX::Abstract::Vector & | random (bool useSeed=false, int seed=1) |
Initialize every element of this vector with random values. | |
NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y) |
Copy source vector y into this vector. | |
NOX::Abstract::Vector & | operator= (const NOX::Thyra::Vector &y) |
NOX::Abstract::Vector & | abs (const NOX::Abstract::Vector &y) |
Put element-wise absolute values of source vector y into this vector. | |
NOX::Abstract::Vector & | reciprocal (const NOX::Abstract::Vector &y) |
Put element-wise reciprocal of source vector y into this vector. | |
NOX::Abstract::Vector & | scale (double gamma) |
Scale each element of this vector by gamma . | |
NOX::Abstract::Vector & | scale (const NOX::Abstract::Vector &a) |
Scale this vector element-by-element by the vector a. | |
NOX::Abstract::Vector & | update (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0) |
Compute x = (alpha * a) + (gamma * x) where x is this vector. | |
NOX::Abstract::Vector & | update (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... | |
Implementation of NOX::Thyra::Vector.
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
|
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.
|
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.