Projector Class Reference

#include <Projector.h>

List of all members.

Public Member Functions

 Projector (Epetra_Operator *Y, const Epetra_Operator *H, Epetra_Operator *C)
 ~Projector ()
 Destructor.
int SetUseTranspose (bool UseTranspose)
 If set true, transpose of this operator will be applied.
int Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
double NormInf () const
 Returns the infinity norm of the global matrix.
const char * Label () const
 Returns a character string describing the operator.
bool UseTranspose () const
 Returns the current UseTranspose setting.
bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
const Epetra_Comm & Comm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator.
const Epetra_Map & OperatorDomainMap () const
 Returns the Epetra_Map object associated with the domain of this operator.
const Epetra_Map & OperatorRangeMap () const
 Returns the Epetra_Map object associated with the range of this operator.

Protected Attributes

Epetra_Operator * _Y
const Epetra_Operator * _H
Epetra_Operator * _C
bool _useTranspose
Epetra_Vector * _vector1
Epetra_Vector * _vector2
Epetra_Vector * _vector3
const Epetra_Comm & _Comm


Detailed Description

Definition at line 7 of file Projector.h.


Constructor & Destructor Documentation

Projector::Projector ( Epetra_Operator *  Y,
const Epetra_Operator *  H,
Epetra_Operator *  C 
)

Definition at line 11 of file Projector.cpp.

Projector::~Projector (  ) 

Destructor.

Definition at line 23 of file Projector.cpp.

References _vector1, _vector2, and _vector3.


Member Function Documentation

int Projector::Apply ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const

Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.

Parameters:
In X - A Epetra_MultiVector of dimension NumVectors to multiply with matrix.
Out Y -A Epetra_MultiVector of dimension NumVectors containing result.
Returns:
Integer error code, set to 0 if successful.

Definition at line 51 of file Projector.cpp.

References _C, _H, _useTranspose, _vector1, _vector2, _vector3, _Y, pbe_start, pbe_stop, and x.

Referenced by LOBPCG::solve(), and KnyazevLOBPCG::solve().

int Projector::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const

Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.

Parameters:
In X - A Epetra_MultiVector of dimension NumVectors to solve for.
Out Y -A Epetra_MultiVector of dimension NumVectors containing result.
Returns:
Integer error code, set to 0 if successful.
Warning:
In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.

Definition at line 87 of file Projector.cpp.

const Epetra_Comm & Projector::Comm (  )  const

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Definition at line 107 of file Projector.cpp.

References _Comm.

bool Projector::HasNormInf (  )  const

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Definition at line 103 of file Projector.cpp.

const char * Projector::Label (  )  const

Returns a character string describing the operator.

Definition at line 95 of file Projector.cpp.

double Projector::NormInf (  )  const

Returns the infinity norm of the global matrix.

Definition at line 91 of file Projector.cpp.

const Epetra_Map & Projector::OperatorDomainMap (  )  const

Returns the Epetra_Map object associated with the domain of this operator.

Definition at line 112 of file Projector.cpp.

References _Y.

const Epetra_Map & Projector::OperatorRangeMap (  )  const

Returns the Epetra_Map object associated with the range of this operator.

Definition at line 117 of file Projector.cpp.

References _Y.

int Projector::SetUseTranspose ( bool  UseTranspose  ) 

If set true, transpose of this operator will be applied.

This flag allows the transpose of the given operator to be used implicitly. Setting this flag affects only the Apply() and ApplyInverse() methods. If the implementation of this interface does not support transpose use, this method should return a value of -1.

Parameters:
In UseTranspose -If true, multiply by the transpose of operator, otherwise just use operator.
Returns:
Integer error code, set to 0 if successful. Set to -1 if this implementation does not support transpose.

Definition at line 45 of file Projector.cpp.

References _useTranspose.

bool Projector::UseTranspose (  )  const

Returns the current UseTranspose setting.

Definition at line 99 of file Projector.cpp.

References _useTranspose.


Member Data Documentation

Epetra_Operator* Projector::_C [protected]

Definition at line 95 of file Projector.h.

Referenced by Apply().

const Epetra_Comm& Projector::_Comm [protected]

Definition at line 102 of file Projector.h.

Referenced by Comm().

const Epetra_Operator* Projector::_H [protected]

Definition at line 94 of file Projector.h.

Referenced by Apply().

bool Projector::_useTranspose [protected]

Definition at line 97 of file Projector.h.

Referenced by Apply(), SetUseTranspose(), and UseTranspose().

Epetra_Vector* Projector::_vector1 [protected]

Definition at line 99 of file Projector.h.

Referenced by Apply(), and ~Projector().

Epetra_Vector* Projector::_vector2 [protected]

Definition at line 100 of file Projector.h.

Referenced by Apply(), and ~Projector().

Epetra_Vector* Projector::_vector3 [protected]

Definition at line 101 of file Projector.h.

Referenced by Apply(), and ~Projector().

Epetra_Operator* Projector::_Y [protected]

Definition at line 93 of file Projector.h.

Referenced by Apply(), OperatorDomainMap(), and OperatorRangeMap().


The documentation for this class was generated from the following files:
Generated on Fri Oct 26 13:35:17 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7