Komplex
Development
|
Komplex_Operator: A class for using complex-valued double-precision operators stored in equivalent real formation. More...
#include <Komplex_Operator.h>
Public Member Functions | |
Komplex_Operator (Epetra_DataAccess CV, Epetra_Operator *Operator, Komplex_KForms KForm=K1) | |
Komplex_Operator constructor from one object. More... | |
Komplex_Operator (Epetra_DataAccess CV, Epetra_Operator *Real, Epetra_Operator *Imag, Komplex_KForms KForm=K1) | |
Komplex_Operator constructor from two objects. More... | |
~Komplex_Operator () | |
Destructor. | |
int | SetUseTranspose (bool UseTranspose) |
If set true, the transpose of this operator will be applied. More... | |
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. More... | |
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. More... | |
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. | |
Komplex_Operator: A class for using complex-valued double-precision operators stored in equivalent real formation.
This class implements the pure virtual Epetra_Operator class.
The Komplex_Operator class enables the construction and use of equivalent real formulations of complex-valued, double-precision operators in a distributed memory environment.
Constructing Komplex_Operators
Komplex_Operator constructors have two data access modes:
There are two different Komplex_Operator constructors:
Komplex_Operator::Komplex_Operator | ( | Epetra_DataAccess | CV, |
Epetra_Operator * | Operator, | ||
Komplex_KForms | KForm = K1 |
||
) |
Komplex_Operator constructor from one object.
Creates a Komplex_Operator object from one Epetra_Operator with interleaved real and imaginary values.
DataAccess | (In) Copy or view. |
Operator | (In) Epetra_Operator containing the real and imaginary values interleaved. |
KForm | (In) The Komplex_KForms to use for this operator; by default, it is set to K1. |
Komplex_Operator::Komplex_Operator | ( | Epetra_DataAccess | CV, |
Epetra_Operator * | Real, | ||
Epetra_Operator * | Imag, | ||
Komplex_KForms | KForm = K1 |
||
) |
Komplex_Operator constructor from two objects.
Creates a Komplex_Operator object from two Epetra_Operator objects, one representing the real values and the other representing the imaginary values.
DataAccess | (In) Copy or view. |
Real | (In) Epetra_Operator containing the real values. |
Imag | (In) Epetra_Operator containing the imaginary values. |
KForm | (In) The Komplex_KForms to use for this operator; by default, it is set to K1. |
|
virtual |
Returns the result of a Epetra_Operator applied to a Epetra_MultiVector X in Y.
X | (In) A Epetra_MultiVector of dimension NumVectors to multiply with the operator. |
Y | (Out) A Epetra_MultiVector of dimension NumVectors containing the result. |
Implements Epetra_Operator.
|
virtual |
Returns the result of a Epetra_Operator inverse applied to an Epetra_MultiVector X in Y.
X | (In) A Epetra_MultiVector of dimension NumVectors to multiply with the inverse of the operator. |
Y | (Out) A Epetra_MultiVector of dimension NumVectors containing the result. |
Implements Epetra_Operator.
|
virtual |
If set true, the 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.
UseTranspose | (In) If true, multiply by the transpose of the operator, otherwise just use the operator. |
Implements Epetra_Operator.