NOX
Development
|
Implementation of NOX::Abstract::Vector for STL std::vector<double> (using LAPACK for some computations) More...
#include <NOX_LAPACK_Vector.H>
Public Member Functions | |
Vector () | |
Construct an empty vector. | |
Vector (int n) | |
Construct a zero vector of length n. | |
Vector (int n, double *v) | |
Construct a vector of length n from given array. | |
Vector (const NOX::LAPACK::Vector &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
~Vector () | |
Destruct Vector. | |
NOX::size_type | length () const |
Return the length of vector. More... | |
double & | operator() (int i) |
Return the i-th element. | |
const double & | operator() (int i) const |
Return the i-th element (const version) | |
std::ostream & | leftshift (std::ostream &stream) const |
Prints out the vector to the specified stream. More... | |
void | print (std::ostream &stream) const |
Print the vector. To be used for debugging only. | |
NOX::Abstract::Vector & | init (double value) |
Initialize every element of this vector with gamma . More... | |
virtual NOX::Abstract::Vector & | random (bool useSeed=false, int seed=1) |
Initialize every element of this vector with random values. | |
NOX::Abstract::Vector & | operator= (const std::vector< double > &y) |
Replace this vector with STL double vector y. | |
NOX::Abstract::Vector & | operator= (const NOX::LAPACK::Vector &y) |
NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y) |
Copy source vector y into this vector. More... | |
NOX::Abstract::Vector & | abs (const NOX::LAPACK::Vector &y) |
NOX::Abstract::Vector & | abs (const NOX::Abstract::Vector &y) |
Put element-wise absolute values of source vector y into this vector. More... | |
NOX::Abstract::Vector & | reciprocal (const NOX::LAPACK::Vector &y) |
NOX::Abstract::Vector & | reciprocal (const NOX::Abstract::Vector &y) |
Put element-wise reciprocal of source vector y into this vector. More... | |
NOX::Abstract::Vector & | scale (double gamma) |
Scale each element of this vector by gamma . More... | |
NOX::Abstract::Vector & | scale (const NOX::LAPACK::Vector &a) |
NOX::Abstract::Vector & | scale (const NOX::Abstract::Vector &a) |
Scale this vector element-by-element by the vector a. More... | |
NOX::Abstract::Vector & | update (double alpha, const NOX::LAPACK::Vector &a, double gamma=0.0) |
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. More... | |
NOX::Abstract::Vector & | update (double alpha, const NOX::LAPACK::Vector &a, double beta, const NOX::LAPACK::Vector &b, double gamma=0.0) |
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. More... | |
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. More... | |
double | norm (NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const |
Norm. More... | |
double | norm (const NOX::LAPACK::Vector &weights) const |
double | norm (const NOX::Abstract::Vector &weights) const |
Weighted 2-Norm. More... | |
double | innerProduct (const NOX::LAPACK::Vector &y) const |
double | innerProduct (const NOX::Abstract::Vector &y) const |
Inner product with y . More... | |
Public Member Functions inherited from NOX::Abstract::Vector | |
Vector () | |
Abstract Vector constructor (does nothing) | |
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 . More... | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector > | createMultiVector (int numVecs, NOX::CopyType type=NOX::DeepCopy) const |
Create a MultiVector with numVecs columns. More... | |
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::Abstract::Vector for STL std::vector<double> (using LAPACK for some computations)
|
virtual |
Put element-wise absolute values of source vector y
into this vector.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector.
If type is NOX::DeepCopy, then we need to create an exact replica of "this". Otherwise, if type is NOX::ShapeCopy, we need only replicate the shape of "this" (the memory is allocated for the objects, but the current values are not copied into the vector). Note that there is no assumption that a vector created by ShapeCopy is initialized to zeros.
Implements NOX::Abstract::Vector.
References Teuchos::rcp().
|
virtual |
Initialize every element of this vector with gamma
.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Inner product with y
.
Here x represents this vector, and we compute its inner product with y as follows:
Implements NOX::Abstract::Vector.
std::ostream & NOX::LAPACK::Vector::leftshift | ( | std::ostream & | stream | ) | const |
Prints out the vector to the specified stream.
For example, a vector would appear as
It will be all on one line, with a single space between each entry, bracketed on either side.
Referenced by NOX::LAPACK::operator<<().
|
virtual |
Return the length of vector.
Implements NOX::Abstract::Vector.
|
virtual |
Norm.
Here x represents this vector, and we compute its norm as follows: for each NOX::Abstract::Vector::NormType:
Implements NOX::Abstract::Vector.
References NOX::LAPACK::i_one.
Referenced by LOCA::LAPACK::Interface::projectToDraw().
|
virtual |
Weighted 2-Norm.
Here x represents this vector, and we compute its weighted norm as follows:
Implements NOX::Abstract::Vector.
|
virtual |
Copy source vector y
into this vector.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Put element-wise reciprocal of source vector y
into this vector.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Scale each element of this vector by gamma
.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Scale this vector element-by-element by the vector a.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Compute x = (alpha * a) + (gamma * x) where x is this vector.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.
|
virtual |
Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector.
Here x represents this vector, and we update it as
Implements NOX::Abstract::Vector.