|
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. | |
| 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. | |
| 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. | |
| 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. | |
| 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. | |
| 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
References do_implicit_weighting_, and thyraVec.
| NOX::Thyra::Vector::Vector | ( | const ::Thyra::VectorBase< double > & | source | ) |
Construct a vector from a given Thyra vector.
Allocates an entirely new vector
References do_implicit_weighting_, and thyraVec.
| NOX::Thyra::Vector::Vector | ( | const NOX::Thyra::Vector & | source, |
| NOX::CopyType | type = NOX::DeepCopy ) |
Copy constructor.
References do_implicit_weighting_, thyraVec, and weightVec_.
|
virtual |
Destruct Vector.
Reimplemented from NOX::Abstract::Vector.
|
virtual |
Put element-wise absolute values of source vector y into this vector.
Implements NOX::Abstract::Vector.
References thyraVec.
|
virtual |
Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector.
Implements NOX::Abstract::Vector.
|
virtual |
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.
Reimplemented from NOX::Abstract::Vector.
References NOX::DeepCopy, thyraVec, and weightVec_.
|
virtual |
Create a MultiVector with numVecs columns.
Reimplemented from NOX::Abstract::Vector.
References NOX::DeepCopy, do_implicit_weighting_, thyraVec, and weightVec_.
|
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.
References do_implicit_weighting_.
|
virtual |
Get RCP to underlying Thyra vector.
References thyraVec.
Referenced by NOX::Thyra::Group::applyRightPreconditioning(), LOCA::Thyra::Group::applyShiftedMatrix(), and LOCA::Thyra::Group::computeDfDpMulti().
|
virtual |
| Thyra::VectorBase< double > & NOX::Thyra::Vector::getThyraVector | ( | ) |
Get reference to underlying Thyra vector.
References thyraVec.
Referenced by LOCA::Thyra::Group::applyShiftedMatrix(), NOX::Thyra::WeightedMeritFunction::computeGradient(), and Thyra::NOXNonlinearSolver::solve().
|
virtual |
| Teuchos::RCP< const::Thyra::VectorBase< double > > NOX::Thyra::Vector::getWeightVector | ( | ) | const |
Returns a weighting vector if one was set, otherwise throws.
References weightVec_.
|
virtual |
Initialize every element of this vector with gamma.
Implements NOX::Abstract::Vector.
References thyraVec.
|
virtual |
Inner product with y.
Implements NOX::Abstract::Vector.
References do_implicit_weighting_, thyraVec, tmpVec_, and weightVec_.
|
virtual |
|
virtual |
Weighted 2-Norm.
Implements NOX::Abstract::Vector.
References do_implicit_weighting_, thyraVec, tmpVec_, and weightVec_.
|
virtual |
! Norm
Implements NOX::Abstract::Vector.
References do_implicit_weighting_, NOX::Abstract::Vector::OneNorm, thyraVec, tmpVec_, NOX::Abstract::Vector::TwoNorm, and weightVec_.
|
virtual |
Copy source vector y into this vector.
Implements NOX::Abstract::Vector.
References operator=().
Referenced by operator=().
|
virtual |
Print the vector. To be used for debugging only.
Reimplemented from NOX::Abstract::Vector.
References thyraVec.
|
virtual |
Initialize every element of this vector with random values.
Implements NOX::Abstract::Vector.
References thyraVec.
|
virtual |
Put element-wise reciprocal of source vector y into this vector.
Implements NOX::Abstract::Vector.
References thyraVec.
|
virtual |
Scale this vector element-by-element by the vector a.
Implements NOX::Abstract::Vector.
References thyraVec.
|
virtual |
|
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.
References do_implicit_weighting_.
| void NOX::Thyra::Vector::setWeightVector | ( | const Teuchos::RCP< const ::Thyra::VectorBase< double > > & | weightVec | ) |
Set the weighting vector used for inner products and norms.
References do_implicit_weighting_, tmpVec_, and weightVec_.
|
virtual |
Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector.
Implements NOX::Abstract::Vector.
References thyraVec.
|
virtual |
Compute x = (alpha * a) + (gamma * x) where x is this vector.
Implements NOX::Abstract::Vector.
References thyraVec.
|
protected |
True if implicit weighting is enabled (i.e. a nonnull wieghtVec_).
Referenced by createMultiVector(), getImplicitWeighting(), innerProduct(), norm(), norm(), setImplicitWeighting(), setWeightVector(), Vector(), Vector(), and Vector().
|
protected |
Pointer to Thyra vector owned by this object.
Referenced by abs(), createMultiVector(), createMultiVector(), getThyraRCPVector(), getThyraRCPVector(), getThyraVector(), getThyraVector(), init(), innerProduct(), length(), norm(), norm(), print(), random(), reciprocal(), scale(), scale(), update(), update(), Vector(), Vector(), and Vector().
|
protected |
Thyra vector used for weighting inner product and norms.
Referenced by innerProduct(), norm(), norm(), and setWeightVector().
|
protected |
Thyra vector used for weighting inner product and norms.
Referenced by createMultiVector(), createMultiVector(), getWeightVector(), innerProduct(), norm(), norm(), setWeightVector(), and Vector().