Epetra Package Browser (Single Doxygen Collection)
Development
|
Epetra_LinearProblem: The Epetra Linear Problem Class. More...
#include <Epetra_LinearProblem.h>
Private Member Functions | |
Epetra_LinearProblem & | operator= (const Epetra_LinearProblem &Problem) |
Private Attributes | |
Epetra_Operator * | Operator_ |
Epetra_RowMatrix * | A_ |
Epetra_MultiVector * | X_ |
Epetra_MultiVector * | B_ |
bool | OperatorSymmetric_ |
ProblemDifficultyLevel | PDL_ |
bool | LeftScaled_ |
bool | RightScaled_ |
Epetra_Vector * | LeftScaleVector_ |
Epetra_Vector * | RightScaleVector_ |
Constructors/Destructor | |
Epetra_LinearProblem (void) | |
Epetra_LinearProblem Default Constructor. More... | |
Epetra_LinearProblem (Epetra_RowMatrix *A, Epetra_MultiVector *X, Epetra_MultiVector *B) | |
Epetra_LinearProblem Constructor to pass in an operator as a matrix. More... | |
Epetra_LinearProblem (Epetra_Operator *A, Epetra_MultiVector *X, Epetra_MultiVector *B) | |
Epetra_LinearProblem Constructor to pass in a basic Epetra_Operator. More... | |
Epetra_LinearProblem (const Epetra_LinearProblem &Problem) | |
Epetra_LinearProblem Copy Constructor. More... | |
virtual | ~Epetra_LinearProblem (void) |
Epetra_LinearProblem Destructor. More... | |
Integrity check method | |
int | CheckInput () const |
Check input parameters for existence and size consistency. More... | |
Set methods | |
enum | ProblemDifficultyLevel { easy, moderate, hard, unsure } |
void | AssertSymmetric () |
void | SetPDL (ProblemDifficultyLevel PDL) |
Set problem difficulty level. More... | |
void | SetOperator (Epetra_RowMatrix *A) |
Set Operator A of linear problem AX = B using an Epetra_RowMatrix. More... | |
void | SetOperator (Epetra_Operator *A) |
Set Operator A of linear problem AX = B using an Epetra_Operator. More... | |
void | SetLHS (Epetra_MultiVector *X) |
Set left-hand-side X of linear problem AX = B. More... | |
void | SetRHS (Epetra_MultiVector *B) |
Set right-hand-side B of linear problem AX = B. More... | |
Computational methods | |
int | LeftScale (const Epetra_Vector &D) |
Perform left scaling of a linear problem. More... | |
int | RightScale (const Epetra_Vector &D) |
Perform right scaling of a linear problem. More... | |
Accessor methods | |
Epetra_Operator * | GetOperator () const |
Get a pointer to the operator A. More... | |
Epetra_RowMatrix * | GetMatrix () const |
Get a pointer to the matrix A. More... | |
Epetra_MultiVector * | GetLHS () const |
Get a pointer to the left-hand-side X. More... | |
Epetra_MultiVector * | GetRHS () const |
Get a pointer to the right-hand-side B. More... | |
ProblemDifficultyLevel | GetPDL () const |
Get problem difficulty level. More... | |
bool | IsOperatorSymmetric () const |
Get operator symmetry bool. More... | |
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.
Definition at line 70 of file Epetra_LinearProblem.h.
Enumerator | |
---|---|
easy | |
moderate | |
hard | |
unsure |
Definition at line 120 of file Epetra_LinearProblem.h.
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.
Definition at line 50 of file Epetra_LinearProblem.cpp.
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.
Definition at line 64 of file Epetra_LinearProblem.cpp.
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.
Definition at line 81 of file Epetra_LinearProblem.cpp.
Epetra_LinearProblem::Epetra_LinearProblem | ( | const Epetra_LinearProblem & | Problem | ) |
Epetra_LinearProblem Copy Constructor.
Makes copy of an existing Epetra_LinearProblem instance.
Definition at line 98 of file Epetra_LinearProblem.cpp.
|
virtual |
Epetra_LinearProblem Destructor.
Completely deletes a Epetra_LinearProblem object.
Definition at line 112 of file Epetra_LinearProblem.cpp.
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
Definition at line 147 of file Epetra_LinearProblem.cpp.
|
inline |
Definition at line 118 of file Epetra_LinearProblem.h.
|
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.
Definition at line 127 of file Epetra_LinearProblem.h.
|
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.
Definition at line 132 of file Epetra_LinearProblem.h.
|
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.
Definition at line 138 of file Epetra_LinearProblem.h.
|
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.
Definition at line 144 of file Epetra_LinearProblem.h.
|
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.
Definition at line 149 of file Epetra_LinearProblem.h.
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).
In | D - Vector containing scaling values. D[i] will be applied to the ith row of A() and B(). |
Definition at line 116 of file Epetra_LinearProblem.cpp.
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).
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(). |
Definition at line 132 of file Epetra_LinearProblem.cpp.
|
inline |
Get a pointer to the operator A.
Definition at line 181 of file Epetra_LinearProblem.h.
|
inline |
Get a pointer to the matrix A.
Definition at line 183 of file Epetra_LinearProblem.h.
|
inline |
Get a pointer to the left-hand-side X.
Definition at line 185 of file Epetra_LinearProblem.h.
|
inline |
Get a pointer to the right-hand-side B.
Definition at line 187 of file Epetra_LinearProblem.h.
|
inline |
Get problem difficulty level.
Definition at line 189 of file Epetra_LinearProblem.h.
|
inline |
Get operator symmetry bool.
Definition at line 191 of file Epetra_LinearProblem.h.
|
private |
|
private |
Definition at line 191 of file Epetra_LinearProblem.h.
|
private |
Definition at line 197 of file Epetra_LinearProblem.h.
|
private |
Definition at line 198 of file Epetra_LinearProblem.h.
|
private |
Definition at line 199 of file Epetra_LinearProblem.h.
|
private |
Definition at line 201 of file Epetra_LinearProblem.h.
|
private |
Definition at line 202 of file Epetra_LinearProblem.h.
|
private |
Definition at line 203 of file Epetra_LinearProblem.h.
|
private |
Definition at line 204 of file Epetra_LinearProblem.h.
|
private |
Definition at line 205 of file Epetra_LinearProblem.h.
|
private |
Definition at line 206 of file Epetra_LinearProblem.h.