PyTrilinos::Amesos::Lapack Class Reference

Inheritance diagram for PyTrilinos::Amesos::Lapack:

Inheritance graph
[legend]
Collaboration diagram for PyTrilinos::Amesos::Lapack:

Collaboration graph
[legend]

List of all members.

Public Member Functions

def __init__
def SymbolicFactorization
def NumericFactorization
def Solve
def GetProblem
def MatrixShapeOK
def SetUseTranspose
def UseTranspose
def Comm
def setParameterList
def SetParameters
def GEEV
def NumSymbolicFact
def NumNumericFact
def NumSolve
def PrintTiming
def PrintStatus
def GetTiming
def __init__
def SymbolicFactorization
def NumericFactorization
def Solve
def GetProblem
def MatrixShapeOK
def SetUseTranspose
def UseTranspose
def Comm
def setParameterList
def SetParameters
def GEEV
def NumSymbolicFact
def NumNumericFact
def NumSolve
def PrintTiming
def PrintStatus
def GetTiming

Public Attributes

 this


Detailed Description

Amesos_Lapack: an interface to LAPACK.

Class Amesos_Lapack enables the solution of the distributed linear
system, defined by an Epetra_LinearProblem, using LAPACK.

Amesos_Lapack stores the lineaar system matrix as an
Epetra_SerialDensMatrix. The linear problem is an
Epetra_SerialDenseProblem. Amesos_Lapack factorizes the matrix using
DGETRF().

Marzio Sala, 9214.

C++ includes: Amesos_Lapack.h 

Member Function Documentation

def PyTrilinos::Amesos::Lapack::__init__ (   self,
  args 
)

__init__(self, LinearProblem LinearProblem) -> Lapack

Amesos_Lapack::Amesos_Lapack(const Epetra_LinearProblem
&LinearProblem)

Amesos_Lapack Constructor.

Creates an Amesos_Lapack instance, using an Epetra_LinearProblem,
passing in an already- defined Epetra_LinearProblem object.

Note: The operator in LinearProblem must be an Epetra_RowMatrix. 

def PyTrilinos::Amesos::Lapack::__init__ (   self,
  args 
)

__init__(self, LinearProblem LinearProblem) -> Lapack

Amesos_Lapack::Amesos_Lapack(const Epetra_LinearProblem
&LinearProblem)

Amesos_Lapack Constructor.

Creates an Amesos_Lapack instance, using an Epetra_LinearProblem,
passing in an already- defined Epetra_LinearProblem object.

Note: The operator in LinearProblem must be an Epetra_RowMatrix. 

def PyTrilinos::Amesos::Lapack::Comm (   self,
  args 
)

Comm(self) -> Comm

const Epetra_Comm&
Amesos_Lapack::Comm() const

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

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::Comm (   self,
  args 
)

Comm(self) -> Comm

const Epetra_Comm&
Amesos_Lapack::Comm() const

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

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::GEEV (   self,
  args 
)

GEEV(self, Epetra_Vector Er, Epetra_Vector Ei) -> int

int
Amesos_Lapack::GEEV(Epetra_Vector &Er, Epetra_Vector &Ei)

Computes the eigenvalues of the linear system matrix using DGEEV.

Parameters:
-----------

Er:  - (Out) On processor zero only, it will contain the real
component of the eigenvalues.

Ei:  - (Out) On processor zero only, it will contain the imaginary
component of the eigenvalues.

Er and Ei must have been allocated so that the local length on
processor 0 equals the global size of the matrix. 

def PyTrilinos::Amesos::Lapack::GEEV (   self,
  args 
)

GEEV(self, Epetra_Vector Er, Epetra_Vector Ei) -> int

int
Amesos_Lapack::GEEV(Epetra_Vector &Er, Epetra_Vector &Ei)

Computes the eigenvalues of the linear system matrix using DGEEV.

Parameters:
-----------

Er:  - (Out) On processor zero only, it will contain the real
component of the eigenvalues.

Ei:  - (Out) On processor zero only, it will contain the imaginary
component of the eigenvalues.

Er and Ei must have been allocated so that the local length on
processor 0 equals the global size of the matrix. 

def PyTrilinos::Amesos::Lapack::GetProblem (   self,
  args 
)

GetProblem(self) -> LinearProblem

const
Epetra_LinearProblem* Amesos_Lapack::GetProblem() const

Returns the Epetra_LinearProblem.

Warning! Do not call return->SetOperator(...) to attempt to change the
Epetra_Operator object (even if the new matrix has the same
structure). This new operator matrix will be ignored! 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::GetProblem (   self,
  args 
)

GetProblem(self) -> LinearProblem

const
Epetra_LinearProblem* Amesos_Lapack::GetProblem() const

Returns the Epetra_LinearProblem.

Warning! Do not call return->SetOperator(...) to attempt to change the
Epetra_Operator object (even if the new matrix has the same
structure). This new operator matrix will be ignored! 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::GetTiming (   self,
  args 
)

GetTiming(self, ParameterList TimingParameterList)

void
Amesos_Lapack::GetTiming(Teuchos::ParameterList &TimingParameterList)
const

Extracts timing information from the current solver and places it in
the parameter list. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::GetTiming (   self,
  args 
)

GetTiming(self, ParameterList TimingParameterList)

void
Amesos_Lapack::GetTiming(Teuchos::ParameterList &TimingParameterList)
const

Extracts timing information from the current solver and places it in
the parameter list. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::MatrixShapeOK (   self,
  args 
)

MatrixShapeOK(self) -> bool

bool
Amesos_Lapack::MatrixShapeOK() const

Returns true if the solver can handle this matrix shape.

Returns true if the matrix shape is one that the underlying sparse
direct solver can handle. Classes that work only on square matrices
should return false for rectangular matrices. Classes that work only
on symmetric matrices whould return false for non-symmetric matrices.

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::MatrixShapeOK (   self,
  args 
)

MatrixShapeOK(self) -> bool

bool
Amesos_Lapack::MatrixShapeOK() const

Returns true if the solver can handle this matrix shape.

Returns true if the matrix shape is one that the underlying sparse
direct solver can handle. Classes that work only on square matrices
should return false for rectangular matrices. Classes that work only
on symmetric matrices whould return false for non-symmetric matrices.

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumericFactorization (   self,
  args 
)

NumericFactorization(self) -> int

int
Amesos_Lapack::NumericFactorization()

Performs NumericFactorization on the matrix A.

In addition to performing numeric factorization on the matrix A, the
call to NumericFactorization() implies that no change will be made to
the underlying matrix without a subsequent call to
NumericFactorization().

<br >Preconditions:  GetProblem().GetOperator() != 0 (return -1)

MatrixShapeOk( GetProblem().GetOperator()) == true (return -6)

The non-zero structure of the matrix should not have changed since the
last call to SymbolicFactorization(). (return -2 if the number of non-
zeros changes) Other changes can have arbitrary consequences.

The distribution of the matrix should not have changed since the last
call to SymbolicFactorization()

The matrix should be indexed from 0 to n-1, unless the parameter
"Reindex" was set to "true" prior to the call to
SymbolicFactorization(). (return -3 - if caught)

The paremeter "Reindex" should not be set to "true" except on
CrsMatrices. (return -4)

The paremeter "Reindex" should not be set to "true" unless Amesos
was built with EpetraExt, i.e. with --enable-epetraext on the
configure line. (return -4)

Internal errors retur -5.

<br >Postconditions: Numeric Factorization will be performed (or
marked to be performed) allowing Solve() to be performed correctly
despite a potential change in in the matrix values (though not in the
non-zero structure).

Integer error code, set to 0 if successful. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumericFactorization (   self,
  args 
)

NumericFactorization(self) -> int

int
Amesos_Lapack::NumericFactorization()

Performs NumericFactorization on the matrix A.

In addition to performing numeric factorization on the matrix A, the
call to NumericFactorization() implies that no change will be made to
the underlying matrix without a subsequent call to
NumericFactorization().

<br >Preconditions:  GetProblem().GetOperator() != 0 (return -1)

MatrixShapeOk( GetProblem().GetOperator()) == true (return -6)

The non-zero structure of the matrix should not have changed since the
last call to SymbolicFactorization(). (return -2 if the number of non-
zeros changes) Other changes can have arbitrary consequences.

The distribution of the matrix should not have changed since the last
call to SymbolicFactorization()

The matrix should be indexed from 0 to n-1, unless the parameter
"Reindex" was set to "true" prior to the call to
SymbolicFactorization(). (return -3 - if caught)

The paremeter "Reindex" should not be set to "true" except on
CrsMatrices. (return -4)

The paremeter "Reindex" should not be set to "true" unless Amesos
was built with EpetraExt, i.e. with --enable-epetraext on the
configure line. (return -4)

Internal errors retur -5.

<br >Postconditions: Numeric Factorization will be performed (or
marked to be performed) allowing Solve() to be performed correctly
despite a potential change in in the matrix values (though not in the
non-zero structure).

Integer error code, set to 0 if successful. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumNumericFact (   self,
  args 
)

NumNumericFact(self) -> int

int
Amesos_Lapack::NumNumericFact() const

Returns the number of numeric factorizations performed by this object.

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumNumericFact (   self,
  args 
)

NumNumericFact(self) -> int

int
Amesos_Lapack::NumNumericFact() const

Returns the number of numeric factorizations performed by this object.

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumSolve (   self,
  args 
)

NumSolve(self) -> int

int
Amesos_Lapack::NumSolve() const

Returns the number of solves performed by this object. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumSolve (   self,
  args 
)

NumSolve(self) -> int

int
Amesos_Lapack::NumSolve() const

Returns the number of solves performed by this object. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumSymbolicFact (   self,
  args 
)

NumSymbolicFact(self) -> int

int
Amesos_Lapack::NumSymbolicFact() const

Returns the number of symbolic factorizations performed by this
object. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::NumSymbolicFact (   self,
  args 
)

NumSymbolicFact(self) -> int

int
Amesos_Lapack::NumSymbolicFact() const

Returns the number of symbolic factorizations performed by this
object. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::PrintStatus (   self,
  args 
)

PrintStatus(self)

void
Amesos_Lapack::PrintStatus() const

Print information about the factorization and solution phases. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::PrintStatus (   self,
  args 
)

PrintStatus(self)

void
Amesos_Lapack::PrintStatus() const

Print information about the factorization and solution phases. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::PrintTiming (   self,
  args 
)

PrintTiming(self)

void
Amesos_Lapack::PrintTiming() const

Print timing information. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::PrintTiming (   self,
  args 
)

PrintTiming(self)

void
Amesos_Lapack::PrintTiming() const

Print timing information. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::setParameterList (   self,
  args 
)

setParameterList(self, Teuchos::RCP<(Teuchos::ParameterList)> paramList)

void
Amesos_Lapack::setParameterList(Teuchos::RCP< Teuchos::ParameterList >
const &paramList)

Use this parameter list to read values from.

Redefined from Teuchos::ParameterListAcceptor 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::setParameterList (   self,
  args 
)

setParameterList(self, Teuchos::RCP<(Teuchos::ParameterList)> paramList)

void
Amesos_Lapack::setParameterList(Teuchos::RCP< Teuchos::ParameterList >
const &paramList)

Use this parameter list to read values from.

Redefined from Teuchos::ParameterListAcceptor 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::SetParameters (   self,
  args 
)

SetParameters(self, ParameterList ParameterList) -> int

int
Amesos_Lapack::SetParameters(Teuchos::ParameterList &ParameterList)

Deprecated - Sets parameters. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::SetParameters (   self,
  args 
)

SetParameters(self, ParameterList ParameterList) -> int

int
Amesos_Lapack::SetParameters(Teuchos::ParameterList &ParameterList)

Deprecated - Sets parameters. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::SetUseTranspose (   self,
  args 
)

SetUseTranspose(self, bool UseTranspose_in) -> int

int
Amesos_Lapack::SetUseTranspose(bool UseTranspose_in)

If set true, X will be set to the solution of AT X = B (not A X = B).

If the implementation of this interface does not support transpose
use, this method should return a value of -1.

<br >Preconditions:  SetUseTranspose() should be called prior to the
call to SymbolicFactorization() If NumericFactorization() or Solve()
is called after SetUseTranspose() without an intervening call to
SymbolicFactorization() the result is implementation dependent.

<br >Postconditions: The next factorization and solve will be
performed with the new value of UseTranspose.

Parameters:
-----------

UseTranspose:  -- (In) If true, solve AT X = B, otherwise solve A X =
B.

Integer error code, set to 0 if successful. Set to -1 if this
implementation does not support transpose. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::SetUseTranspose (   self,
  args 
)

SetUseTranspose(self, bool UseTranspose_in) -> int

int
Amesos_Lapack::SetUseTranspose(bool UseTranspose_in)

If set true, X will be set to the solution of AT X = B (not A X = B).

If the implementation of this interface does not support transpose
use, this method should return a value of -1.

<br >Preconditions:  SetUseTranspose() should be called prior to the
call to SymbolicFactorization() If NumericFactorization() or Solve()
is called after SetUseTranspose() without an intervening call to
SymbolicFactorization() the result is implementation dependent.

<br >Postconditions: The next factorization and solve will be
performed with the new value of UseTranspose.

Parameters:
-----------

UseTranspose:  -- (In) If true, solve AT X = B, otherwise solve A X =
B.

Integer error code, set to 0 if successful. Set to -1 if this
implementation does not support transpose. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::Solve (   self,
  args 
)

Solve(self) -> int

int
Amesos_Lapack::Solve()

Solves A X = B (or AT x = B).

<br >Preconditions:  GetProblem().GetOperator() != 0 (return -1)

MatrixShapeOk( GetProblem().GetOperator()) == true (return -6)

GetProblem()->CheckInput (see Epetra_LinearProblem::CheckInput() for
return values)

The non-zero structure of the matrix should not have changed since the
last call to SymbolicFactorization().

The distribution of the matrix should not have changed since the last
call to SymbolicFactorization()

The matrix should not have changed since the last call to
NumericFactorization().

<br >Postconditions: X will be set such that A X = B (or AT X = B),
within the limits of the accuracy of the underlying solver.

Integer error code, set to 0 if successful. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::Solve (   self,
  args 
)

Solve(self) -> int

int
Amesos_Lapack::Solve()

Solves A X = B (or AT x = B).

<br >Preconditions:  GetProblem().GetOperator() != 0 (return -1)

MatrixShapeOk( GetProblem().GetOperator()) == true (return -6)

GetProblem()->CheckInput (see Epetra_LinearProblem::CheckInput() for
return values)

The non-zero structure of the matrix should not have changed since the
last call to SymbolicFactorization().

The distribution of the matrix should not have changed since the last
call to SymbolicFactorization()

The matrix should not have changed since the last call to
NumericFactorization().

<br >Postconditions: X will be set such that A X = B (or AT X = B),
within the limits of the accuracy of the underlying solver.

Integer error code, set to 0 if successful. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::SymbolicFactorization (   self,
  args 
)

SymbolicFactorization(self) -> int

int
Amesos_Lapack::SymbolicFactorization()

Performs SymbolicFactorization on the matrix A.

In addition to performing symbolic factorization on the matrix A, the
call to SymbolicFactorization() implies that no change will be made to
the non-zero structure of the underlying matrix without a subsequent
call to SymbolicFactorization().

<br >Preconditions:  GetProblem().GetOperator() != 0 (return -1)

MatrixShapeOk( GetProblem().GetOperator()) == true (return -6)

<br >Postconditions: Symbolic Factorization will be performed (or
marked to be performed) allowing NumericFactorization() and Solve() to
be called.

Integer error code, set to 0 if successful. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::SymbolicFactorization (   self,
  args 
)

SymbolicFactorization(self) -> int

int
Amesos_Lapack::SymbolicFactorization()

Performs SymbolicFactorization on the matrix A.

In addition to performing symbolic factorization on the matrix A, the
call to SymbolicFactorization() implies that no change will be made to
the non-zero structure of the underlying matrix without a subsequent
call to SymbolicFactorization().

<br >Preconditions:  GetProblem().GetOperator() != 0 (return -1)

MatrixShapeOk( GetProblem().GetOperator()) == true (return -6)

<br >Postconditions: Symbolic Factorization will be performed (or
marked to be performed) allowing NumericFactorization() and Solve() to
be called.

Integer error code, set to 0 if successful. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::UseTranspose (   self,
  args 
)

UseTranspose(self) -> bool

bool
Amesos_Lapack::UseTranspose() const

Returns the current UseTranspose setting. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.

def PyTrilinos::Amesos::Lapack::UseTranspose (   self,
  args 
)

UseTranspose(self) -> bool

bool
Amesos_Lapack::UseTranspose() const

Returns the current UseTranspose setting. 

Reimplemented from PyTrilinos::Amesos::BaseSolver.


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

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