|
Amesos Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
40 #ifndef AMESOS_UMFPACK_H
41 #define AMESOS_UMFPACK_H
229 std::vector <int>
Ap;
230 std::vector <int>
Ai;
int NumericFactorization()
Performs NumericFactorization on the matrix A.
int numentries_
Number of non-zero entries in Problem_->GetOperator()
int PerformSymbolicFactorization()
int NumSolve_
Number of solves.
Amesos_NoCopiable: Simple class to prevent the usage of copy constructor and operator =.
const Epetra_LinearProblem * Problem_
Pointer to the linear problem to solve.
bool RcondValidOnAllProcs_
bool UseTranspose() const
Returns the current UseTranspose setting.
Amesos_BaseSolver: A pure virtual class for direct solution of real-valued double-precision operators...
const Epetra_Import & Importer() const
void * Numeric
Umfpack internal opaque object.
int NumSymbolicFact_
Number of symbolic factorization phases.
double GetRcond() const
Returns an estimate of the reciprocal of the condition number.
int SetParameters(Teuchos::ParameterList &ParameterList)
Updates internal variables.
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
bool UseTranspose_
If true, solve the problem with the transpose.
Class Amesos_Umfpack: An object-oriented wrapper for UMFPACK.
std::vector< int > Ap
Ap, Ai, Aval form the compressed row storage used by Umfpack.
double Rcond_
Reciprocal condition number estimate.
Epetra_CrsMatrix & SerialCrsMatrix()
~Amesos_Umfpack(void)
Amesos_Umfpack Destructor.
int ConvertToSerial(const bool FirstTime)
Converts matrix to a serial Epetra_CrsMatrix.
int SetUseTranspose(bool UseTranspose_in)
If set true, X will be set to the solution of AT X = B (not A X = B)
int MtxConvTime_
Quick access pointers to internal timer data.
Amesos_Umfpack(const Epetra_LinearProblem &LinearProblem)
Amesos_Umfpack Constructor.
Teuchos::RCP< Epetra_CrsMatrix > SerialCrsMatrixA_
int NumGlobalElements_
Number of rows and columns in the Problem_->GetOperator()
Teuchos::RCP< Epetra_Import > ImportToSerial_
Importer from distributed to serial (all rows on process 0).
int NumNumericFact_
Number of numeric factorization phases.
int ConvertToUmfpackCRS()
Amesos_Utils: Collections of basic utilities.
int IsLocal_
1 if Problem_->GetOperator() is stored entirely on process 0
const Epetra_Map & SerialMap() const
Epetra_RowMatrix * SerialMatrix_
Points to a Serial Copy of A.
int NumSolve() const
Returns the number of solves performed by this object.
Epetra_RowMatrix * Matrix()
Returns a pointer to the linear system matrix.
void * Symbolic
Umfpack internal opaque object.
const Epetra_CrsMatrix & SerialCrsMatrix() const
int PerformNumericFactorization()
Amesos_Control: Container for some control variables.
void PrintStatus() const
Prints information about the factorization and solution phases.
std::vector< double > Aval
void PrintTiming() const
Prints timing information.
int Solve()
Solves A X = B (or AT x = B)
Teuchos::RCP< Epetra_Map > SerialMap_
Points to a Serial Map (unused if IsLocal == 1 )
void GetTiming(Teuchos::ParameterList &list) const
Load up the current timing information into the parameter list.
Epetra_Operator * GetOperator() const
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
const Epetra_LinearProblem * GetProblem() const
Returns the Epetra_LinearProblem.
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
bool MatrixShapeOK() const
Returns true if UMFPACK can handle this matrix shape.
Amesos_Time: Container for timing information.
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
Amesos_Status: Container for some status variables.