29#ifndef AMESOS_LAPACK_H
30#define AMESOS_LAPACK_H
39#include "Epetra_Comm.h"
40#include "Epetra_Map.h"
41#include "Epetra_SerialDenseMatrix.h"
42#include "Epetra_SerialDenseVector.h"
43#include "Epetra_SerialDenseSolver.h"
44#include "Epetra_CrsMatrix.h"
45#include "Epetra_Import.h"
46#include "Epetra_Export.h"
47class Epetra_RowMatrix;
48class Epetra_LinearProblem;
49#include "Teuchos_RCP.hpp"
113 const Epetra_Comm &
Comm()
const {
120 void setParameterList(Teuchos::RCP<Teuchos::ParameterList>
const& paramList) ;
139 int GEEV(Epetra_Vector& Er, Epetra_Vector& Ei);
170#ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
223 Teuchos::RCP<Teuchos::ParameterList>
pl_ ;
227 const Epetra_MultiVector& B);
231 const Epetra_MultiVector& B);
Amesos_BaseSolver: A pure virtual class for direct solution of real-valued double-precision operators...
Amesos_Control: Container for some control variables.
Amesos_Lapack: an interface to LAPACK.
int SetUseTranspose(bool UseTranspose_in)
If set true, X will be set to the solution of AT X = B (not A X = B)
Epetra_CrsMatrix & SerialCrsMatrix()
int NumSolve() const
Returns the number of solves performed by this object.
~Amesos_Lapack(void)
Amesos_Lapack Destructor.
Epetra_RowMatrix & SerialMatrix()
Returns a reference to serial matrix (that with all rows on process 0).
Teuchos::RCP< Teuchos::ParameterList > pl_
int DenseToFactored()
Factors the matrix using LAPACK.
Teuchos::RCP< Epetra_Map > SerialMap_
long long NumGlobalNonzeros_
int Solve()
Solves A X = B (or AT x = B)
const Epetra_Import & MatrixImporter()
Returns a reference to the matrix importer (from row map to serial map).
const Epetra_LinearProblem * GetProblem() const
Returns the Epetra_LinearProblem.
long long NumGlobalRows64() const
bool UseTranspose() const
Returns the current UseTranspose setting.
Teuchos::RCP< Epetra_Import > SolutionImporter_
Epetra_SerialDenseMatrix DenseMatrix_
Dense matrix.
int SolveSerial(Epetra_MultiVector &X, const Epetra_MultiVector &B)
Solves the linear system, when only one process is used.
const Epetra_Export & RhsExporter()
Returns a reference to the rhs exporter (from range map to serial map).
int DistributedToSerial()
Converts a distributed matrix to serial matrix.
Epetra_SerialDenseMatrix DenseLHS_
Dense LHS.
int NumGlobalRows() const
Returns the number of global rows, or -1 if Matrix() returns 0.
Teuchos::RCP< Teuchos::ParameterList > ParameterList_
const Epetra_Map & SerialMap()
Returns a reference to serial map (that with all elements on process 0).
Teuchos::RCP< Epetra_Export > RhsExporter_
void PrintTiming() const
Print timing information.
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
Epetra_SerialDenseSolver DenseSolver_
Linear problem for dense matrix and vectors.
Epetra_SerialDenseMatrix DenseRHS_
Dense RHS.
bool MatrixShapeOK() const
Returns true if the solver can handle this matrix shape.
bool UseTranspose_
If true, the linear system with the transpose will be solved.
Teuchos::RCP< Epetra_CrsMatrix > SerialCrsMatrix_
int GEEV(Epetra_Vector &Er, Epetra_Vector &Ei)
Computes the eigenvalues of the linear system matrix using DGEEV.
Teuchos::RCP< Epetra_RowMatrix > SerialMatrix_
Teuchos::RCP< Teuchos::ParameterList > unsetParameterList()
This is an empty stub.
int NumericFactorization()
Performs NumericFactorization on the matrix A.
const Epetra_RowMatrix * Matrix() const
Returns a pointer to the linear system matrix.
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this operator.
const Epetra_LinearProblem * Problem_
Pointer to the linear problem.
const Epetra_Import & SolutionImporter()
Returns a reference to the solution importer (to domain map from serial map).
int MtxRedistTime_
Quick access ids for the individual timings.
int SetParameters(Teuchos::ParameterList &ParameterList)
Deprecated - Sets parameters.
void setParameterList(Teuchos::RCP< Teuchos::ParameterList > const ¶mList)
Use this parameter list to read values from
int SerialToDense()
Converts a serial matrix to dense format.
Teuchos::RCP< Epetra_Import > MatrixImporter_
Amesos_Lapack(const Epetra_LinearProblem &LinearProblem)
Amesos_Lapack Constructor.
int NumMyRows() const
Returns the number of local rows, or -1 if Matrix() returns 0.
void PrintStatus() const
Print information about the factorization and solution phases.
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
int SolveDistributed(Epetra_MultiVector &X, const Epetra_MultiVector &B)
Solves the linear system, when more than one process is used.
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_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.