42#ifndef _AMESOS_SCALAPACK_H_
43#define _AMESOS_SCALAPACK_H_
52#include "Epetra_LinearProblem.h"
53#include "Epetra_Time.h"
55#include "Epetra_MpiComm.h"
57#include "Epetra_Comm.h"
59#include "Epetra_CrsGraph.h"
242 char * Label()
const {
return(Epetra_Object::Label());};
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_Scalapack: A serial and parallel dense solver. For now, we implement only the unsymmetric ScaL...
bool MatrixShapeOK() const
Returns true if SCALAPACK can handle this matrix shape.
int NumSolve() const
Returns the number of solves performed by this object.
void PrintTiming() const
Print timing information.
~Amesos_Scalapack(void)
Amesos_Scalapack Destructor.
int SetUseTranspose(bool UseTranspose)
SetUseTranpose(true) is more efficient in Amesos_Scalapack.
int Solve()
Solves A X = B (or AT X = B)
int PerformNumericFactorization()
Epetra_Map * ScaLAPACK1DMap_
int NumNumericFact() const
Returns the number of numeric factorizations performed by this object.
void GetTiming(Teuchos::ParameterList &TimingParameterList) const
Extracts timing information from the current solver and places it in the parameter list.
const Epetra_Comm & Comm() const
Returns a pointer to the Epetra_Comm communicator associated with this matrix.
Epetra_CrsMatrix * FatOut_
std::vector< double > DenseA_
int NumSymbolicFact() const
Returns the number of symbolic factorizations performed by this object.
int NumericFactorization()
Performs NumericFactorization on the matrix A.
const Epetra_LinearProblem * Problem_
bool UseTranspose() const
Returns the current UseTranspose setting.
const Epetra_LinearProblem * GetProblem() const
Get a pointer to the Problem.
int SetParameters(Teuchos::ParameterList &ParameterList)
Updates internal variables.
int SymbolicFactorization()
Performs SymbolicFactorization on the matrix A.
Epetra_CrsMatrix * ScaLAPACK1DMatrix_
void PrintStatus() const
Print information about the factorization and solution phases.
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.