Epetra_LinearProblem Class Reference

Epetra_LinearProblem: The Epetra Linear Problem Class. More...

#include <Epetra_LinearProblem.h>

Collaboration diagram for Epetra_LinearProblem:

[legend]
List of all members.

Set methods

enum  ProblemDifficultyLevel { easy, moderate, hard, unsure }
void AssertSymmetric ()
void SetPDL (ProblemDifficultyLevel PDL)
 Set problem difficulty level.
void SetOperator (Epetra_RowMatrix *A)
 Set Operator A of linear problem AX = B using an Epetra_RowMatrix.
void SetOperator (Epetra_Operator *A)
 Set Operator A of linear problem AX = B using an Epetra_Operator.
void SetLHS (Epetra_MultiVector *X)
 Set left-hand-side X of linear problem AX = B.
void SetRHS (Epetra_MultiVector *B)
 Set right-hand-side B of linear problem AX = B.

Public Member Functions

Constructors/Destructor
 Epetra_LinearProblem (void)
 Epetra_LinearProblem Default Constructor.
 Epetra_LinearProblem (Epetra_RowMatrix *A, Epetra_MultiVector *X, Epetra_MultiVector *B)
 Epetra_LinearProblem Constructor to pass in an operator as a matrix.
 Epetra_LinearProblem (Epetra_Operator *A, Epetra_MultiVector *X, Epetra_MultiVector *B)
 Epetra_LinearProblem Constructor to pass in a basic Epetra_Operator.
 Epetra_LinearProblem (const Epetra_LinearProblem &Problem)
 Epetra_LinearProblem Copy Constructor.
virtual ~Epetra_LinearProblem (void)
 Epetra_LinearProblem Destructor.
Integrity check method
int CheckInput () const
 Check input parameters for existence and size consistency.
Computational methods
int LeftScale (const Epetra_Vector &D)
 Perform left scaling of a linear problem.
int RightScale (const Epetra_Vector &D)
 Perform right scaling of a linear problem.
Accessor methods
Epetra_OperatorGetOperator () const
 Get a pointer to the operator A.
Epetra_RowMatrixGetMatrix () const
 Get a pointer to the matrix A.
Epetra_MultiVectorGetLHS () const
 Get a pointer to the left-hand-side X.
Epetra_MultiVectorGetRHS () const
 Get a pointer to the right-hand-side B.
ProblemDifficultyLevel GetPDL () const
 Get problem difficulty level.
bool IsOperatorSymmetric () const
 Get operator symmetry bool.

Detailed Description

Epetra_LinearProblem: The Epetra Linear Problem Class.

The Epetra_LinearProblem class is a wrapper that encapsulates the general information needed for solving a linear system of equations. Currently it accepts a Epetra matrix, initial guess and RHS and returns the solution. the elapsed time for each calling processor.


Constructor & Destructor Documentation

Epetra_LinearProblem::Epetra_LinearProblem void   ) 
 

Epetra_LinearProblem Default Constructor.

Creates an empty Epetra_LinearProblem instance. The operator A, left-hand-side X and right-hand-side B must be set use the SetOperator(), SetLHS() and SetRHS() methods respectively.

Epetra_LinearProblem::Epetra_LinearProblem Epetra_RowMatrix A,
Epetra_MultiVector X,
Epetra_MultiVector B
 

Epetra_LinearProblem Constructor to pass in an operator as a matrix.

Creates a Epetra_LinearProblem instance where the operator is passed in as a matrix.

Epetra_LinearProblem::Epetra_LinearProblem Epetra_Operator A,
Epetra_MultiVector X,
Epetra_MultiVector B
 

Epetra_LinearProblem Constructor to pass in a basic Epetra_Operator.

Creates a Epetra_LinearProblem instance for the case where an operator is not necessarily a matrix.

Epetra_LinearProblem::Epetra_LinearProblem const Epetra_LinearProblem Problem  ) 
 

Epetra_LinearProblem Copy Constructor.

Makes copy of an existing Epetra_LinearProblem instance.

virtual Epetra_LinearProblem::~Epetra_LinearProblem void   )  [virtual]
 

Epetra_LinearProblem Destructor.

Completely deletes a Epetra_LinearProblem object.


Member Function Documentation

int Epetra_LinearProblem::CheckInput  )  const
 

Check input parameters for existence and size consistency.

Returns 0 if all input parameters are valid. Returns +1 if operator is not a matrix. This is not necessarily an error, but no scaling can be done if the user passes in an Epetra_Operator that is not an Epetra_Matrix

int Epetra_LinearProblem::LeftScale const Epetra_Vector D  ) 
 

Perform left scaling of a linear problem.

Applies the scaling vector D to the left side of the matrix A() and to the right hand side B(). Note that the operator must be an Epetra_RowMatrix, not just an Epetra_Operator (the base class of Epetra_RowMatrix).

Parameters:
In D - Vector containing scaling values. D[i] will be applied to the ith row of A() and B().
Returns:
Integer error code, set to 0 if successful. Return -1 if operator is not a matrix.

int Epetra_LinearProblem::RightScale const Epetra_Vector D  ) 
 

Perform right scaling of a linear problem.

Applies the scaling vector D to the right side of the matrix A(). Apply the inverse of D to the initial guess. Note that the operator must be an Epetra_RowMatrix, not just an Epetra_Operator (the base class of Epetra_RowMatrix).

Parameters:
In D - Vector containing scaling values. D[i] will be applied to the ith row of A(). 1/D[i] will be applied to the ith row of B().
Returns:
Integer error code, set to 0 if successful. Return -1 if operator is not a matrix.

void Epetra_LinearProblem::SetLHS Epetra_MultiVector X  )  [inline]
 

Set left-hand-side X of linear problem AX = B.

Sets a pointer to a Epetra_MultiVector. No copy of the object is made.

void Epetra_LinearProblem::SetOperator Epetra_Operator A  )  [inline]
 

Set Operator A of linear problem AX = B using an Epetra_Operator.

Sets a pointer to a Epetra_Operator. No copy of the operator is made.

void Epetra_LinearProblem::SetOperator Epetra_RowMatrix A  )  [inline]
 

Set Operator A of linear problem AX = B using an Epetra_RowMatrix.

Sets a pointer to a Epetra_RowMatrix. No copy of the operator is made.

void Epetra_LinearProblem::SetPDL ProblemDifficultyLevel  PDL  )  [inline]
 

Set problem difficulty level.

Sets Aztec options and parameters based on a definition of easy moderate or hard problem. Relieves the user from explicitly setting a large number of individual parameter values. This function can be used in conjunction with the SetOptions() and SetParams() functions.

void Epetra_LinearProblem::SetRHS Epetra_MultiVector B  )  [inline]
 

Set right-hand-side B of linear problem AX = B.

Sets a pointer to a Epetra_MultiVector. No copy of the object is made.


The documentation for this class was generated from the following file:
Generated on Thu Sep 18 12:37:44 2008 for Epetra by doxygen 1.3.9.1