#include <LOCA_Extended_MultiVector.H>
Public Member Functions | |
MultiVector (const MultiVector &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
MultiVector (const MultiVector &source, int nColumns) | |
Copy constructor that creates a new multivector with nColumns columns. | |
MultiVector (const MultiVector &source, const vector< int > &index, bool view) | |
Copy constructor that creates a sub copy or view of the given multivector. | |
virtual | ~MultiVector () |
Vector destructor. | |
virtual NOX::Abstract::MultiVector & | init (double gamma) |
Initialize every element of this multi-vector with gamma . | |
virtual NOX::Abstract::MultiVector & | random (bool useSeed=false, int seed=1) |
Initialize each element of this multi-vector with a random value. | |
virtual NOX::Abstract::MultiVector & | operator= (const NOX::Abstract::MultiVector &source) |
Copy source multi-vector source into this multi-vector. | |
virtual MultiVector & | operator= (const MultiVector &y) |
Copy source multi-vector source into this multi-vector. | |
virtual NOX::Abstract::MultiVector & | setBlock (const NOX::Abstract::MultiVector &source, const vector< int > &index) |
Copy the vectors in source to a set of vectors in *this . The index.size() vectors in source are copied to a subset of vectors in *this indicated by the indices given in index . | |
virtual NOX::Abstract::MultiVector & | setBlock (const MultiVector &source, const vector< int > &index) |
virtual NOX::Abstract::MultiVector & | augment (const NOX::Abstract::MultiVector &source) |
Append the vectors in source to *this . | |
virtual NOX::Abstract::MultiVector & | augment (const MultiVector &source) |
virtual NOX::Abstract::Vector & | operator[] (int i) |
Return a reference to the i-th column of the multivector as an abstract vector. | |
virtual const NOX::Abstract::Vector & | operator[] (int i) const |
Return a const reference to the i-th column of the multivector as an abstract vector. | |
virtual NOX::Abstract::MultiVector & | scale (double gamma) |
Scale each element of this multivector by gamma . | |
virtual NOX::Abstract::MultiVector & | update (double alpha, const NOX::Abstract::MultiVector &a, double gamma=0.0) |
Compute x = (alpha * a) + (gamma * x) where a is a multi-vector and x = *this . | |
virtual NOX::Abstract::MultiVector & | update (double alpha, const MultiVector &a, double gamma=0.0) |
virtual NOX::Abstract::MultiVector & | update (double alpha, const NOX::Abstract::MultiVector &a, double beta, const NOX::Abstract::MultiVector &b, double gamma=0.0) |
Compute x = (alpha * a) + (beta * b) + (gamma * x) where a and b are multi-vectors and x = *this . | |
virtual NOX::Abstract::MultiVector & | update (double alpha, const MultiVector &a, double beta, const MultiVector &b, double gamma=0.0) |
virtual NOX::Abstract::MultiVector & | update (Teuchos::ETransp transb, double alpha, const NOX::Abstract::MultiVector &a, const NOX::Abstract::MultiVector::DenseMatrix &b, double gamma=0.0) |
Compute x = (alpha * a * b) + (gamma * x) where a is a multivector, b is a dense matrix, x = *this , and op(b) = b if transb = Teuchos::NO_TRANS and op(b) is b transpose if transb = Teuchos::TRANS. | |
virtual NOX::Abstract::MultiVector & | update (Teuchos::ETransp transb, double alpha, const MultiVector &a, const NOX::Abstract::MultiVector::DenseMatrix &b, double gamma=0.0) |
virtual Teuchos::RCP < NOX::Abstract::MultiVector > | clone (NOX::CopyType type=NOX::DeepCopy) const |
Create a new MultiVector of the same underlying type by cloning "this", and return a pointer to the new vector. | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector > | clone (int numvecs) const |
Creates a new multi-vector with numvecs columns. | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector > | subCopy (const vector< int > &index) const |
Creates a new multi-vector with index.size() columns whose columns are copies of the columns of *this given by index . | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector > | subView (const vector< int > &index) const |
Creates a new multi-vector with index.size() columns that shares the columns of *this given by index . | |
virtual void | norm (vector< double > &result, NOX::Abstract::Vector::NormType type=NOX::Abstract::Vector::TwoNorm) const |
Norm. | |
virtual void | multiply (double alpha, const NOX::Abstract::MultiVector &y, NOX::Abstract::MultiVector::DenseMatrix &b) const |
Computes the matrix-matrix product ![]() | |
virtual void | multiply (double alpha, const MultiVector &y, NOX::Abstract::MultiVector::DenseMatrix &b) const |
virtual int | length () const |
Return the length of multi-vector. | |
virtual int | numVectors () const |
Return the number of vectors in the multi-vector. | |
virtual void | print (std::ostream &stream) const |
Print the vector. This is meant for debugging purposes only. | |
virtual Teuchos::RCP< const NOX::Abstract::MultiVector > | getMultiVector (int i) const |
Returns const ref-count pointer to the ith multi-vector. | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector > | getMultiVector (int i) |
Returns ref-count pointer to the ith multi-vector. | |
virtual Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > | getScalars () const |
Returns const ref-count pointer to scalar matrix. | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector::DenseMatrix > | getScalars () |
Returns ref-count pointer to scalar matrix. | |
virtual Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > | getScalarRows (int num_rows, int row) const |
Returns const ref-count pointer to num_rows rows of scalar matrix starting at row row . | |
virtual Teuchos::RCP < NOX::Abstract::MultiVector::DenseMatrix > | getScalarRows (int num_rows, int row) |
Returns ref-count pointer to num_rows rows of scalar matrix starting at row row . | |
virtual const double & | getScalar (int i, int j) const |
Returns const reference to the scalar for row i, column j. | |
virtual double & | getScalar (int i, int j) |
Returns reference to the scalar for row i, column j. | |
virtual Teuchos::RCP < LOCA::Extended::Vector > | getVector (int i) |
Return a ref-count pointer to the i-th column of the multivector as an abstract vector. | |
virtual Teuchos::RCP< const LOCA::Extended::Vector > | getVector (int i) const |
Return a const ref-count pointer to the i-th column of the multivector as an abstract vector. | |
virtual int | getNumScalarRows () const |
Returns number of scalars rows. | |
virtual int | getNumMultiVectors () const |
Returns number of multi vectors. | |
Protected Member Functions | |
MultiVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, int nColumns, int nVectorRows, int nScalarRows) | |
Constructor that creates an empty multivector to be filled in later. | |
virtual Teuchos::RCP < LOCA::Extended::Vector > | generateVector (int nVecs, int nScalarRows) const |
Generate a derived extended vector. | |
void | setMultiVectorPtr (int i, Teuchos::RCP< NOX::Abstract::MultiVector > v) |
Sets the pointer to the ith multivector. | |
void | checkDimensions (const string &callingFunction, const LOCA::Extended::MultiVector &a) const |
Checks multi-vec argument dimensions are consistent. | |
void | checkIndex (const string &callingFunction, int i) const |
Checks validity of column index. | |
void | checkVectorRowIndex (const string &callingFunction, int i) const |
Checks validity of vector row index. | |
void | checkIndex (const string &callingFunction, int i, int j) const |
Checks validity of column and row index for scalars. | |
bool | isContiguous (const vector< int > &index) const |
Checks is index array is contiguous. | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data. | |
int | numColumns |
Number of columns in each multivec and number of scalar vector columns. | |
int | numMultiVecRows |
Number of multivec block rows. | |
int | numScalarRows |
Number of scalar rows. | |
vector< Teuchos::RCP < NOX::Abstract::MultiVector > > | multiVectorPtrs |
Array of multi-vector pointers, one for each block ROW. | |
Teuchos::RCP < NOX::Abstract::MultiVector::DenseMatrix > | scalarsPtr |
Dense matrix of scalars. | |
vector< Teuchos::RCP < LOCA::Extended::Vector > > | extendedVectorPtrs |
Pointers to each column as a LOCA::Extended::Vector. | |
bool | isView |
Flag indicating whether this vector is a view. | |
Friends | |
class | Vector |
Declare LOCA::Extended::Vector as a friend class. |
Definition at line 71 of file LOCA_Extended_MultiVector.H.
LOCA::Extended::MultiVector::MultiVector | ( | const MultiVector & | source, | |
NOX::CopyType | type = NOX::DeepCopy | |||
) |
Copy constructor.
Definition at line 47 of file LOCA_Extended_MultiVector.C.
References extendedVectorPtrs, multiVectorPtrs, numColumns, numMultiVecRows, and scalarsPtr.
LOCA::Extended::MultiVector::MultiVector | ( | const MultiVector & | source, | |
int | nColumns | |||
) |
Copy constructor that creates a new multivector with nColumns columns.
Definition at line 72 of file LOCA_Extended_MultiVector.C.
References extendedVectorPtrs, multiVectorPtrs, numColumns, numMultiVecRows, numScalarRows, and scalarsPtr.
LOCA::Extended::MultiVector::MultiVector | ( | const MultiVector & | source, | |
const vector< int > & | index, | |||
bool | view | |||
) |
Copy constructor that creates a sub copy or view of the given multivector.
Definition at line 97 of file LOCA_Extended_MultiVector.C.
References checkIndex(), extendedVectorPtrs, globalData, isContiguous(), multiVectorPtrs, numColumns, numMultiVecRows, numScalarRows, and scalarsPtr.
LOCA::Extended::MultiVector::~MultiVector | ( | ) | [virtual] |
Vector destructor.
Reimplemented from NOX::Abstract::MultiVector.
Definition at line 172 of file LOCA_Extended_MultiVector.C.
LOCA::Extended::MultiVector::MultiVector | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
int | nColumns, | |||
int | nVectorRows, | |||
int | nScalarRows | |||
) | [protected] |
Constructor that creates an empty multivector to be filled in later.
Definition at line 757 of file LOCA_Extended_MultiVector.C.
References extendedVectorPtrs, and scalarsPtr.
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::init | ( | double | gamma | ) | [virtual] |
Initialize every element of this multi-vector with gamma
.
Implements NOX::Abstract::MultiVector.
Definition at line 177 of file LOCA_Extended_MultiVector.C.
References multiVectorPtrs, numMultiVecRows, and scalarsPtr.
Referenced by LOCA::TurningPoint::MooreSpence::ExtendedGroup::computeNewton(), LOCA::Pitchfork::MooreSpence::ExtendedGroup::computeNewton(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeNewton(), LOCA::MultiContinuation::ConstrainedGroup::computeNewton(), LOCA::Hopf::MooreSpence::ExtendedGroup::computeNewton(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::computeNewton(), and LOCA::Homotopy::DeflatedGroup::computeNewton().
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::random | ( | bool | useSeed = false , |
|
int | seed = 1 | |||
) | [virtual] |
Initialize each element of this multi-vector with a random value.
Implements NOX::Abstract::MultiVector.
Definition at line 190 of file LOCA_Extended_MultiVector.C.
References multiVectorPtrs, numMultiVecRows, and scalarsPtr.
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::operator= | ( | const NOX::Abstract::MultiVector & | source | ) | [virtual] |
Copy source multi-vector source
into this multi-vector.
Implements NOX::Abstract::MultiVector.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 204 of file LOCA_Extended_MultiVector.C.
LOCA::Extended::MultiVector & LOCA::Extended::MultiVector::operator= | ( | const MultiVector & | y | ) | [virtual] |
Copy source multi-vector source
into this multi-vector.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 212 of file LOCA_Extended_MultiVector.C.
References checkDimensions(), globalData, multiVectorPtrs, numMultiVecRows, and scalarsPtr.
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::setBlock | ( | const NOX::Abstract::MultiVector & | source, | |
const vector< int > & | index | |||
) | [virtual] |
Copy the vectors in source
to a set of vectors in *this
. The index.size()
vectors in source
are copied to a subset of vectors in *this
indicated by the indices given in index
.
Implements NOX::Abstract::MultiVector.
Definition at line 234 of file LOCA_Extended_MultiVector.C.
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::augment | ( | const NOX::Abstract::MultiVector & | source | ) | [virtual] |
Append the vectors in source
to *this
.
Implements NOX::Abstract::MultiVector.
Definition at line 273 of file LOCA_Extended_MultiVector.C.
NOX::Abstract::Vector & LOCA::Extended::MultiVector::operator[] | ( | int | i | ) | [virtual] |
Return a reference to the i-th column of the multivector as an abstract vector.
Implements NOX::Abstract::MultiVector.
Definition at line 316 of file LOCA_Extended_MultiVector.C.
References getVector().
const NOX::Abstract::Vector & LOCA::Extended::MultiVector::operator[] | ( | int | i | ) | const [virtual] |
Return a const reference to the i-th column of the multivector as an abstract vector.
Implements NOX::Abstract::MultiVector.
Definition at line 322 of file LOCA_Extended_MultiVector.C.
References getVector().
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::scale | ( | double | gamma | ) | [virtual] |
Scale each element of this multivector by gamma
.
Implements NOX::Abstract::MultiVector.
Definition at line 328 of file LOCA_Extended_MultiVector.C.
References multiVectorPtrs, and scalarsPtr.
Referenced by LOCA::TurningPoint::MooreSpence::ExtendedGroup::computeNewton(), LOCA::Pitchfork::MooreSpence::ExtendedGroup::computeNewton(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeNewton(), LOCA::MultiContinuation::ConstrainedGroup::computeNewton(), LOCA::Hopf::MooreSpence::ExtendedGroup::computeNewton(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::computeNewton(), LOCA::Homotopy::DeflatedGroup::computeNewton(), and LOCA::MultiPredictor::AbstractStrategy::setPredictorOrientation().
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::update | ( | double | alpha, | |
const NOX::Abstract::MultiVector & | a, | |||
double | gamma = 0.0 | |||
) | [virtual] |
Compute x = (alpha * a) + (gamma * x) where a
is a multi-vector and x
= *this
.
Implements NOX::Abstract::MultiVector.
Definition at line 341 of file LOCA_Extended_MultiVector.C.
Referenced by update().
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::update | ( | double | alpha, | |
const NOX::Abstract::MultiVector & | a, | |||
double | beta, | |||
const NOX::Abstract::MultiVector & | b, | |||
double | gamma = 0.0 | |||
) | [virtual] |
Compute x = (alpha * a) + (beta * b) + (gamma * x) where a
and b
are multi-vectors and x
= *this
.
Implements NOX::Abstract::MultiVector.
Definition at line 371 of file LOCA_Extended_MultiVector.C.
References update().
NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::update | ( | Teuchos::ETransp | transb, | |
double | alpha, | |||
const NOX::Abstract::MultiVector & | a, | |||
const NOX::Abstract::MultiVector::DenseMatrix & | b, | |||
double | gamma = 0.0 | |||
) | [virtual] |
Compute x = (alpha * a * b) + (gamma * x) where a
is a multivector, b
is a dense matrix, x
= *this
, and op(b) = b if transb = Teuchos::NO_TRANS and op(b) is b transpose if transb = Teuchos::TRANS.
Implements NOX::Abstract::MultiVector.
Definition at line 410 of file LOCA_Extended_MultiVector.C.
References update().
Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Extended::MultiVector::clone | ( | NOX::CopyType | type = NOX::DeepCopy |
) | const [virtual] |
Create a new MultiVector 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.
Implements NOX::Abstract::MultiVector.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 464 of file LOCA_Extended_MultiVector.C.
Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Extended::MultiVector::clone | ( | int | numvecs | ) | const [virtual] |
Creates a new multi-vector with numvecs
columns.
Implements NOX::Abstract::MultiVector.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 470 of file LOCA_Extended_MultiVector.C.
Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Extended::MultiVector::subCopy | ( | const vector< int > & | index | ) | const [virtual] |
Creates a new multi-vector with index.size()
columns whose columns are copies of the columns of *this
given by index
.
Implements NOX::Abstract::MultiVector.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 476 of file LOCA_Extended_MultiVector.C.
Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Extended::MultiVector::subView | ( | const vector< int > & | index | ) | const [virtual] |
Creates a new multi-vector with index.size()
columns that shares the columns of *this
given by index
.
Implements NOX::Abstract::MultiVector.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 482 of file LOCA_Extended_MultiVector.C.
void LOCA::Extended::MultiVector::norm | ( | vector< double > & | result, | |
NOX::Abstract::Vector::NormType | type = NOX::Abstract::Vector::TwoNorm | |||
) | const [virtual] |
Norm.
Implements NOX::Abstract::MultiVector.
Definition at line 488 of file LOCA_Extended_MultiVector.C.
References NOX::Abstract::Vector::MaxNorm, multiVectorPtrs, NOX::Abstract::Vector::OneNorm, scalarsPtr, and NOX::Abstract::Vector::TwoNorm.
void LOCA::Extended::MultiVector::multiply | ( | double | alpha, | |
const NOX::Abstract::MultiVector & | y, | |||
NOX::Abstract::MultiVector::DenseMatrix & | b | |||
) | const [virtual] |
Computes the matrix-matrix product .
Implements NOX::Abstract::MultiVector.
Definition at line 563 of file LOCA_Extended_MultiVector.C.
int LOCA::Extended::MultiVector::length | ( | ) | const [virtual] |
Return the length of multi-vector.
Implements NOX::Abstract::MultiVector.
Definition at line 604 of file LOCA_Extended_MultiVector.C.
References multiVectorPtrs.
int LOCA::Extended::MultiVector::numVectors | ( | ) | const [virtual] |
Return the number of vectors in the multi-vector.
Implements NOX::Abstract::MultiVector.
Definition at line 619 of file LOCA_Extended_MultiVector.C.
Referenced by LOCA::MultiPredictor::AbstractStrategy::setPredictorOrientation(), LOCA::TurningPoint::MooreSpence::SalingerBordering::solve(), LOCA::TurningPoint::MooreSpence::PhippsBordering::solve(), LOCA::Pitchfork::MooreSpence::SalingerBordering::solve(), LOCA::Pitchfork::MooreSpence::PhippsBordering::solve(), LOCA::Hopf::MooreSpence::SalingerBordering::solve(), and LOCA::TurningPoint::MooreSpence::SalingerBordering::solveTranspose().
void LOCA::Extended::MultiVector::print | ( | std::ostream & | stream | ) | const [virtual] |
Print the vector. This is meant for debugging purposes only.
Implements NOX::Abstract::MultiVector.
Definition at line 625 of file LOCA_Extended_MultiVector.C.
References multiVectorPtrs, and scalarsPtr.
Teuchos::RCP< const NOX::Abstract::MultiVector > LOCA::Extended::MultiVector::getMultiVector | ( | int | i | ) | const [virtual] |
Returns const ref-count pointer to the ith multi-vector.
Definition at line 636 of file LOCA_Extended_MultiVector.C.
References checkVectorRowIndex(), and multiVectorPtrs.
Referenced by LOCA::Hopf::MooreSpence::ExtendedMultiVector::getImagEigenMultiVec(), LOCA::Hopf::ComplexMultiVector::getImagMultiVec(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getNullMultiVec(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getNullMultiVec(), LOCA::Hopf::MooreSpence::ExtendedMultiVector::getRealEigenMultiVec(), LOCA::Hopf::ComplexMultiVector::getRealMultiVec(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getXMultiVec(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getXMultiVec(), LOCA::MultiContinuation::ExtendedMultiVector::getXMultiVec(), and LOCA::Hopf::MooreSpence::ExtendedMultiVector::getXMultiVec().
Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Extended::MultiVector::getMultiVector | ( | int | i | ) | [virtual] |
Returns ref-count pointer to the ith multi-vector.
Definition at line 644 of file LOCA_Extended_MultiVector.C.
References checkVectorRowIndex(), and multiVectorPtrs.
Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > LOCA::Extended::MultiVector::getScalars | ( | ) | const [virtual] |
Returns const ref-count pointer to scalar matrix.
Definition at line 652 of file LOCA_Extended_MultiVector.C.
References scalarsPtr.
Referenced by LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianInverseMultiVector(), LOCA::MultiContinuation::ConstrainedGroup::applyJacobianInverseMultiVector(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::applyJacobianInverseMultiVector(), LOCA::Homotopy::DeflatedGroup::applyJacobianInverseMultiVector(), LOCA::TurningPoint::MooreSpence::ExtendedGroup::applyJacobianMultiVector(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianMultiVector(), LOCA::MultiContinuation::ConstrainedGroup::applyJacobianMultiVector(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::applyJacobianMultiVector(), LOCA::Homotopy::DeflatedGroup::applyJacobianMultiVector(), LOCA::MultiContinuation::ConstrainedGroup::applyJacobianTransposeInverseMultiVector(), LOCA::TurningPoint::MooreSpence::ExtendedGroup::applyJacobianTransposeMultiVector(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::applyJacobianTransposeMultiVector(), LOCA::MultiContinuation::ConstrainedGroup::applyJacobianTransposeMultiVector(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::applyJacobianTransposeMultiVector(), LOCA::Homotopy::DeflatedGroup::applyJacobianTransposeMultiVector(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::computeDfDpMulti(), LOCA::MultiContinuation::ConstrainedGroup::computeDfDpMulti(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::computeDfDpMulti(), LOCA::Homotopy::DeflatedGroup::computeDfDpMulti(), LOCA::MultiContinuation::ConstrainedGroup::computeGradient(), LOCA::MultiContinuation::ConstrainedGroup::computeJacobian(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::ExtendedMultiVector(), LOCA::MultiContinuation::ExtendedMultiVector::ExtendedMultiVector(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::extractParameterComponent(), LOCA::MultiContinuation::ConstrainedGroup::extractParameterComponent(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::extractParameterComponent(), LOCA::Homotopy::DeflatedGroup::extractParameterComponent(), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::loadNestedComponents(), LOCA::MultiContinuation::ConstrainedGroup::loadNestedComponents(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::loadNestedComponents(), LOCA::Homotopy::DeflatedGroup::loadNestedComponents(), LOCA::TurningPoint::MooreSpence::SalingerBordering::solve(), LOCA::TurningPoint::MooreSpence::PhippsBordering::solve(), and LOCA::TurningPoint::MooreSpence::SalingerBordering::solveTranspose().
Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrix > LOCA::Extended::MultiVector::getScalars | ( | ) | [virtual] |
Returns ref-count pointer to scalar matrix.
Definition at line 658 of file LOCA_Extended_MultiVector.C.
References scalarsPtr.
Teuchos::RCP< const NOX::Abstract::MultiVector::DenseMatrix > LOCA::Extended::MultiVector::getScalarRows | ( | int | num_rows, | |
int | row | |||
) | const [virtual] |
Returns const ref-count pointer to num_rows
rows of scalar matrix starting at row row
.
Definition at line 664 of file LOCA_Extended_MultiVector.C.
References scalarsPtr.
Referenced by LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::ExtendedMultiVector(), LOCA::Hopf::MooreSpence::ExtendedMultiVector::ExtendedMultiVector(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getBifParams(), LOCA::Hopf::MooreSpence::ExtendedMultiVector::getBifParams(), LOCA::Hopf::MooreSpence::ExtendedMultiVector::getFrequencies(), and LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getSlacks().
Teuchos::RCP< NOX::Abstract::MultiVector::DenseMatrix > LOCA::Extended::MultiVector::getScalarRows | ( | int | num_rows, | |
int | row | |||
) | [virtual] |
Returns ref-count pointer to num_rows
rows of scalar matrix starting at row row
.
Definition at line 676 of file LOCA_Extended_MultiVector.C.
References scalarsPtr.
const double & LOCA::Extended::MultiVector::getScalar | ( | int | i, | |
int | j | |||
) | const [virtual] |
Returns const reference to the scalar for row i, column j.
Definition at line 688 of file LOCA_Extended_MultiVector.C.
References checkIndex(), and scalarsPtr.
Referenced by LOCA::TurningPoint::MooreSpence::ExtendedGroup::computeDfDpMulti(), LOCA::Pitchfork::MooreSpence::ExtendedGroup::computeDfDpMulti(), LOCA::Hopf::MooreSpence::ExtendedGroup::computeDfDpMulti(), LOCA::MultiContinuation::ArcLengthConstraint::computeDP(), and LOCA::MultiPredictor::AbstractStrategy::setPredictorOrientation().
double & LOCA::Extended::MultiVector::getScalar | ( | int | i, | |
int | j | |||
) | [virtual] |
Returns reference to the scalar for row i, column j.
Definition at line 696 of file LOCA_Extended_MultiVector.C.
References checkIndex(), and scalarsPtr.
Teuchos::RCP< LOCA::Extended::Vector > LOCA::Extended::MultiVector::getVector | ( | int | i | ) | [virtual] |
Return a ref-count pointer to the i-th column of the multivector as an abstract vector.
Definition at line 704 of file LOCA_Extended_MultiVector.C.
References checkIndex(), extendedVectorPtrs, generateVector(), multiVectorPtrs, and scalarsPtr.
Referenced by LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::getColumn(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::getColumn(), LOCA::Hopf::MooreSpence::ExtendedMultiVector::getColumn(), LOCA::Hopf::ComplexMultiVector::getColumn(), operator[](), LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup::setupViews(), LOCA::MultiContinuation::ConstrainedGroup::setupViews(), LOCA::Hopf::MinimallyAugmented::ExtendedGroup::setupViews(), and LOCA::Homotopy::DeflatedGroup::setupViews().
Teuchos::RCP< const LOCA::Extended::Vector > LOCA::Extended::MultiVector::getVector | ( | int | i | ) | const [virtual] |
Return a const ref-count pointer to the i-th column of the multivector as an abstract vector.
Definition at line 725 of file LOCA_Extended_MultiVector.C.
References checkIndex(), extendedVectorPtrs, generateVector(), multiVectorPtrs, and scalarsPtr.
int LOCA::Extended::MultiVector::getNumScalarRows | ( | ) | const [virtual] |
int LOCA::Extended::MultiVector::getNumMultiVectors | ( | ) | const [virtual] |
Teuchos::RCP< LOCA::Extended::Vector > LOCA::Extended::MultiVector::generateVector | ( | int | nVecs, | |
int | nScalarRows | |||
) | const [protected, virtual] |
Generate a derived extended vector.
Extended multi-vectors derived from this class should implement this method and return a vector of the appropriate type. This allows the operator[] methods to work correctly for derived classes.
Reimplemented in LOCA::Hopf::ComplexMultiVector, LOCA::Hopf::MooreSpence::ExtendedMultiVector, LOCA::MultiContinuation::ExtendedMultiVector, LOCA::Pitchfork::MooreSpence::ExtendedMultiVector, and LOCA::TurningPoint::MooreSpence::ExtendedMultiVector.
Definition at line 780 of file LOCA_Extended_MultiVector.C.
References globalData.
Referenced by getVector().
void LOCA::Extended::MultiVector::setMultiVectorPtr | ( | int | i, | |
Teuchos::RCP< NOX::Abstract::MultiVector > | v | |||
) | [protected] |
Sets the pointer to the ith multivector.
Definition at line 787 of file LOCA_Extended_MultiVector.C.
References checkVectorRowIndex(), and multiVectorPtrs.
Referenced by LOCA::Hopf::ComplexMultiVector::ComplexMultiVector(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::ExtendedMultiVector(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::ExtendedMultiVector(), LOCA::MultiContinuation::ExtendedMultiVector::ExtendedMultiVector(), and LOCA::Hopf::MooreSpence::ExtendedMultiVector::ExtendedMultiVector().
void LOCA::Extended::MultiVector::checkDimensions | ( | const string & | callingFunction, | |
const LOCA::Extended::MultiVector & | a | |||
) | const [protected] |
Checks multi-vec argument dimensions are consistent.
Definition at line 797 of file LOCA_Extended_MultiVector.C.
References globalData, numColumns, numMultiVecRows, and numScalarRows.
Referenced by operator=().
void LOCA::Extended::MultiVector::checkIndex | ( | const string & | callingFunction, | |
int | i | |||
) | const [protected] |
Checks validity of column index.
Definition at line 808 of file LOCA_Extended_MultiVector.C.
References globalData.
Referenced by getScalar(), getVector(), and MultiVector().
void LOCA::Extended::MultiVector::checkVectorRowIndex | ( | const string & | callingFunction, | |
int | i | |||
) | const [protected] |
Checks validity of vector row index.
Definition at line 817 of file LOCA_Extended_MultiVector.C.
References globalData.
Referenced by getMultiVector(), and setMultiVectorPtr().
void LOCA::Extended::MultiVector::checkIndex | ( | const string & | callingFunction, | |
int | i, | |||
int | j | |||
) | const [protected] |
Checks validity of column and row index for scalars.
Definition at line 825 of file LOCA_Extended_MultiVector.C.
References globalData.
bool LOCA::Extended::MultiVector::isContiguous | ( | const vector< int > & | index | ) | const [protected] |
Checks is index array is contiguous.
Definition at line 837 of file LOCA_Extended_MultiVector.C.
Referenced by MultiVector().
friend class Vector [friend] |
Declare LOCA::Extended::Vector as a friend class.
Definition at line 74 of file LOCA_Extended_MultiVector.H.
Teuchos::RCP<LOCA::GlobalData> LOCA::Extended::MultiVector::globalData [protected] |
Global data.
Definition at line 356 of file LOCA_Extended_MultiVector.H.
Referenced by checkDimensions(), checkIndex(), checkVectorRowIndex(), LOCA::TurningPoint::MooreSpence::ExtendedMultiVector::generateVector(), LOCA::Pitchfork::MooreSpence::ExtendedMultiVector::generateVector(), LOCA::MultiContinuation::ExtendedMultiVector::generateVector(), LOCA::Hopf::MooreSpence::ExtendedMultiVector::generateVector(), LOCA::Hopf::ComplexMultiVector::generateVector(), generateVector(), MultiVector(), and operator=().
int LOCA::Extended::MultiVector::numColumns [protected] |
Number of columns in each multivec and number of scalar vector columns.
Definition at line 362 of file LOCA_Extended_MultiVector.H.
Referenced by checkDimensions(), and MultiVector().
int LOCA::Extended::MultiVector::numMultiVecRows [protected] |
Number of multivec block rows.
Definition at line 365 of file LOCA_Extended_MultiVector.H.
Referenced by checkDimensions(), init(), MultiVector(), operator=(), and random().
int LOCA::Extended::MultiVector::numScalarRows [protected] |
Number of scalar rows.
Definition at line 368 of file LOCA_Extended_MultiVector.H.
Referenced by checkDimensions(), and MultiVector().
vector< Teuchos::RCP<NOX::Abstract::MultiVector> > LOCA::Extended::MultiVector::multiVectorPtrs [protected] |
Array of multi-vector pointers, one for each block ROW.
Definition at line 371 of file LOCA_Extended_MultiVector.H.
Referenced by getMultiVector(), getVector(), init(), length(), MultiVector(), norm(), operator=(), print(), random(), scale(), and setMultiVectorPtr().
Teuchos::RCP<NOX::Abstract::MultiVector::DenseMatrix> LOCA::Extended::MultiVector::scalarsPtr [protected] |
Dense matrix of scalars.
Definition at line 374 of file LOCA_Extended_MultiVector.H.
Referenced by getScalar(), getScalarRows(), getScalars(), getVector(), init(), MultiVector(), norm(), operator=(), print(), random(), and scale().
vector< Teuchos::RCP<LOCA::Extended::Vector> > LOCA::Extended::MultiVector::extendedVectorPtrs [mutable, protected] |
Pointers to each column as a LOCA::Extended::Vector.
Definition at line 377 of file LOCA_Extended_MultiVector.H.
Referenced by getVector(), and MultiVector().
bool LOCA::Extended::MultiVector::isView [protected] |
Flag indicating whether this vector is a view.
Definition at line 380 of file LOCA_Extended_MultiVector.H.