Amesos Package Browser (Single Doxygen Collection)
Development
|
Class Amesos_Umfpack: An object-oriented wrapper for UMFPACK. More...
#include <Amesos_Umfpack.h>
Private Attributes | |
void * | Symbolic |
Umfpack internal opaque object. More... | |
void * | Numeric |
Umfpack internal opaque object. More... | |
std::vector< int > | Ap |
Ap, Ai, Aval form the compressed row storage used by Umfpack. More... | |
std::vector< int > | Ai |
std::vector< double > | Aval |
int | IsLocal_ |
1 if Problem_->GetOperator() is stored entirely on process 0 More... | |
int | numentries_ |
Number of non-zero entries in Problem_->GetOperator() More... | |
int | NumGlobalElements_ |
Number of rows and columns in the Problem_->GetOperator() More... | |
Teuchos::RCP< Epetra_Map > | SerialMap_ |
Points to a Serial Map (unused if IsLocal == 1 ) More... | |
Epetra_RowMatrix * | SerialMatrix_ |
Points to a Serial Copy of A. More... | |
Teuchos::RCP< Epetra_CrsMatrix > | SerialCrsMatrixA_ |
bool | UseTranspose_ |
If true , solve the problem with the transpose. More... | |
const Epetra_LinearProblem * | Problem_ |
Pointer to the linear problem to solve. More... | |
double | Rcond_ |
Reciprocal condition number estimate. More... | |
bool | RcondValidOnAllProcs_ |
Teuchos::RCP< Epetra_Import > | ImportToSerial_ |
Importer from distributed to serial (all rows on process 0). More... | |
int | MtxConvTime_ |
Quick access pointers to internal timer data. More... | |
int | MtxRedistTime_ |
int | VecRedistTime_ |
int | SymFactTime_ |
int | NumFactTime_ |
int | SolveTime_ |
int | OverheadTime_ |
Private Attributes inherited from Amesos_Control | |
double | AddToDiag_ |
Add this value to the diagonal. More... | |
bool | refactorize_ |
double | rcond_threshold_ |
If error is greater than this value, perform symbolic and numeric factorization with full partial pivoting. More... | |
int | ScaleMethod_ |
bool | AddZeroToDiag_ |
Adds zero to diagonal of redistributed matrix (some solvers choke on a matrix with a partly empty diag) More... | |
int | MatrixProperty_ |
Set the matrix property. More... | |
int | MaxProcesses_ |
bool | Reindex_ |
If true, the Amesos class should reindex the matrix to standard indexing (i.e. More... | |
Private Attributes inherited from Amesos_Status | |
bool | IsSymbolicFactorizationOK_ |
If true , SymbolicFactorization() has been successfully called. More... | |
bool | IsNumericFactorizationOK_ |
If true , NumericFactorization() has been successfully called. More... | |
bool | PrintTiming_ |
If true , prints timing information in the destructor. More... | |
bool | PrintStatus_ |
If true , print additional information in the destructor. More... | |
bool | ComputeVectorNorms_ |
If true , prints the norms of X and B in Solve(). More... | |
bool | ComputeTrueResidual_ |
If true , computes the true residual in Solve(). More... | |
int | verbose_ |
Toggles the output level. More... | |
int | debug_ |
Sets the level of debug_ output. More... | |
int | NumSymbolicFact_ |
Number of symbolic factorization phases. More... | |
int | NumNumericFact_ |
Number of numeric factorization phases. More... | |
int | NumSolve_ |
Number of solves. More... | |
double | Threshold_ |
int | MyPID_ |
int | NumProcs_ |
Amesos_Umfpack (const Epetra_LinearProblem &LinearProblem) | |
Amesos_Umfpack Constructor. More... | |
~Amesos_Umfpack (void) | |
Amesos_Umfpack Destructor. More... | |
int | SymbolicFactorization () |
Performs SymbolicFactorization on the matrix A. More... | |
int | NumericFactorization () |
Performs NumericFactorization on the matrix A. More... | |
int | Solve () |
Solves A X = B (or AT x = B) More... | |
const Epetra_LinearProblem * | GetProblem () const |
Returns the Epetra_LinearProblem. More... | |
bool | MatrixShapeOK () const |
Returns true if UMFPACK can handle this matrix shape. More... | |
int | SetUseTranspose (bool UseTranspose_in) |
If set true, X will be set to the solution of AT X = B (not A X = B) More... | |
bool | UseTranspose () const |
Returns the current UseTranspose setting. More... | |
const Epetra_Comm & | Comm () const |
Returns a pointer to the Epetra_Comm communicator associated with this operator. More... | |
double | GetRcond () const |
Returns an estimate of the reciprocal of the condition number. More... | |
int | SetParameters (Teuchos::ParameterList &ParameterList) |
Updates internal variables. More... | |
int | NumSymbolicFact () const |
Returns the number of symbolic factorizations performed by this object. More... | |
int | NumNumericFact () const |
Returns the number of numeric factorizations performed by this object. More... | |
int | NumSolve () const |
Returns the number of solves performed by this object. More... | |
void | PrintTiming () const |
Prints timing information. More... | |
void | PrintStatus () const |
Prints information about the factorization and solution phases. More... | |
void | GetTiming (Teuchos::ParameterList &TimingParameterList) const |
Extracts timing information from the current solver and places it in the parameter list. More... | |
Epetra_RowMatrix * | Matrix () |
Returns a pointer to the linear system matrix. More... | |
int | ConvertToSerial (const bool FirstTime) |
Converts matrix to a serial Epetra_CrsMatrix. More... | |
int | ConvertToUmfpackCRS () |
int | PerformSymbolicFactorization () |
int | PerformNumericFactorization () |
const Epetra_Import & | Importer () const |
const Epetra_Map & | SerialMap () const |
const Epetra_CrsMatrix & | SerialCrsMatrix () const |
Epetra_CrsMatrix & | SerialCrsMatrix () |
Additional Inherited Members | |
Public Member Functions inherited from Amesos_BaseSolver | |
virtual | ~Amesos_BaseSolver () |
Destructor. More... | |
virtual void | setParameterList (Teuchos::RCP< Teuchos::ParameterList > const ¶mList) |
Redefined from Teuchos::ParameterListAcceptor (Does Not Work) More... | |
virtual Teuchos::RCP < Teuchos::ParameterList > | getNonconstParameterList () |
This is an empty stub. More... | |
virtual Teuchos::RCP < Teuchos::ParameterList > | unsetParameterList () |
This is an empty stub. More... | |
Public Member Functions inherited from Teuchos::ParameterListAcceptor | |
virtual RCP< const ParameterList > | getParameterList () const |
virtual RCP< const ParameterList > | getValidParameters () const |
Private Member Functions inherited from Amesos_Time | |
Amesos_Time () | |
Default constructor to create size timers. More... | |
virtual | ~Amesos_Time () |
Default destructor. More... | |
void | CreateTimer (const Epetra_Comm &Comm, int size=1) |
Initializes the Time object. More... | |
void | ResetTimer (const int timerID=0) |
Resets the internally stored time object. More... | |
int | AddTime (const std::string what, int dataID, const int timerID=0) |
Adds to field what the time elapsed since last call to ResetTimer(). More... | |
double | GetTime (const std::string what) const |
Gets the cumulative time using the string. More... | |
double | GetTime (const int dataID) const |
Gets the cumulative time using the dataID. More... | |
void | GetTiming (Teuchos::ParameterList &list) const |
Load up the current timing information into the parameter list. More... | |
Private Member Functions inherited from Amesos_NoCopiable | |
Amesos_NoCopiable () | |
Default constructor. More... | |
~Amesos_NoCopiable () | |
Default destructor. More... | |
Private Member Functions inherited from Amesos_Utils | |
Amesos_Utils () | |
Default constructor. More... | |
~Amesos_Utils () | |
Default destructor. More... | |
void | ComputeTrueResidual (const Epetra_RowMatrix &Matrix, const Epetra_MultiVector &X, const Epetra_MultiVector &B, const bool UseTranspose, const std::string prefix) const |
Computes the true residual, B - Matrix * X, and prints the results. More... | |
void | ComputeVectorNorms (const Epetra_MultiVector &X, const Epetra_MultiVector &B, const std::string prefix) const |
Computes the norms of X and B and print the results. More... | |
void | PrintLine () const |
Prints line on std::cout. More... | |
void | SetMaxProcesses (int &MaxProcesses, const Epetra_RowMatrix &A) |
Private Member Functions inherited from Amesos_Control | |
Amesos_Control () | |
Default constructor. More... | |
~Amesos_Control () | |
Default destructor. More... | |
void | SetControlParameters (const Teuchos::ParameterList &ParameterList) |
Private Member Functions inherited from Amesos_Status | |
Amesos_Status () | |
Default constructor. More... | |
~Amesos_Status () | |
Default destructor. More... | |
void | SetStatusParameters (const Teuchos::ParameterList &ParameterList) |
Class Amesos_Umfpack: An object-oriented wrapper for UMFPACK.
Amesos_Umfpack will solve a linear systems of equations: A X = B
using Epetra objects and the UMFPACK solver library, where A
is an Epetra_RowMatrix and X
and B
are Epetra_MultiVector objects.
Definition at line 76 of file Amesos_Umfpack.h.
Amesos_Umfpack::Amesos_Umfpack | ( | const Epetra_LinearProblem & | LinearProblem | ) |
Amesos_Umfpack Constructor.
Creates an Amesos_Umfpack instance, using an Epetra_LinearProblem, passing in an already-defined Epetra_LinearProblem object.
Note: The operator in LinearProblem must be an Epetra_RowMatrix.
Definition at line 50 of file Amesos_Umfpack.cpp.
Amesos_Umfpack::~Amesos_Umfpack | ( | void | ) |
Amesos_Umfpack Destructor.
Completely deletes an Amesos_Umfpack object.
Definition at line 86 of file Amesos_Umfpack.cpp.
|
virtual |
Performs SymbolicFactorization on the matrix A.
In addition to performing symbolic factorization on the matrix A, the call to SymbolicFactorization() implies that no change will be made to the non-zero structure of the underlying matrix without a subsequent call to SymbolicFactorization().
<br >Preconditions:
<br >Postconditions:
Implements Amesos_BaseSolver.
Definition at line 389 of file Amesos_Umfpack.cpp.
|
virtual |
Performs NumericFactorization on the matrix A.
In addition to performing numeric factorization on the matrix A, the call to NumericFactorization() implies that no change will be made to the underlying matrix without a subsequent call to NumericFactorization().
<br >Preconditions:
<br >Postconditions:
Implements Amesos_BaseSolver.
Definition at line 429 of file Amesos_Umfpack.cpp.
|
virtual |
<br >Preconditions:
<br >Postconditions:
Implements Amesos_BaseSolver.
Definition at line 469 of file Amesos_Umfpack.cpp.
|
inlinevirtual |
Returns the Epetra_LinearProblem.
Warning! Do not call return->SetOperator(...)
to attempt to change the Epetra_Operator
object (even if the new matrix has the same structure). This new operator matrix will be ignored!
Implements Amesos_BaseSolver.
Definition at line 113 of file Amesos_Umfpack.h.
|
virtual |
Returns true if UMFPACK can handle this matrix shape.
Returns true if the matrix shape is one that UMFPACK can handle. UMFPACK only works with square matrices.
Implements Amesos_BaseSolver.
Definition at line 378 of file Amesos_Umfpack.cpp.
|
inlinevirtual |
If set true, X will be set to the solution of AT X = B (not A X = B)
If the implementation of this interface does not support transpose use, this method should return a value of -1.
<br >Preconditions:
<br >Postconditions:
Implements Amesos_BaseSolver.
Definition at line 121 of file Amesos_Umfpack.h.
|
inlinevirtual |
Returns the current UseTranspose setting.
Implements Amesos_BaseSolver.
Definition at line 123 of file Amesos_Umfpack.h.
|
inlinevirtual |
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Implements Amesos_BaseSolver.
Definition at line 125 of file Amesos_Umfpack.h.
double Amesos_Umfpack::GetRcond | ( | ) | const |
Returns an estimate of the reciprocal of the condition number.
Definition at line 368 of file Amesos_Umfpack.cpp.
|
virtual |
Updates internal variables.
<br \>Preconditions:<ul> <li>None.</li> </ul> <br \>Postconditions:<ul> <li>Internal variables controlling the factorization and solve will be updated and take effect on all subseuent calls to NumericFactorization() and Solve().</li> <li>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.
Implements Amesos_BaseSolver.
Definition at line 236 of file Amesos_Umfpack.cpp.
|
inlinevirtual |
Returns the number of symbolic factorizations performed by this object.
Implements Amesos_BaseSolver.
Definition at line 138 of file Amesos_Umfpack.h.
|
inlinevirtual |
Returns the number of numeric factorizations performed by this object.
Implements Amesos_BaseSolver.
Definition at line 141 of file Amesos_Umfpack.h.
|
inlinevirtual |
Returns the number of solves performed by this object.
Implements Amesos_BaseSolver.
Definition at line 144 of file Amesos_Umfpack.h.
|
virtual |
Prints timing information.
Implements Amesos_BaseSolver.
Definition at line 605 of file Amesos_Umfpack.cpp.
|
virtual |
Prints information about the factorization and solution phases.
Implements Amesos_BaseSolver.
Definition at line 585 of file Amesos_Umfpack.cpp.
|
inlinevirtual |
Extracts timing information from the current solver and places it in the parameter list.
Reimplemented from Amesos_BaseSolver.
Definition at line 153 of file Amesos_Umfpack.h.
|
inlineprivate |
Returns a pointer to the linear system matrix.
Definition at line 161 of file Amesos_Umfpack.h.
|
private |
Converts matrix to a serial Epetra_CrsMatrix.
Definition at line 101 of file Amesos_Umfpack.cpp.
|
private |
Definition at line 181 of file Amesos_Umfpack.cpp.
|
private |
Definition at line 251 of file Amesos_Umfpack.cpp.
|
private |
Definition at line 286 of file Amesos_Umfpack.cpp.
|
inlineprivate |
Definition at line 207 of file Amesos_Umfpack.h.
|
inlineprivate |
Definition at line 212 of file Amesos_Umfpack.h.
|
inlineprivate |
Definition at line 217 of file Amesos_Umfpack.h.
|
inlineprivate |
Definition at line 222 of file Amesos_Umfpack.h.
|
private |
Umfpack internal opaque object.
Definition at line 230 of file Amesos_Umfpack.h.
|
private |
Umfpack internal opaque object.
Definition at line 232 of file Amesos_Umfpack.h.
|
private |
Ap, Ai, Aval form the compressed row storage used by Umfpack.
Definition at line 235 of file Amesos_Umfpack.h.
|
private |
Definition at line 236 of file Amesos_Umfpack.h.
|
private |
Definition at line 237 of file Amesos_Umfpack.h.
|
private |
1 if Problem_->GetOperator() is stored entirely on process 0
Definition at line 240 of file Amesos_Umfpack.h.
|
private |
Number of non-zero entries in Problem_->GetOperator()
Definition at line 242 of file Amesos_Umfpack.h.
|
private |
Number of rows and columns in the Problem_->GetOperator()
Definition at line 244 of file Amesos_Umfpack.h.
|
private |
Points to a Serial Map (unused if IsLocal == 1 )
Definition at line 247 of file Amesos_Umfpack.h.
|
private |
Points to a Serial Copy of A.
Definition at line 252 of file Amesos_Umfpack.h.
|
private |
Definition at line 254 of file Amesos_Umfpack.h.
|
private |
If true
, solve the problem with the transpose.
Definition at line 257 of file Amesos_Umfpack.h.
|
private |
Pointer to the linear problem to solve.
Definition at line 259 of file Amesos_Umfpack.h.
|
mutableprivate |
Reciprocal condition number estimate.
Definition at line 261 of file Amesos_Umfpack.h.
|
mutableprivate |
Definition at line 263 of file Amesos_Umfpack.h.
|
private |
Importer from distributed to serial (all rows on process 0).
Definition at line 265 of file Amesos_Umfpack.h.
|
private |
Quick access pointers to internal timer data.
Definition at line 268 of file Amesos_Umfpack.h.
|
private |
Definition at line 268 of file Amesos_Umfpack.h.
|
private |
Definition at line 268 of file Amesos_Umfpack.h.
|
private |
Definition at line 269 of file Amesos_Umfpack.h.
|
private |
Definition at line 269 of file Amesos_Umfpack.h.
|
private |
Definition at line 269 of file Amesos_Umfpack.h.
|
private |
Definition at line 269 of file Amesos_Umfpack.h.