ML_Epetra::Ifpack_ML Class Reference

Wraps an ML preconditioner as an Ifpack_Preconditioner. More...

#include <ml_Ifpack_ML.h>

Collaboration diagram for ML_Epetra::Ifpack_ML:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 Ifpack_ML (Epetra_RowMatrix *A)
 Constructor.
virtual ~Ifpack_ML ()
 Destructor.
virtual int SetParameters (Teuchos::ParameterList &List)
 Sets all the parameters for the preconditioner from the list.
virtual int Initialize ()
 Initialize the preconditioner.
virtual bool IsInitialized () const
 Returns true if the preconditioner has been successfully initialized, false otherwise.
virtual int Compute ()
 Computes all it is necessary to apply the preconditioner.
virtual bool IsComputed () const
 Returns true if the preconditioner has been successfully computed, false otherwise.
virtual double Condest (const Ifpack_CondestType CT=Ifpack_Cheap, const int MaxIters=1550, const double Tol=1e-9, Epetra_RowMatrix *Matrix=0)
 Computes the condition number estimate, returns its value.
virtual double Condest () const
 Returns the computed condition number estimate, or -1.0 if not computed.
virtual int ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const
 Applies the preconditioner to vector X, returns the result in Y.
virtual const Epetra_RowMatrix & Matrix () const
 Returns a pointer to the matrix to be preconditioned.
virtual int NumInitialize () const
 Returns the number of calls to Initialize().
virtual int NumCompute () const
 Returns the number of calls to Compute().
virtual int NumApplyInverse () const
 Returns the number of calls to ApplyInverse().
virtual double InitializeTime () const
 Returns the time spent in Initialize().
virtual double ComputeTime () const
 Returns the time spent in Compute().
virtual double ApplyInverseTime () const
 Returns the time spent in ApplyInverse().
virtual double InitializeFlops () const
 Returns the number of flops in the initialization phase.
virtual double ComputeFlops () const
 Returns the number of flops in the computation phase.
virtual double ApplyInverseFlops () const
 Returns the number of flops in the application of the preconditioner.
virtual ostream & Print (std::ostream &os) const
 Prints basic information on iostream. This function is used by operator<<.
int SetUseTranspose (bool UseTranspose)
 Sets the use of transpose 9NOT SUPPORTED).
int Apply (const Epetra_MultiVector &, Epetra_MultiVector &) const
 Applies the matrix to a vector (NOT SUPPORTED).
double NormInf () const
 Returns the norm inf (NOT SUPPORTED).
const char * Label () const
 Returns the label of this object.
bool UseTranspose () const
 Returns true if the transpose is used.
bool HasNormInf () const
 Returns true if the class furnishes an infinite norm.
const Epetra_Comm & Comm () const
 Returns a reference to the communicator of this object.
const Epetra_Map & OperatorDomainMap () const
 Returns a reference to the operator domain map.
const Epetra_Map & OperatorRangeMap () const
 Returns a reference to the operator range map.

Private Attributes

Epetra_RowMatrix * A_
 Pointer to the matrix used to build the preconditioner.
ML_Epetra::MultiLevelPreconditionerMLPrec_
 Pointer to the ML preconditioner.
Teuchos::ParameterList MLList_
 Copy of the input parameter list.


Detailed Description

Author:
Marzio Sala, SNL 9214
Date:
Last updated on 14-Mar-05.

Constructor & Destructor Documentation

ML_Epetra::Ifpack_ML::Ifpack_ML ( Epetra_RowMatrix *  A  )  [inline]

virtual ML_Epetra::Ifpack_ML::~Ifpack_ML (  )  [inline, virtual]


Member Function Documentation

int ML_Epetra::Ifpack_ML::Apply ( const Epetra_MultiVector &  ,
Epetra_MultiVector &   
) const [inline]

virtual int ML_Epetra::Ifpack_ML::ApplyInverse ( const Epetra_MultiVector &  X,
Epetra_MultiVector &  Y 
) const [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::ApplyInverseFlops (  )  const [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::ApplyInverseTime (  )  const [inline, virtual]

const Epetra_Comm& ML_Epetra::Ifpack_ML::Comm (  )  const [inline]

virtual int ML_Epetra::Ifpack_ML::Compute (  )  [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::ComputeFlops (  )  const [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::ComputeTime (  )  const [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::Condest (  )  const [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::Condest ( const Ifpack_CondestType  CT = Ifpack_Cheap,
const int  MaxIters = 1550,
const double  Tol = 1e-9,
Epetra_RowMatrix *  Matrix = 0 
) [inline, virtual]

bool ML_Epetra::Ifpack_ML::HasNormInf (  )  const [inline]

virtual int ML_Epetra::Ifpack_ML::Initialize (  )  [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::InitializeFlops (  )  const [inline, virtual]

virtual double ML_Epetra::Ifpack_ML::InitializeTime (  )  const [inline, virtual]

virtual bool ML_Epetra::Ifpack_ML::IsComputed (  )  const [inline, virtual]

virtual bool ML_Epetra::Ifpack_ML::IsInitialized (  )  const [inline, virtual]

const char* ML_Epetra::Ifpack_ML::Label (  )  const [inline]

virtual const Epetra_RowMatrix& ML_Epetra::Ifpack_ML::Matrix (  )  const [inline, virtual]

double ML_Epetra::Ifpack_ML::NormInf (  )  const [inline]

virtual int ML_Epetra::Ifpack_ML::NumApplyInverse (  )  const [inline, virtual]

virtual int ML_Epetra::Ifpack_ML::NumCompute (  )  const [inline, virtual]

virtual int ML_Epetra::Ifpack_ML::NumInitialize (  )  const [inline, virtual]

const Epetra_Map& ML_Epetra::Ifpack_ML::OperatorDomainMap (  )  const [inline]

const Epetra_Map& ML_Epetra::Ifpack_ML::OperatorRangeMap (  )  const [inline]

virtual ostream& ML_Epetra::Ifpack_ML::Print ( std::ostream &  os  )  const [inline, virtual]

virtual int ML_Epetra::Ifpack_ML::SetParameters ( Teuchos::ParameterList &  List  )  [inline, virtual]

int ML_Epetra::Ifpack_ML::SetUseTranspose ( bool  UseTranspose  )  [inline]

bool ML_Epetra::Ifpack_ML::UseTranspose (  )  const [inline]


Member Data Documentation

Epetra_RowMatrix* ML_Epetra::Ifpack_ML::A_ [private]

Teuchos::ParameterList ML_Epetra::Ifpack_ML::MLList_ [private]


The documentation for this class was generated from the following file: