LOCA::Hopf::ComplexMultiVector Class Reference

Multi-vector class to hold two multi-vectors to represent a complex multi-vector. More...

#include <LOCA_Hopf_ComplexMultiVector.H>

Inheritance diagram for LOCA::Hopf::ComplexMultiVector:

Inheritance graph
[legend]
Collaboration diagram for LOCA::Hopf::ComplexMultiVector:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 ComplexMultiVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, const NOX::Abstract::Vector &cloneVec, int nColumns)
 Constructor.
 ComplexMultiVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, const NOX::Abstract::MultiVector &realVec, const NOX::Abstract::MultiVector &imagVec)
 Constructor.
 ComplexMultiVector (const ComplexMultiVector &source, NOX::CopyType type=NOX::DeepCopy)
 Copy constructor.
 ComplexMultiVector (const ComplexMultiVector &source, int nColumns)
 Copy constructor that creates a new multivector with nColumns columns.
 ComplexMultiVector (const ComplexMultiVector &source, const vector< int > &index, bool view)
 Copy constructor that creates a sub copy or view of the given multivector.
virtual ~ComplexMultiVector ()
 Destructor.
virtual ComplexMultiVectoroperator= (const ComplexMultiVector &y)
 Assignment operator.
virtual
LOCA::Extended::MultiVector
operator= (const LOCA::Extended::MultiVector &y)
 Assignment operator.
virtual
NOX::Abstract::MultiVector
operator= (const NOX::Abstract::MultiVector &y)
 Assignment operator.
virtual Teuchos::RCP
< NOX::Abstract::MultiVector
clone (NOX::CopyType type=NOX::DeepCopy) const
 Create a new multi-vector 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 Teuchos::RCP< const
NOX::Abstract::MultiVector
getRealMultiVec () const
 Returns the real component of extended multivector.
virtual Teuchos::RCP
< NOX::Abstract::MultiVector
getRealMultiVec ()
 Returns the real component of extended multivector.
virtual Teuchos::RCP< const
NOX::Abstract::MultiVector
getImagMultiVec () const
 Returns the imaginary component of extended multivector.
virtual Teuchos::RCP
< NOX::Abstract::MultiVector
getImagMultiVec ()
 Returns the imaginary component of extended multivector.
virtual Teuchos::RCP
< LOCA::Hopf::ComplexVector
getColumn (int i)
 Returns ith column as an extended vector.
virtual Teuchos::RCP< const
LOCA::Hopf::ComplexVector
getColumn (int i) const
 Returns ith column as an extended vector.

Protected Member Functions

 ComplexMultiVector (const Teuchos::RCP< LOCA::GlobalData > &global_data, int nColumns)
 Constructor.
virtual Teuchos::RCP
< LOCA::Extended::Vector
generateVector (int nVecs, int nScalarRows) const
 Generate a derived extended vector.

Friends

class ComplexVector
 Declare LOCA::Hopf::ComplexVector as a friend class so it can call protected methods.


Detailed Description

Multi-vector class to hold two multi-vectors to represent a complex multi-vector.

This is not a true complex multi-vector. Operations like dot() and multiply() are not correct for complex vectors. This class exists to make some aspects of the real-equivalent formulation of complex linear algebra simpler to implement.

Definition at line 68 of file LOCA_Hopf_ComplexMultiVector.H.


Constructor & Destructor Documentation

LOCA::Hopf::ComplexMultiVector::ComplexMultiVector ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const NOX::Abstract::Vector cloneVec,
int  nColumns 
)

Constructor.

Generates a multivector with nColumns columns from cloneVec

Definition at line 45 of file LOCA_Hopf_ComplexMultiVector.C.

References NOX::Abstract::Vector::createMultiVector(), LOCA::Extended::MultiVector::setMultiVectorPtr(), and NOX::ShapeCopy.

LOCA::Hopf::ComplexMultiVector::ComplexMultiVector ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
const NOX::Abstract::MultiVector realVec,
const NOX::Abstract::MultiVector imagVec 
)

LOCA::Hopf::ComplexMultiVector::ComplexMultiVector ( const ComplexMultiVector source,
NOX::CopyType  type = NOX::DeepCopy 
)

Copy constructor.

Definition at line 71 of file LOCA_Hopf_ComplexMultiVector.C.

LOCA::Hopf::ComplexMultiVector::ComplexMultiVector ( const ComplexMultiVector source,
int  nColumns 
)

Copy constructor that creates a new multivector with nColumns columns.

Definition at line 78 of file LOCA_Hopf_ComplexMultiVector.C.

LOCA::Hopf::ComplexMultiVector::ComplexMultiVector ( const ComplexMultiVector source,
const vector< int > &  index,
bool  view 
)

Copy constructor that creates a sub copy or view of the given multivector.

Definition at line 85 of file LOCA_Hopf_ComplexMultiVector.C.

LOCA::Hopf::ComplexMultiVector::~ComplexMultiVector (  )  [virtual]

Destructor.

Definition at line 92 of file LOCA_Hopf_ComplexMultiVector.C.

LOCA::Hopf::ComplexMultiVector::ComplexMultiVector ( const Teuchos::RCP< LOCA::GlobalData > &  global_data,
int  nColumns 
) [protected]

Constructor.

Creates an empty multivector with nColumns columns

Definition at line 170 of file LOCA_Hopf_ComplexMultiVector.C.


Member Function Documentation

LOCA::Hopf::ComplexMultiVector & LOCA::Hopf::ComplexMultiVector::operator= ( const ComplexMultiVector y  )  [virtual]

Assignment operator.

Definition at line 111 of file LOCA_Hopf_ComplexMultiVector.C.

Referenced by operator=().

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

Assignment operator.

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 97 of file LOCA_Hopf_ComplexMultiVector.C.

References operator=().

NOX::Abstract::MultiVector & LOCA::Hopf::ComplexMultiVector::operator= ( const NOX::Abstract::MultiVector y  )  [virtual]

Assignment operator.

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 104 of file LOCA_Hopf_ComplexMultiVector.C.

References operator=().

Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::clone ( NOX::CopyType  type = NOX::DeepCopy  )  const [virtual]

Create a new multi-vector of the same underlying type by cloning "this", and return a pointer to the new vector.

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 119 of file LOCA_Hopf_ComplexMultiVector.C.

Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::clone ( int  numvecs  )  const [virtual]

Creates a new multi-vector with numvecs columns.

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 126 of file LOCA_Hopf_ComplexMultiVector.C.

Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::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.

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 133 of file LOCA_Hopf_ComplexMultiVector.C.

Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::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.

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 140 of file LOCA_Hopf_ComplexMultiVector.C.

Teuchos::RCP< const NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::getRealMultiVec (  )  const [virtual]

Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::getRealMultiVec (  )  [virtual]

Returns the real component of extended multivector.

Definition at line 153 of file LOCA_Hopf_ComplexMultiVector.C.

References LOCA::Extended::MultiVector::getMultiVector().

Teuchos::RCP< const NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::getImagMultiVec (  )  const [virtual]

Teuchos::RCP< NOX::Abstract::MultiVector > LOCA::Hopf::ComplexMultiVector::getImagMultiVec (  )  [virtual]

Returns the imaginary component of extended multivector.

Definition at line 165 of file LOCA_Hopf_ComplexMultiVector.C.

References LOCA::Extended::MultiVector::getMultiVector().

Teuchos::RCP< LOCA::Hopf::ComplexVector > LOCA::Hopf::ComplexMultiVector::getColumn ( int  i  )  [virtual]

Returns ith column as an extended vector.

Definition at line 186 of file LOCA_Hopf_ComplexMultiVector.C.

References LOCA::Extended::MultiVector::getVector().

Teuchos::RCP< const LOCA::Hopf::ComplexVector > LOCA::Hopf::ComplexMultiVector::getColumn ( int  i  )  const [virtual]

Returns ith column as an extended vector.

Definition at line 192 of file LOCA_Hopf_ComplexMultiVector.C.

References LOCA::Extended::MultiVector::getVector().

Teuchos::RCP< LOCA::Extended::Vector > LOCA::Hopf::ComplexMultiVector::generateVector ( int  nVecs,
int  nScalarRows 
) const [protected, virtual]

Generate a derived extended vector.

Returns a vector of type LOCA::Hopf::ComplexVector

Reimplemented from LOCA::Extended::MultiVector.

Definition at line 178 of file LOCA_Hopf_ComplexMultiVector.C.

References LOCA::Extended::MultiVector::globalData.


Friends And Related Function Documentation

friend class ComplexVector [friend]

Declare LOCA::Hopf::ComplexVector as a friend class so it can call protected methods.

Definition at line 74 of file LOCA_Hopf_ComplexMultiVector.H.


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

Generated on Thu Dec 17 11:02:51 2009 for Nonlinear Solver Project by  doxygen 1.5.9