#include <LOCA_Extended_Vector.H>
Inheritance diagram for LOCA::Extended::Vector:


Public Member Functions | |
| Vector (const Vector &source, NOX::CopyType type=NOX::DeepCopy) | |
| Copy constructor. | |
| virtual | ~Vector () |
| Vector destructor. | |
| virtual NOX::Abstract::Vector & | operator= (const NOX::Abstract::Vector &y) |
| Assignment operator. | |
| virtual Vector & | operator= (const Vector &y) |
| Assignment operator. | |
| virtual Teuchos::RCP< NOX::Abstract::Vector > | clone (NOX::CopyType type=NOX::DeepCopy) const |
| Clone function. Applies clone to each stored 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. | |
| virtual NOX::Abstract::Vector & | init (double gamma) |
| NOX::Abstract::Vector init function. Initializes each stored vector and scalar. | |
| virtual NOX::Abstract::Vector & | random (bool useSeed=false, int seed=1) |
| Initialize every element of this vector with random values. | |
| virtual NOX::Abstract::Vector & | abs (const NOX::Abstract::Vector &y) |
| NOX::Abstract::Vector abs function. Compues absolute value of each stored vector and scalar. | |
| virtual NOX::Abstract::Vector & | reciprocal (const NOX::Abstract::Vector &y) |
| NOX::Abstract::Vector reciprocal function. Computes reciprocal of each stored vector and scalar. | |
| virtual NOX::Abstract::Vector & | scale (double gamma) |
| NOX::Abstract::Vector scale function. Scales each stored vector and scalar. | |
| virtual NOX::Abstract::Vector & | scale (const NOX::Abstract::Vector &a) |
| NOX::Abstract::Vector scale function. Scales each stored vector and scalar. | |
| 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. | |
| 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. | |
| virtual double | norm (NormType type=TwoNorm) const |
| NOX::Abstract::Vector norm function. Computes norm of each stored vector and combines to compute appropriate norm. | |
| 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. | |
| 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. | |
| virtual int | length () const |
| NOX::Abstract::Vector length function. Computes sum of lengths of stored vectors plus number of scalars. | |
| virtual void | print (std::ostream &stream) const |
| NOX::Abstract::Vector print function. For debugging purposes. | |
| 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. | |
Protected Member Functions | |
| 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 | |
Protected Attributes | |
| Teuchos::RCP< LOCA::GlobalData > | globalData |
| Global data. | |
| vector< Teuchos::RCP< NOX::Abstract::Vector > > | vectorPtrs |
| Array of vector pointers. | |
| vector< bool > | isView |
| Array indicating if each vector is a view. | |
| int | numScalars |
| Number of scalars. | |
| Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrix > | scalarsPtr |
| Scalars. | |
Friends | |
| class | LOCA::Extended::MultiVector |
| Declare LOCA::Extended::MultiVector as a friend class. | |
Many continuation and bifurcation calculations can be viewed as the solution to an extended set of equations. For example, calculating a turning point can be viewed as computing a solution to
where
and
The extended vector
is comprised of the two vectors
and
as well as the scalar
. This class provides an implementation of the NOX::Abstract::Vector interface for such extended vectors. It stores an array of pointers to NOX::Abstract::Vector's as well as an array of scalars using the STL vector class.
The implementations of the NOX::Abstract::Vector methods are defined in terms of the implementations of each stored abstract vector.
| Teuchos::RCP< LOCA::Extended::MultiVector > LOCA::Extended::Vector::generateMultiVector | ( | int | nColumns, | |
| int | nVectorRows, | |||
| int | nScalarRows | |||
| ) | const [protected, virtual] |
generate an extended multi-vector
Extended vectors derived from this class should implement this method and return a multivector of the appropriate type so that the createMultiVectors method returns a multivector of the appropriate type.
Reimplemented in LOCA::Hopf::ComplexVector, LOCA::Hopf::MooreSpence::ExtendedVector, LOCA::MultiContinuation::ExtendedVector, LOCA::Pitchfork::MooreSpence::ExtendedVector, and LOCA::TurningPoint::MooreSpence::ExtendedVector.
1.4.7