|
Amesos Package Browser (Single Doxygen Collection)
Development
|
Go to the documentation of this file.
39 #ifndef AMESOS_PARAKLETE_H
40 #define AMESOS_PARAKLETE_H
59 #ifdef HAVE_AMESOS_EPETRAEXT
60 #include "EpetraExt_Transpose_RowMatrix.h"
89 #ifndef DOXYGEN_SHOULD_SKIP_THIS
256 std::vector <long>
Ap;
257 std::vector <long>
Ai;
277 #ifdef HAVE_AMESOS_EPETRAEXT
int CreateLocalMatrixAndExporters()
const Epetra_LinearProblem * GetProblem() const
Get a pointer to the Problem.
std::vector< double > RowValuesV_
Only used for RowMatrices to extract copies.
int NumSolve_
Number of solves.
Teuchos::RCP< Amesos_StandardIndex > StdIndexDomain_
int numentries_
Number of non-zero entries in Problem_->GetOperator()
void PrintTiming() const
Prints timing information.
Amesos_NoCopiable: Simple class to prevent the usage of copy constructor and operator =.
int NumSolve() const
Returns the number of solves performed by this object.
Epetra_RowMatrix * StdIndexMatrix_
Points to a Contiguous Copy of A.
bool MatrixShapeOK() const
Returns true if PARAKLETE can handle this matrix shape.
Amesos_BaseSolver: A pure virtual class for direct solution of real-valued double-precision operators...
int PerformNumericFactorization()
int ConvertToParakleteCRS(bool firsttime)
int NumSymbolicFact_
Number of symbolic factorization phases.
Amesos_Paraklete(const Epetra_LinearProblem &LinearProblem)
Amesos_Paraklete Constructor.
Teuchos::RCP< Amesos_Paraklete_Pimpl > PrivateParakleteData_
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
bool UseTranspose() const
Returns the current UseTranspose setting.
int PerformSymbolicFactorization()
void PrintStatus() const
Prints information about the factorization and solution phases.
int Solve()
Solves A X = B (or AT x = B)
int NumericFactorization()
Performs NumericFactorization on the matrix A.
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
std::vector< int > ColIndicesV_
Only used for RowMatrices to extract copies.
const Epetra_LinearProblem * Problem_
Pointer to the linear system problem.
Epetra_MultiVector * SerialB_
Serial versions of the LHS and RHS (may point to the original vector if serial)
int NumNumericFact_
Number of numeric factorization phases.
std::vector< double > VecAval
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
Epetra_RowMatrix * SerialMatrix_
Points to a Serial Copy of A.
Amesos_Utils: Collections of basic utilities.
bool UseTranspose_
If true, the transpose of A is used.
Epetra_RowMatrix * RowMatrixA_
Operator converted to a RowMatrix.
Teuchos::RCP< Epetra_MultiVector > SerialBextract_
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
int MtxConvTime_
Quick access pointers to internal timing information.
std::vector< long > Ap
Ap, Ai, Aval form the compressed row storage used by Paraklete Ai and Aval can point directly into a ...
Epetra_MultiVector * StdIndexRangeVector_
Teuchos::RCP< Epetra_Import > ImportDomainToSerial_
Amesos_Control: Container for some control variables.
int SetParameters(Teuchos::ParameterList &ParameterList)
Updates internal variables.
Teuchos::RCP< Amesos_StandardIndex > StdIndexRange_
Epetra_CrsMatrix * CrsMatrixA_
Operator converted to a CrsMatrix.
Teuchos::RCP< Epetra_CrsMatrix > SerialCrsMatrixA_
Points to a Serial Copy of A (unused if UseDataInPlace_==1)
int NumVectors_
Number of vectors in RHS and LHS.
Teuchos::RCP< Epetra_MultiVector > SerialXextract_
Serial versions of the LHS and RHS (if necessary)
void GetTiming(Teuchos::ParameterList &list) const
Load up the current timing information into the parameter list.
Teuchos::RCP< Amesos_StandardIndex > StdIndex_
Teuchos::RCP< Epetra_Import > ImportToSerial_
Importer to process 0.
Epetra_MultiVector * SerialX_
double * SerialXBvalues_
Pointer to the actual values in the serial version of X and B.
Amesos_Paraklete: A serial, unblocked code ideal for getting started and for very sparse matrices,...
~Amesos_Paraklete(void)
Amesos_Paraklete Destructor.
int SetUseTranspose(bool UseTranspose_in)
SetUseTranpose()
Amesos_Time: Container for timing information.
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
int NumGlobalElements_
Number of rows and columns in the Problem_->GetOperator()
int UseDataInPlace_
1 if Problem_->GetOperator() is stored entirely on process 0
bool TrustMe_
If true, no checks are made and the matrix is assume to be distributed.
Teuchos::RCP< Epetra_Import > ImportRangeToSerial_
Epetra_MultiVector * StdIndexDomainVector_
Teuchos::RCP< Epetra_Map > SerialMap_
Points to a Serial Map (unused if UseDataInPlace_ == 1 )
Amesos_Status: Container for some status variables.