#include <LOCA_Hopf_ComplexMultiVector.H>
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 ComplexMultiVector & | operator= (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. |
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.
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 | |||
) |
Constructor.
Definition at line 59 of file LOCA_Hopf_ComplexMultiVector.C.
References NOX::Abstract::MultiVector::clone(), NOX::DeepCopy, and LOCA::Extended::MultiVector::setMultiVectorPtr().
LOCA::Hopf::ComplexMultiVector::ComplexMultiVector | ( | const ComplexMultiVector & | source, | |
NOX::CopyType | type = NOX::DeepCopy | |||
) |
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] |
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.
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] |
Returns the real component of extended multivector.
Definition at line 147 of file LOCA_Hopf_ComplexMultiVector.C.
References LOCA::Extended::MultiVector::getMultiVector().
Referenced by LOCA::BorderedSolver::ComplexOperator::apply(), LOCA::BorderedSolver::ComplexOperator::applyInverse(), LOCA::BorderedSolver::ComplexOperator::applyInverseTranspose(), LOCA::BorderedSolver::ComplexOperator::applyTranspose(), and LOCA::BorderedSolver::LAPACKDirectSolve::solve().
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] |
Returns the imaginary component of extended multivector.
Definition at line 159 of file LOCA_Hopf_ComplexMultiVector.C.
References LOCA::Extended::MultiVector::getMultiVector().
Referenced by LOCA::BorderedSolver::ComplexOperator::apply(), LOCA::BorderedSolver::ComplexOperator::applyInverse(), LOCA::BorderedSolver::ComplexOperator::applyInverseTranspose(), LOCA::BorderedSolver::ComplexOperator::applyTranspose(), and LOCA::BorderedSolver::LAPACKDirectSolve::solve().
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.
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.