PyTrilinos::IFPACK::Preconditioner Class Reference

Inheritance diagram for PyTrilinos::IFPACK::Preconditioner:

Inheritance graph
[legend]
Collaboration diagram for PyTrilinos::IFPACK::Preconditioner:

Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def SetParameters
def Initialize
def IsInitialized
def Compute
def IsComputed
def Condest
def ApplyInverse
def Matrix
def NumInitialize
def NumCompute
def NumApplyInverse
def InitializeTime
def ComputeTime
def ApplyInverseTime
def InitializeFlops
def ComputeFlops
def ApplyInverseFlops
def __str__
def __del__
def __init__
def SetParameters
def Initialize
def IsInitialized
def Compute
def IsComputed
def Condest
def ApplyInverse
def Matrix
def NumInitialize
def NumCompute
def NumApplyInverse
def InitializeTime
def ComputeTime
def ApplyInverseTime
def InitializeFlops
def ComputeFlops
def ApplyInverseFlops
def __str__
def __del__


Detailed Description

Proxy of C++ Ifpack_Preconditioner class

Member Function Documentation

def PyTrilinos::IFPACK::Preconditioner::__del__ (   self,
  args 
)

__del__(self)

def PyTrilinos::IFPACK::Preconditioner::__del__ (   self,
  args 
)

__del__(self)

def PyTrilinos::IFPACK::Preconditioner::__str__ (   self,
  args 
)

__str__(self) -> string

def PyTrilinos::IFPACK::Preconditioner::__str__ (   self,
  args 
)

__str__(self) -> string

def PyTrilinos::IFPACK::Preconditioner::ApplyInverse (   self,
  args 
)

ApplyInverse(self, MultiVector x, MultiVector y) -> int

In C++, the ApplyInverse() method is pure virtual, thus intended to be
overridden by derived classes.  In python, cross-language polymorphism
is supported, and you are expected to derive classes from this base
class and redefine the ApplyInverse() method.  C++ code (e.g., AztecOO
solvers) can call back to your ApplyInverse() method as needed.  You
must support two arguments, labeled here MultiVector x and MultiVector
y.  These will be converted from Epetra_MultiVector C++ objects to
numpy-hybrid Epetra.MultiVector objects before they are passed to you.
Thus, it is legal to use slice indexing and other numpy features to
compute y from x.

If application of your operator is successful, return 0; else return
some non-zero error code.

It is strongly suggested that you prevent ApplyInverse() from raising
any exceptions.  Accidental errors can be prevented by wrapping your
code in a try block:

    try:
# Your code goes here...
    except Exception, e:
print 'A python exception was raised by method ApplyInverse:'
print e
return -1

By returning a -1, you inform the calling routine that ApplyInverse()
was unsuccessful.


virtual int
Epetra_Operator::ApplyInverse(const Epetra_MultiVector &X,
Epetra_MultiVector &Y) const =0

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.

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. 

Reimplemented from PyTrilinos::Epetra::Operator.

Reimplemented in PyTrilinos::IFPACK::IC, PyTrilinos::IFPACK::ICT, PyTrilinos::IFPACK::ILU, PyTrilinos::IFPACK::ILUT, PyTrilinos::IFPACK::PointRelaxation, PyTrilinos::IFPACK::Amesos, PyTrilinos::IFPACK::IC, PyTrilinos::IFPACK::ICT, PyTrilinos::IFPACK::ILU, PyTrilinos::IFPACK::ILUT, PyTrilinos::IFPACK::PointRelaxation, and PyTrilinos::IFPACK::Amesos.

def PyTrilinos::IFPACK::Preconditioner::ApplyInverse (   self,
  args 
)

ApplyInverse(self, MultiVector x, MultiVector y) -> int

In C++, the ApplyInverse() method is pure virtual, thus intended to be
overridden by derived classes.  In python, cross-language polymorphism
is supported, and you are expected to derive classes from this base
class and redefine the ApplyInverse() method.  C++ code (e.g., AztecOO
solvers) can call back to your ApplyInverse() method as needed.  You
must support two arguments, labeled here MultiVector x and MultiVector
y.  These will be converted from Epetra_MultiVector C++ objects to
numpy-hybrid Epetra.MultiVector objects before they are passed to you.
Thus, it is legal to use slice indexing and other numpy features to
compute y from x.

If application of your operator is successful, return 0; else return
some non-zero error code.

It is strongly suggested that you prevent ApplyInverse() from raising
any exceptions.  Accidental errors can be prevented by wrapping your
code in a try block:

    try:
# Your code goes here...
    except Exception, e:
print 'A python exception was raised by method ApplyInverse:'
print e
return -1

By returning a -1, you inform the calling routine that ApplyInverse()
was unsuccessful.


virtual int
Epetra_Operator::ApplyInverse(const Epetra_MultiVector &X,
Epetra_MultiVector &Y) const =0

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.

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. 

Reimplemented from PyTrilinos::Epetra::Operator.

Reimplemented in PyTrilinos::IFPACK::IC, PyTrilinos::IFPACK::ICT, PyTrilinos::IFPACK::ILU, PyTrilinos::IFPACK::ILUT, PyTrilinos::IFPACK::PointRelaxation, PyTrilinos::IFPACK::Amesos, PyTrilinos::IFPACK::IC, PyTrilinos::IFPACK::ICT, PyTrilinos::IFPACK::ILU, PyTrilinos::IFPACK::ILUT, PyTrilinos::IFPACK::PointRelaxation, and PyTrilinos::IFPACK::Amesos.

def PyTrilinos::IFPACK::Preconditioner::ApplyInverseFlops (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ApplyInverseFlops (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ApplyInverseTime (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ApplyInverseTime (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Compute (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Compute (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ComputeFlops (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ComputeFlops (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ComputeTime (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::ComputeTime (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Condest (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Condest (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Initialize (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Initialize (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::InitializeFlops (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::InitializeFlops (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::InitializeTime (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::InitializeTime (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::IsComputed (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::IsComputed (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::IsInitialized (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::IsInitialized (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Matrix (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::Matrix (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::NumApplyInverse (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::NumApplyInverse (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::NumCompute (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::NumCompute (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::NumInitialize (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::NumInitialize (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::SetParameters (   self,
  args 
)

def PyTrilinos::IFPACK::Preconditioner::SetParameters (   self,
  args 
)


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

Generated on Thu Dec 17 11:00:21 2009 for PyTrilinos by  doxygen 1.5.9