Amesos Package Browser (Single Doxygen Collection)
Development
|
Amesos_Dscpack: An object-oriented wrapper for Dscpack. More...
#include <Amesos_Dscpack.h>
Private Member Functions | |
const Epetra_Import & | Importer () const |
const Epetra_Map & | DscRowMap () const |
const Epetra_Map & | DscColMap () const |
int | PerformSymbolicFactorization () |
Performs the symbolic factorization. More... | |
int | PerformNumericFactorization () |
Performs the numeric factorization. More... | |
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) |
Private Attributes | |
const Epetra_LinearProblem * | Problem_ |
Pointer to the linear problem. More... | |
Teuchos::RCP < Amesos_Dscpack_Pimpl > | PrivateDscpackData_ |
bool | FirstCallToSolve_ |
bool | A_and_LU_built |
Tells us whether to free them. More... | |
int * | GlobalStructNewColNum |
int * | GlobalStructNewNum |
int * | GlobalStructOwner |
int * | LocalStructOldNum |
int | MyDscRank |
int | DscNumProcs |
int | NumLocalCols |
int | NumGlobalCols |
int | NumLocalStructs |
int | NumLocalNonz |
RCP< Epetra_Import > | Importer_ |
RCP< Epetra_Map > | DscColMap_ |
RCP< Epetra_Map > | DscRowMap_ |
int | MaxProcs_ |
int | MtxRedistTime_ |
int | MtxConvTime_ |
int | VecRedistTime_ |
int | SymFactTime_ |
int | NumFactTime_ |
int | SolveTime_ |
int | OverheadTime_ |
int | TotalMemory_ |
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_Dscpack (const Epetra_LinearProblem &LinearProblem) | |
Amesos_Dscpack Constructor. More... | |
~Amesos_Dscpack (void) | |
Amesos_Dscpack 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 DSCPACK can handle this matrix shape. More... | |
int | SetUseTranspose (bool UseTranspose) |
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... | |
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... | |
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 |
Amesos_Dscpack: An object-oriented wrapper for Dscpack.
Amesos_Dscpack will solve a linear systems of equations: A X = B
using Epetra objects and the Dscpack solver library, where A
is an Epetra_RowMatrix and X
and B
are Epetra_MultiVector objects.
Definition at line 60 of file Amesos_Dscpack.h.
Amesos_Dscpack::Amesos_Dscpack | ( | const Epetra_LinearProblem & | LinearProblem | ) |
Amesos_Dscpack Constructor.
Creates an Amesos_Dscpack 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 48 of file Amesos_Dscpack.cpp.
Amesos_Dscpack::~Amesos_Dscpack | ( | void | ) |
Amesos_Dscpack Destructor.
Completely deletes an Amesos_Dscpack object.
Definition at line 69 of file Amesos_Dscpack.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 429 of file Amesos_Dscpack.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 445 of file Amesos_Dscpack.cpp.
|
virtual |
<br >Preconditions:
<br >Postconditions:
Implements Amesos_BaseSolver.
Definition at line 461 of file Amesos_Dscpack.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 97 of file Amesos_Dscpack.h.
|
virtual |
Returns true if DSCPACK can handle this matrix shape.
Returns true if the matrix shape is one that DSCPACK can handle. DSCPACK only works with symetric matrices.
Implements Amesos_BaseSolver.
Definition at line 415 of file Amesos_Dscpack.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 105 of file Amesos_Dscpack.h.
|
inlinevirtual |
Returns the current UseTranspose setting.
Implements Amesos_BaseSolver.
Definition at line 110 of file Amesos_Dscpack.h.
|
inlinevirtual |
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Implements Amesos_BaseSolver.
Definition at line 115 of file Amesos_Dscpack.h.
|
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 83 of file Amesos_Dscpack.cpp.
|
inlinevirtual |
Returns the number of symbolic factorizations performed by this object.
Implements Amesos_BaseSolver.
Definition at line 120 of file Amesos_Dscpack.h.
|
inlinevirtual |
Returns the number of numeric factorizations performed by this object.
Implements Amesos_BaseSolver.
Definition at line 123 of file Amesos_Dscpack.h.
|
inlinevirtual |
Returns the number of solves performed by this object.
Implements Amesos_BaseSolver.
Definition at line 126 of file Amesos_Dscpack.h.
|
virtual |
Prints timing information.
Implements Amesos_BaseSolver.
Definition at line 583 of file Amesos_Dscpack.cpp.
|
virtual |
Prints information about the factorization and solution phases.
Implements Amesos_BaseSolver.
Definition at line 550 of file Amesos_Dscpack.cpp.
|
inlinevirtual |
Extracts timing information from the current solver and places it in the parameter list.
Reimplemented from Amesos_BaseSolver.
Definition at line 135 of file Amesos_Dscpack.h.
|
inlineprivate |
Definition at line 141 of file Amesos_Dscpack.h.
|
inlineprivate |
Definition at line 146 of file Amesos_Dscpack.h.
|
inlineprivate |
Definition at line 151 of file Amesos_Dscpack.h.
|
private |
Performs the symbolic factorization.
Definition at line 108 of file Amesos_Dscpack.cpp.
|
private |
Performs the numeric factorization.
Definition at line 294 of file Amesos_Dscpack.cpp.
|
private |
Pointer to the linear problem.
Definition at line 163 of file Amesos_Dscpack.h.
|
private |
Definition at line 165 of file Amesos_Dscpack.h.
|
private |
Definition at line 167 of file Amesos_Dscpack.h.
|
private |
Tells us whether to free them.
Definition at line 169 of file Amesos_Dscpack.h.
|
private |
Definition at line 170 of file Amesos_Dscpack.h.
|
private |
Definition at line 171 of file Amesos_Dscpack.h.
|
private |
Definition at line 172 of file Amesos_Dscpack.h.
|
private |
Definition at line 173 of file Amesos_Dscpack.h.
|
private |
Definition at line 175 of file Amesos_Dscpack.h.
|
private |
Definition at line 176 of file Amesos_Dscpack.h.
|
private |
Definition at line 177 of file Amesos_Dscpack.h.
|
private |
Definition at line 178 of file Amesos_Dscpack.h.
|
private |
Definition at line 179 of file Amesos_Dscpack.h.
|
private |
Definition at line 180 of file Amesos_Dscpack.h.
|
private |
Definition at line 182 of file Amesos_Dscpack.h.
|
private |
Definition at line 183 of file Amesos_Dscpack.h.
|
private |
Definition at line 184 of file Amesos_Dscpack.h.
|
private |
Definition at line 186 of file Amesos_Dscpack.h.
|
private |
Definition at line 188 of file Amesos_Dscpack.h.
|
private |
Definition at line 188 of file Amesos_Dscpack.h.
|
private |
Definition at line 188 of file Amesos_Dscpack.h.
|
private |
Definition at line 189 of file Amesos_Dscpack.h.
|
private |
Definition at line 189 of file Amesos_Dscpack.h.
|
private |
Definition at line 189 of file Amesos_Dscpack.h.
|
private |
Definition at line 189 of file Amesos_Dscpack.h.
|
private |
Definition at line 192 of file Amesos_Dscpack.h.