NOX::Epetra::JacobiPreconditioner Class Reference

Concrete implementation of the NOX::Epetra::Preconditioner class for Jacobi (Diagonal) Preconditioning. More...

#include <NOX_Epetra_Operator_JacobiPrec.H>

Inheritance diagram for NOX::Epetra::JacobiPreconditioner:

[legend]
Collaboration diagram for NOX::Epetra::JacobiPreconditioner:
[legend]
List of all members.

Public Member Functions

 JacobiPreconditioner (const Epetra_Vector &shape, const double value=1.0e-6)
 Constructor.
virtual ~JacobiPreconditioner ()
 Destructor.
virtual int SetUseTranspose (bool UseTranspose)
 If set true, transpose of this operator will be applied.
virtual 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.
virtual 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.
virtual double NormInf () const
 Returns the infinity norm of the global matrix.
virtual const char * Label () const
 Returns a character string describing the operator.
virtual bool UseTranspose () const
 Returns the current UseTranspose setting.
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise.
virtual const Epetra_CommComm () const
 Returns a reference to the Epetra_Comm communicator associated with this operator.
virtual const Epetra_MapOperatorDomainMap () const
 Returns the Epetra_BlockMap object associated with the domain of this matrix operator.
virtual const Epetra_MapOperatorRangeMap () const
 Returns the Epetra_BlockMap object associated with the range of this matrix operator.
virtual bool compute (const Epetra_Vector &x, const Epetra_Operator *Jacobian=0)
 takes in the current solution vector and the Jacobian Epetra_Operator. This function then computes the diagonal and stores it in an Epetra_Vector.

Detailed Description

Concrete implementation of the NOX::Epetra::Preconditioner class for Jacobi (Diagonal) Preconditioning.


Member Function Documentation

int NOX::Epetra::JacobiPreconditioner::Apply const Epetra_MultiVector X,
Epetra_MultiVector Y
const [virtual]
 

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

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

Implements NOX::Epetra::Operator.

int NOX::Epetra::JacobiPreconditioner::ApplyInverse const Epetra_MultiVector X,
Epetra_MultiVector Y
const [virtual]
 

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

Parameters:
X - A Epetra_MultiVector of dimension NumVectors to solve for.
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.

Implements NOX::Epetra::Operator.

int NOX::Epetra::JacobiPreconditioner::SetUseTranspose bool  UseTranspose  )  [virtual]
 

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:
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.

Implements NOX::Epetra::Operator.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:42:28 2008 for NOX by doxygen 1.3.9.1