#include <NOX_Abstract_Vector.H>
Inheritance diagram for NOX::Abstract::Vector:
Public Types | |
| enum | NormType { TwoNorm, OneNorm, MaxNorm } |
| Norm types used in norm() calculations. More... | |
Public Member Functions | |
| Vector () | |
| Abstract Vector constructor (does nothing) | |
| virtual | ~Vector () |
| Abstract Vector destructor (does nothing) | |
| virtual int | length () const =0 |
| Return the length of vector. | |
| virtual void | print () const |
| Print the vector. This is meant for debugging purposes only and does not need to be defined. | |
Initialization methods. | |
| virtual NOX::Abstract::Vector & | init (double gamma)=0 |
Initialize every element of this vector with gamma. | |
| virtual NOX::Abstract::Vector & | random (bool useSeed=false, int seed=1) |
| Initialize each element of this vector with a random value. | |
| virtual NOX::Abstract::Vector & | abs (const NOX::Abstract::Vector &y)=0 |
Put element-wise absolute values of source vector y into this vector. | |
| virtual NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y)=0 |
Copy source vector y into this vector. | |
| virtual NOX::Abstract::Vector & | reciprocal (const NOX::Abstract::Vector &y)=0 |
Put element-wise reciprocal of source vector y into this vector. | |
Update methods. | |
| virtual NOX::Abstract::Vector & | scale (double gamma)=0 |
Scale each element of this vector by gamma. | |
| virtual NOX::Abstract::Vector & | scale (const NOX::Abstract::Vector &a)=0 |
| Scale this vector element-by-element by the vector a. | |
| virtual NOX::Abstract::Vector & | update (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0)=0 |
| Compute x = (alpha * a) + (gamma * x) where x is this vector. | |
| virtual NOX::Abstract::Vector & | update (double alpha, const NOX::Abstract::Vector &a, double beta, const NOX::Abstract::Vector &b, double gamma=0.0)=0 |
| Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector. | |
Creating new Vectors. | |
| virtual NOX::Abstract::Vector * | clone (NOX::CopyType type=NOX::DeepCopy) const =0 |
| Create a new Vector of the same underlying type by cloning "this", and return a pointer to the new vector. | |
Norms. | |
| virtual double | norm (NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const =0 |
| Norm. | |
| virtual double | norm (const NOX::Abstract::Vector &weights) const =0 |
| Weighted 2-Norm. | |
Dot products. | |
| virtual double | dot (const NOX::Abstract::Vector &y) const =0 |
Dot product with y. | |
This class is a member of the namespace NOX::Abstract.
The user should implement their own concrete implementation of this class or use one of the implementations provided by us.
|
|
Norm types used in norm() calculations.
|
|
|
Put element-wise absolute values of source vector Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
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". Note that there is no assumption that a vector created by ShapeCopy is initialized to zeros.
Implemented in LOCA::Bifurcation::HopfBord::ExtendedVector, LOCA::Bifurcation::PitchforkBord::ExtendedVector, LOCA::Bifurcation::TPBord::ExtendedVector, LOCA::Continuation::ExtendedVector, LOCA::Extended::Vector, LOCA::MultiContinuation::ExtendedVector, and NOX::LAPACK::Vector. |
|
|
Dot product with Here x represents this vector, and we compute its dot product with y as follows:
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
Initialize every element of this vector with Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, NOX::Petsc::Vector, and NOX::LAPACK::Vector. |
|
|
Return the length of vector.
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, NOX::Petsc::Vector, and NOX::LAPACK::Vector. |
|
|
Weighted 2-Norm. Here x represents this vector, and we compute its weighted norm as follows:
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
Norm. Here x represents this vector, and we compute its norm as follows: for each NOX::Abstract::Vector::NormType:
Implemented in NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
Copy source vector Here x represents this vector, and we update it as
Implemented in LOCA::Bifurcation::HopfBord::ExtendedVector, LOCA::Bifurcation::PitchforkBord::ExtendedVector, LOCA::Bifurcation::TPBord::ExtendedVector, LOCA::Continuation::ExtendedVector, LOCA::Extended::Vector, LOCA::MultiContinuation::ExtendedVector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
||||||||||||
|
Initialize each element of this vector with a random value.
If Default implementation throw an error. Only referenced by LOCA methods.
Reimplemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
Put element-wise reciprocal of source vector Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
Scale this vector element-by-element by the vector a. Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
|
Scale each element of this vector by Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, NOX::Petsc::Vector, and NOX::LAPACK::Vector. |
|
||||||||||||||||||||||||
|
Compute x = (alpha * a) + (beta * b) + (gamma * x) where x is this vector. Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
|
||||||||||||||||
|
Compute x = (alpha * a) + (gamma * x) where x is this vector. Here x represents this vector, and we update it as
Implemented in LOCA::Extended::Vector, NOX::Epetra::Vector, and NOX::LAPACK::Vector. |
1.3.9.1