44#ifndef EPETRA_LINEARPROBLEM_H
45#define EPETRA_LINEARPROBLEM_H
49#ifndef DOXYGEN_SHOULD_SKIP_THIS
50enum ProblemDifficultyLevel {easy, moderate, hard, unsure};
104 int CheckInput()
const;
111#ifdef DOXYGEN_SHOULD_SKIP_THIS
125 { A_ = A; Operator_ = A; }
Epetra_LinearProblem: The Epetra Linear Problem Class.
void SetOperator(Epetra_Operator *A)
Set Operator A of linear problem AX = B using an Epetra_Operator.
Epetra_MultiVector * GetRHS() const
Get a pointer to the right-hand-side B.
ProblemDifficultyLevel GetPDL() const
Get problem difficulty level.
void SetOperator(Epetra_RowMatrix *A)
Set Operator A of linear problem AX = B using an Epetra_RowMatrix.
Epetra_Operator * Operator_
Epetra_LinearProblem & operator=(const Epetra_LinearProblem &Problem)
Epetra_Vector * RightScaleVector_
void SetRHS(Epetra_MultiVector *B)
Set right-hand-side B of linear problem AX = B.
Epetra_Operator * GetOperator() const
Get a pointer to the operator A.
bool IsOperatorSymmetric() const
Get operator symmetry bool.
Epetra_RowMatrix * GetMatrix() const
Get a pointer to the matrix A.
void SetPDL(ProblemDifficultyLevel PDL)
Set problem difficulty level.
ProblemDifficultyLevel PDL_
void SetLHS(Epetra_MultiVector *X)
Set left-hand-side X of linear problem AX = B.
Epetra_MultiVector * GetLHS() const
Get a pointer to the left-hand-side X.
Epetra_Vector * LeftScaleVector_
Epetra_MultiVector: A class for constructing and using dense multi-vectors, vectors and matrices in p...
Epetra_Operator: A pure virtual class for using real-valued double-precision operators.
Epetra_RowMatrix: A pure virtual class for using real-valued double-precision row matrices.
Epetra_Vector: A class for constructing and using dense vectors on a parallel computer.