Amesos Package Browser (Single Doxygen Collection)  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Member Functions | Private Attributes | List of all members
Epetra_SLU Class Reference

Epetra_SLU: An object-oriented wrapper for Xiaoye Li's serial sparse solver package: Superlu. More...

#include <Epetra_SLU.h>

Private Member Functions

void Copy ()
 

Private Attributes

Epetra_CrsMatrixA_
 
Epetra_MultiVectorX_
 
Epetra_MultiVectorB_
 
double * R_
 
double * C_
 
Epetra_CrsGraphAG_
 
SLUDatadata_
 
int * Indices_
 
double * Values_
 
int * TransNumNZ_
 
int TotNumNZ_
 
int ** TransIndices_
 
double ** TransValues_
 
int * RowIndices_
 
double * RowValues_
 
int * ColPointers_
 
int * perm_r_
 
int * perm_c_
 
int count_
 
int * etree_
 
double * ferr_
 
double * berr_
 
 Epetra_SLU (Epetra_LinearProblem *Problem, int fill_fac=-1, int panel_size=-1, int relax=-1)
 Epetra_SLU Constructor. More...
 
 ~Epetra_SLU ()
 Epetra_SLU Destructor. More...
 
int Solve (bool Verbose=false, bool Equil=true, bool Factor=true, int perm_type=2, double pivot_thresh=-1, bool Refact=true, bool Trans=false)
 All computation is performed during the call to Solve() More...
 

Detailed Description

Epetra_SLU: An object-oriented wrapper for Xiaoye Li's serial sparse solver package: Superlu.

Epetra_SLU will solve a linear systems of equations: $ AX=B $, using Epetra objects and the Superludist solver library, where $A$ is an Epetra_RowMatrix and $X$ and $B$ are Epetra_MultiVector objects.

SuperLU execution can be tuned through a variety of parameters. Three parameters can be controlled within the call to the constructor: fill_fac, panel_size and relax. Seven parameters can be controlled within the call to Solve(): Verbose, Equil, Factor, perm_type, pivot_thresh, Refact, Trans

Definition at line 51 of file Epetra_SLU.h.

Constructor & Destructor Documentation

Epetra_SLU::Epetra_SLU ( Epetra_LinearProblem Problem,
int  fill_fac = -1,
int  panel_size = -1,
int  relax = -1 
)

Epetra_SLU Constructor.

Creates an Epetra_SLU instance, using an Epetra_LinearProblem, passing in an already-defined Epetra_LinearProblem object.

Definition at line 53 of file Epetra_SLU.cpp.

Epetra_SLU::~Epetra_SLU ( )

Epetra_SLU Destructor.

Completely deletes a Epetra_SLU object.

Definition at line 140 of file Epetra_SLU.cpp.

Member Function Documentation

int Epetra_SLU::Solve ( bool  Verbose = false,
bool  Equil = true,
bool  Factor = true,
int  perm_type = 2,
double  pivot_thresh = -1,
bool  Refact = true,
bool  Trans = false 
)

All computation is performed during the call to Solve()

Factor controls whether or not the matrix should be factored prior to the solve. Default is true.

Definition at line 202 of file Epetra_SLU.cpp.

void Epetra_SLU::Copy ( )
private

Definition at line 175 of file Epetra_SLU.cpp.

Member Data Documentation

Epetra_CrsMatrix* Epetra_SLU::A_
private

Definition at line 92 of file Epetra_SLU.h.

Epetra_MultiVector* Epetra_SLU::X_
private

Definition at line 93 of file Epetra_SLU.h.

Epetra_MultiVector* Epetra_SLU::B_
private

Definition at line 94 of file Epetra_SLU.h.

double* Epetra_SLU::R_
private

Definition at line 96 of file Epetra_SLU.h.

double* Epetra_SLU::C_
private

Definition at line 97 of file Epetra_SLU.h.

Epetra_CrsGraph* Epetra_SLU::AG_
private

Definition at line 99 of file Epetra_SLU.h.

SLUData* Epetra_SLU::data_
private

Definition at line 101 of file Epetra_SLU.h.

int* Epetra_SLU::Indices_
private

Definition at line 103 of file Epetra_SLU.h.

double* Epetra_SLU::Values_
private

Definition at line 104 of file Epetra_SLU.h.

int* Epetra_SLU::TransNumNZ_
private

Definition at line 106 of file Epetra_SLU.h.

int Epetra_SLU::TotNumNZ_
private

Definition at line 107 of file Epetra_SLU.h.

int** Epetra_SLU::TransIndices_
private

Definition at line 109 of file Epetra_SLU.h.

double** Epetra_SLU::TransValues_
private

Definition at line 110 of file Epetra_SLU.h.

int* Epetra_SLU::RowIndices_
private

Definition at line 112 of file Epetra_SLU.h.

double* Epetra_SLU::RowValues_
private

Definition at line 113 of file Epetra_SLU.h.

int* Epetra_SLU::ColPointers_
private

Definition at line 114 of file Epetra_SLU.h.

int* Epetra_SLU::perm_r_
private

Definition at line 116 of file Epetra_SLU.h.

int* Epetra_SLU::perm_c_
private

Definition at line 117 of file Epetra_SLU.h.

int Epetra_SLU::count_
private

Definition at line 119 of file Epetra_SLU.h.

int* Epetra_SLU::etree_
private

Definition at line 121 of file Epetra_SLU.h.

double* Epetra_SLU::ferr_
private

Definition at line 123 of file Epetra_SLU.h.

double* Epetra_SLU::berr_
private

Definition at line 124 of file Epetra_SLU.h.


The documentation for this class was generated from the following files: