39 #ifndef AMESOS_TAUCS_H
40 #define AMESOS_TAUCS_H
49 #include "Epetra_LinearProblem.h"
50 #include "Epetra_Map.h"
51 #include "Epetra_Import.h"
52 #include "Epetra_Comm.h"
53 #include "Epetra_RowMatrix.h"
54 #include "Epetra_CrsMatrix.h"
55 #include "Teuchos_ParameterList.hpp"
56 #include "Teuchos_RCP.hpp"
69 #ifndef DOXYGEN_SHOULD_SKIP_THIS
85 Amesos_Taucs(
const Epetra_LinearProblem& LinearProblem );
144 inline const Epetra_Map&
Map()
const
146 return(
Matrix_->RowMatrixRowMap());
150 inline const Epetra_RowMatrix&
Matrix()
const
Amesos_BaseSolver: A pure virtual class for direct solution of real-valued double-precision operators...
Amesos_Control: Container for some control variables.
Amesos_NoCopiable: Simple class to prevent the usage of copy constructor and operator =.
Amesos_Status: Container for some status variables.
int NumSymbolicFact_
Number of symbolic factorization phases.
int NumSolve_
Number of solves.
int NumNumericFact_
Number of numeric factorization phases.
Amesos_Taucs: An interface to the TAUCS package.
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
Epetra_Map & SerialMap()
Returns a reference to the already allocated SerialMap.
Epetra_CrsMatrix & SerialCrsMatrix()
Returns a reference to the already SerialMatrix as Crs (if allocated).
int ConvertToTaucs()
Converts the Epetra_RowMatrix into TAUCS format.
int NumericFactorization()
Performs NumericFactorization on the matrix A.
int SetUseTranspose(bool UseTranspose)
Amesos_Taucs supports only symmetric matrices, hence transpose is irrelevant, but harmless.
int ConvertToSerial()
Constructs a matrix with all rows on processor 0.
Teuchos::RCP< Amesos_Taucs_Pimpl > PrivateTaucsData_
Amesos_Taucs(const Epetra_LinearProblem &LinearProblem)
Default constructor.
bool MatrixShapeOK() const
Returns true if the solver can handle this matrix shape.
Teuchos::RCP< Epetra_Import > Importer_
const Epetra_RowMatrix & Matrix() const
Returns a reference to the linear system matrix.
Epetra_Import & Importer()
Returns a reference to the already allocated Importer.
Teuchos::RCP< Epetra_RowMatrix > SerialMatrix_
int MtxConvTime_
Quick accessor pointer to internal timing data.
const Epetra_Map & Map() const
Returns a reference to the RowMatrixRowMap().
int PerformSymbolicFactorization()
Performs the symbolic factorization.
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.
Epetra_RowMatrix & SerialMatrix()
Returns a reference to the SerialMatrix.
int PerformNumericFactorization()
Performs the numeric factorization.
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
int SetParameters(Teuchos::ParameterList &ParameterList)
Updates internal variables.
int NumSolve() const
Returns the number of solves performed by this object.
Teuchos::RCP< Epetra_CrsMatrix > SerialCrsMatrix_
const Epetra_RowMatrix * Matrix_
bool UseTranspose_
If true, the transpose of A is used.
Teuchos::RCP< Epetra_Map > SerialMap_
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
void PrintTiming() const
Prints timing information.
const Epetra_LinearProblem * Problem_
Pointer to the linear system problem.
bool UseTranspose() const
Returns the current UseTranspose setting.
void PrintStatus() const
Prints status information.
~Amesos_Taucs(void)
Default destructor.
int Solve()
Solves A X = B (or AT x = B)
Amesos_Time: Container for timing information.
void GetTiming(Teuchos::ParameterList &list) const
Load up the current timing information into the parameter list.
Amesos_Utils: Collections of basic utilities.