Amesos_Btf Class Reference

Amesos_Btf: Factors and solves a matrix after converting it to block triangular form. More...

#include <Amesos_BTF.h>

Inheritance diagram for Amesos_Btf:

[legend]
Collaboration diagram for Amesos_Btf:
[legend]
List of all members.

Public Member Functions

Constructor methods
 Amesos_Btf (const Epetra_LinearProblem &LinearProblem)
 Amesos_Btf Constructor.
 ~Amesos_Btf (void)
 Amesos_Btf Destructor.
Mathematical functions.
int SymbolicFactorization ()
 Performs SymbolicFactorization on the matrix A.
int NumericFactorization ()
 Performs NumericFactorization on the matrix A.
int Solve ()
 Solves A X = B (or AT X = B).
Additional methods required to support the Epetra_Operator interface.
const Epetra_LinearProblemGetProblem () const
 Get a pointer to the Problem.
bool MatrixShapeOK () const
 Returns true if BTF can handle this matrix shape.
int SetUseTranspose (bool UseTranspose)
 SetUseTranpose(true) causes Solve() To compute A^T X = B.
bool UseTranspose () const
 Returns the current UseTranspose setting.
const Epetra_CommComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this matrix.
int SetParameters (Teuchos::ParameterList &ParameterList)
 Updates internal variables.
void PrintTiming ()
 Print timing information.
void PrintStatus ()
 Print information about the factorization and solution phases.

Detailed Description

Amesos_Btf: Factors and solves a matrix after converting it to block triangular form.

Amesos_Btf:


Constructor & Destructor Documentation

Amesos_Btf::Amesos_Btf const Epetra_LinearProblem LinearProblem  ) 
 

Amesos_Btf Constructor.

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

Note: The operator in LinearProblem must be an Epetra_RowMatrix.

Amesos_Btf::~Amesos_Btf void   ) 
 

Amesos_Btf Destructor.

Completely deletes an Amesos_Btf object.


Member Function Documentation

bool Amesos_Btf::MatrixShapeOK  )  const [virtual]
 

Returns true if BTF can handle this matrix shape.

Returns true if the matrix shape is one that BTF can handle. BTF only works with square matrices.

Implements Amesos_BaseSolver.

int Amesos_Btf::NumericFactorization  )  [virtual]
 

Performs NumericFactorization on the matrix A.

Returns:
Integer error code, set to 0 if successful.

Implements Amesos_BaseSolver.

int Amesos_Btf::SetParameters Teuchos::ParameterList ParameterList  )  [virtual]
 

Updates internal variables.

<br >Preconditions:

  • None.

<br >Postconditions:

  • Internal variables controlling the factorization and solve will be updated and take effect on all subsequent calls to NumericFactorization() and Solve().
  • All parameters whose value are to differ from the default values must be included in ParameterList. Parameters not specified in ParameterList revert to their default values.

Returns:
Integer error code, set to 0 if successful.

Implements Amesos_BaseSolver.

int Amesos_Btf::SetUseTranspose bool  UseTranspose  )  [inline, virtual]
 

SetUseTranpose(true) causes Solve() To compute A^T X = B.

Implements Amesos_BaseSolver.

int Amesos_Btf::Solve  )  [virtual]
 

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

Foreach block i:
   For each block j
     Compute x_i -= A_{i,j} x_j 
   Call Solve(x_i,b_i) 
   Broadcast x_i

Returns:
Integer error code, set to 0 if successful.

Implements Amesos_BaseSolver.

int Amesos_Btf::SymbolicFactorization  )  [virtual]
 

Performs SymbolicFactorization on the matrix A.

  • Compute an ordering which reduces the matrix to block upper triangular form.
  • Determine a task partitioning (static load balancing)
  • Redistribute the data based on the owner computes rule
  • Instantiates an Amesos solver for each of the diagonal blocks
  • Calls SymbolicFactorization() on each of the diagonal blocks

Returns:
Integer error code, set to 0 if successful.

Implements Amesos_BaseSolver.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:39:25 2008 for Amesos by doxygen 1.3.9.1