NOX Development
Public Member Functions | Protected Member Functions | Friends
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.


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

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

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

Constructor.

Creates an empty multivector with nColumns columns


Member Function Documentation

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.

References Teuchos::rcp().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends