|
NOX Development
|
Vector class to hold solution vectors, Newton vectors, etc. for continuation equations. More...
#include <LOCA_MultiContinuation_ExtendedVector.H>
Public Member Functions | |
| ExtendedVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, const NOX::Abstract::Vector &xVec, int nScalars) | |
| Constructor. | |
| ExtendedVector (const ExtendedVector &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~ExtendedVector () |
| Destructor. | |
| virtual ExtendedVector & | operator= (const ExtendedVector &y) |
| Assignment operator. | |
| virtual LOCA::Extended::Vector & | operator= (const LOCA::Extended::Vector &y) |
| Assignment operator. More... | |
| virtual NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y) |
| Assignment operator. More... | |
| virtual Teuchos::RCP< NOX::Abstract::Vector > | clone (NOX::CopyType type=NOX::DeepCopy) const |
| Assignment operator. More... | |
| virtual Teuchos::RCP< const NOX::Abstract::Vector > | getXVec () const |
| Returns the solution vector component of extended vector. | |
| virtual Teuchos::RCP< NOX::Abstract::Vector > | getXVec () |
| Returns the solution vector component of extended vector. | |
Public Member Functions inherited from LOCA::Extended::Vector | |
| Vector (const Vector &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~Vector () |
| Vector destructor. More... | |
| virtual NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y) |
| Assignment operator. More... | |
| virtual Vector & | operator= (const Vector &y) |
| Assignment operator. More... | |
| virtual Teuchos::RCP< NOX::Abstract::Vector > | clone (NOX::CopyType type=NOX::DeepCopy) const |
| Clone function. Applies clone to each stored vector. More... | |
| 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... | |
| virtual NOX::Abstract::Vector & | init (double gamma) |
| NOX::Abstract::Vector init function. Initializes each stored vector and scalar. More... | |
| virtual NOX::Abstract::Vector & | random (bool useSeed=false, int seed=1) |
| Initialize every element of this vector with random values. More... | |
| virtual NOX::Abstract::Vector & | abs (const NOX::Abstract::Vector &y) |
| NOX::Abstract::Vector abs function. Compues absolute value of each stored vector and scalar. More... | |
| virtual NOX::Abstract::Vector & | reciprocal (const NOX::Abstract::Vector &y) |
| NOX::Abstract::Vector reciprocal function. Computes reciprocal of each stored vector and scalar. More... | |
| virtual NOX::Abstract::Vector & | scale (double gamma) |
| NOX::Abstract::Vector scale function. Scales each stored vector and scalar. More... | |
| virtual NOX::Abstract::Vector & | scale (const NOX::Abstract::Vector &a) |
| NOX::Abstract::Vector scale function. Scales each stored vector and scalar. More... | |
| virtual NOX::Abstract::Vector & | update (double alpha, const NOX::Abstract::Vector &a, double gamma=0.0) |
| NOX::Abstract::Vector update function. Applies vector update to each stored vector and scalar. More... | |
| virtual NOX::Abstract::Vector & | update (double alpha, const NOX::Abstract::Vector &a, double beta, const NOX::Abstract::Vector &b, double gamma=0.0) |
| NOX::Abstract::Vector update function. Applies vector update to each stored vector and scalar. More... | |
| virtual double | norm (NormType type=TwoNorm) const |
| NOX::Abstract::Vector norm function. Computes norm of each stored vector and combines to compute appropriate norm. More... | |
| virtual double | norm (const NOX::Abstract::Vector &weights) const |
| NOX::Abstract::Vector weighted norm function. Computes weighted norm of each stored vector and combines to compute appropriate norm. More... | |
| virtual double | innerProduct (const NOX::Abstract::Vector &y) const |
| NOX::Abstract::Vector innerProduct function. Computes inner product * of each stored vector and combines to compute inner product. More... | |
| virtual NOX::size_type | length () const |
| NOX::Abstract::Vector length function. Computes sum of lengths of stored vectors plus number of scalars. More... | |
| virtual void | print (std::ostream &stream) const |
| NOX::Abstract::Vector print function. For debugging purposes. More... | |
| virtual void | setVector (int i, const NOX::Abstract::Vector &v) |
| Sets the ith vector. | |
| virtual void | setVectorView (int i, const Teuchos::RCP< NOX::Abstract::Vector > &v) |
| Sets the ith vector as a view. | |
| virtual void | setScalar (int i, double s) |
| Sets the ith scalar. | |
| virtual void | setScalarArray (double *sv) |
| Sets the scalar array. | |
| virtual Teuchos::RCP< const NOX::Abstract::Vector > | getVector (int i) const |
| Returns const ref-count pointer to the ith vector. | |
| virtual Teuchos::RCP< NOX::Abstract::Vector > | getVector (int i) |
| Returns ref-count pointer to the ith vector. | |
| virtual double | getScalar (int i) const |
| Returns copy of the ith scalar. | |
| virtual double & | getScalar (int i) |
| Returns reference to the ith scalar. | |
| virtual Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > | getScalars () const |
| Returns array of scalars. | |
| virtual Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrix > | getScalars () |
| Returns array of scalars. | |
| virtual int | getNumScalars () const |
| Returns number of scalars. | |
| virtual int | getNumVectors () const |
| Returns number of vectors. | |
Public Member Functions inherited from NOX::Abstract::Vector | |
| Vector () | |
| Abstract Vector constructor (does nothing) | |
| virtual | ~Vector () |
| Abstract Vector destructor (does nothing) More... | |
| virtual NOX::Abstract::Vector & | init (double gamma)=0 |
Initialize every element of this vector with gamma. More... | |
| virtual NOX::Abstract::Vector & | random (bool useSeed=false, int seed=1)=0 |
| Initialize each element of this vector with a random value. More... | |
| virtual NOX::Abstract::Vector & | abs (const NOX::Abstract::Vector &y)=0 |
Put element-wise absolute values of source vector y into this vector. More... | |
| virtual NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y)=0 |
Copy source vector y into this vector. More... | |
| virtual NOX::Abstract::Vector & | reciprocal (const NOX::Abstract::Vector &y)=0 |
Put element-wise reciprocal of source vector y into this vector. More... | |
| virtual NOX::Abstract::Vector & | scale (double gamma)=0 |
Scale each element of this vector by gamma. More... | |
| virtual NOX::Abstract::Vector & | scale (const NOX::Abstract::Vector &a)=0 |
| Scale this vector element-by-element by the vector a. More... | |
| 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. More... | |
| 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. More... | |
| virtual Teuchos::RCP< 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. More... | |
| 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... | |
| virtual double | norm (NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const =0 |
| Norm. More... | |
| virtual double | norm (const NOX::Abstract::Vector &weights) const =0 |
| Weighted 2-Norm. More... | |
| virtual double | innerProduct (const NOX::Abstract::Vector &y) const =0 |
Inner product with y. More... | |
| virtual NOX::size_type | length () const =0 |
| Return the length of vector. More... | |
| virtual void | print (std::ostream &stream) const |
| Print the vector. To be used for debugging only. More... | |
Protected Member Functions | |
| ExtendedVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, int nScalars) | |
| Constructor. | |
| virtual Teuchos::RCP< LOCA::Extended::MultiVector > | generateMultiVector (int nColumns, int nVectorRows, int nScalarRows) const |
| generate an extended multi-vector More... | |
Protected Member Functions inherited from LOCA::Extended::Vector | |
| Vector (const Teuchos::RCP< LOCA::GlobalData > &global_data, int nvecs, int nscalars) | |
| Vector constructor. | |
| virtual Teuchos::RCP< LOCA::Extended::MultiVector > | generateMultiVector (int nColumns, int nVectorRows, int nScalarRows) const |
| generate an extended multi-vector More... | |
Friends | |
| class | ExtendedMultiVector |
| Declare LOCA::MultiContinuation::ExtendedMultiVector as a friend class so it can call protected methods. | |
Additional Inherited Members | |
Public Types inherited from NOX::Abstract::Vector | |
| enum | NormType { TwoNorm , OneNorm , MaxNorm } |
| Norm types used in norm() calculations. More... | |
Protected Attributes inherited from LOCA::Extended::Vector | |
| Teuchos::RCP< LOCA::GlobalData > | globalData |
| Global data. | |
| std::vector< Teuchos::RCP< NOX::Abstract::Vector > > | vectorPtrs |
| Array of vector pointers. | |
| std::vector< bool > | isView |
| Array indicating if each vector is a view. | |
| int | numScalars |
| Number of scalars. | |
| Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrix > | scalarsPtr |
| Scalars. | |
Vector class to hold solution vectors, Newton vectors, etc. for continuation equations.
This class uses the LOCA::Extended::Vector implementation to store the solution and parameter components of the continuation vector and merely provides an interface for naming which components of the multivector these quantities correspond to.
|
virtual |
Assignment operator.
Reimplemented from LOCA::Extended::Vector.
Referenced by LOCA::MultiPredictor::Constant::compute(), LOCA::MultiPredictor::Random::compute(), LOCA::MultiPredictor::Secant::compute(), and LOCA::MultiPredictor::Tangent::compute().
|
protectedvirtual |
generate an extended multi-vector
Returns an empty multivector of type LOCA::MultiContinuation::ExtendedMultiVector
Reimplemented from LOCA::Extended::Vector.
|
virtual |
Assignment operator.
Reimplemented from LOCA::Extended::Vector.
|
virtual |
Assignment operator.
Reimplemented from LOCA::Extended::Vector.