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.
int ConvertToTaucs()
Converts the Epetra_RowMatrix into TAUCS format.
const Epetra_RowMatrix & Matrix() const
Returns a reference to the linear system matrix.
int NumericFactorization()
Performs NumericFactorization on the matrix A.
int SetUseTranspose(bool UseTranspose)
Amesos_Taucs supports only symmetric matrices, hence transpose is irrelevant, but harmless.
Epetra_CrsMatrix & SerialCrsMatrix()
Returns a reference to the already SerialMatrix as Crs (if allocated).
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.
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
Epetra_Import & Importer()
Returns a reference to the already allocated Importer.
Teuchos::RCP< Epetra_Import > Importer_
Epetra_Map & SerialMap()
Returns a reference to the already allocated SerialMap.
Teuchos::RCP< Epetra_RowMatrix > SerialMatrix_
int MtxConvTime_
Quick accessor pointer to internal timing data.
Epetra_RowMatrix & SerialMatrix()
Returns a reference to the SerialMatrix.
int PerformSymbolicFactorization()
Performs the symbolic factorization.
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.
const Epetra_LinearProblem * GetProblem() const
Returns the Epetra_LinearProblem.
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)
const Epetra_Map & Map() const
Returns a reference to the RowMatrixRowMap().
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.