LOCA::Extended::MultiVector Class Reference

Implemenatation of the NOX::Abstract::MultiVector class for extended multi-vectors comprised of an arbitrary number of multi-vectors and scalars. More...

#include <LOCA_Extended_MultiVector.H>

Inheritance diagram for LOCA::Extended::MultiVector:

Inheritance graph
[legend]
Collaboration diagram for LOCA::Extended::MultiVector:

Collaboration graph
[legend]

List of all members.

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 MultiVectoroperator= (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::Vectoroperator[] (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 $\alpha * y^T * (*this)$.
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::GlobalDataglobalData
 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.


Detailed Description

Implemenatation of the NOX::Abstract::MultiVector class for extended multi-vectors comprised of an arbitrary number of multi-vectors and scalars.

Definition at line 71 of file LOCA_Extended_MultiVector.H.


Constructor & Destructor Documentation

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.


Member Function Documentation

NOX::Abstract::MultiVector & LOCA::Extended::MultiVector::init ( double  gamma  )  [virtual]

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]

LOCA::Extended::MultiVector & LOCA::Extended::MultiVector::operator= ( const MultiVector y  )  [virtual]

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]

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.

Returns:
Pointer to newly created vector or NULL if clone is not supported.

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]

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]

void LOCA::Extended::MultiVector::norm ( vector< double > &  result,
NOX::Abstract::Vector::NormType  type = NOX::Abstract::Vector::TwoNorm 
) const [virtual]

void LOCA::Extended::MultiVector::multiply ( double  alpha,
const NOX::Abstract::MultiVector y,
NOX::Abstract::MultiVector::DenseMatrix b 
) const [virtual]

Computes the matrix-matrix product $\alpha * y^T * (*this)$.

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]

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]

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]

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]

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]

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]

Returns number of scalars rows.

Definition at line 746 of file LOCA_Extended_MultiVector.C.

int LOCA::Extended::MultiVector::getNumMultiVectors (  )  const [virtual]

Returns number of multi vectors.

Definition at line 752 of file LOCA_Extended_MultiVector.C.

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]

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().


Friends And Related Function Documentation

friend class Vector [friend]

Declare LOCA::Extended::Vector as a friend class.

Definition at line 74 of file LOCA_Extended_MultiVector.H.


Member Data Documentation

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().

Number of multivec block rows.

Definition at line 365 of file LOCA_Extended_MultiVector.H.

Referenced by checkDimensions(), init(), MultiVector(), operator=(), and random().

Number of scalar rows.

Definition at line 368 of file LOCA_Extended_MultiVector.H.

Referenced by checkDimensions(), and MultiVector().

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().

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().

Flag indicating whether this vector is a view.

Definition at line 380 of file LOCA_Extended_MultiVector.H.


The documentation for this class was generated from the following files:

Generated on Wed Oct 21 14:28:32 2009 for Nonlinear Solver Project by  doxygen 1.5.9