Amesos Package Browser (Single Doxygen Collection) Development
Loading...
Searching...
No Matches
Epetra_SLU.h
Go to the documentation of this file.
1// @HEADER
2// ***********************************************************************
3//
4// Amesos: Direct Sparse Solver Package
5// Copyright (2004) Sandia Corporation
6//
7// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8// license for use of this work by or on behalf of the U.S. Government.
9//
10// This library is free software; you can redistribute it and/or modify
11// it under the terms of the GNU Lesser General Public License as
12// published by the Free Software Foundation; either version 2.1 of the
13// License, or (at your option) any later version.
14//
15// This library is distributed in the hope that it will be useful, but
16// WITHOUT ANY WARRANTY; without even the implied warranty of
17// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18// Lesser General Public License for more details.
19//
20// You should have received a copy of the GNU Lesser General Public
21// License along with this library; if not, write to the Free Software
22// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
23// USA
24// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
25//
26// ***********************************************************************
27// @HEADER
28
29#ifndef _EPETRA_SLU_H_
30#define _EPETRA_SLU_H_
31
32class Epetra_LinearProblem;
33class Epetra_CrsMatrix;
34class Epetra_MultiVector;
35class Epetra_CrsGraph;
36
37class SLUData;
38
40
52{
53
54 public:
55
56
58
62 Epetra_SLU( Epetra_LinearProblem * Problem,
63 int fill_fac = -1,
64 int panel_size = -1,
65 int relax = -1 );
66
68
72
73
75
79 int Solve( bool Verbose = false,
80 bool Equil = true,
81 bool Factor = true,
82 int perm_type = 2,
83 double pivot_thresh = -1,
84 bool Refact = true,
85 bool Trans = false );
87
88 private:
89
90 void Copy();
91
92 Epetra_CrsMatrix * A_;
93 Epetra_MultiVector * X_;
94 Epetra_MultiVector * B_;
95
96 double * R_;
97 double * C_;
98
99 Epetra_CrsGraph * AG_;
100
102
103 int * Indices_;
104 double * Values_;
105
108
110 double ** TransValues_;
111
113 double * RowValues_;
115
116 int * perm_r_;
117 int * perm_c_;
118
120
121 int * etree_;
122
123 double * ferr_;
124 double * berr_;
125};
126
127#endif
Epetra_SLU: An object-oriented wrapper for Xiaoye Li's serial sparse solver package: Superlu.
Definition: Epetra_SLU.h:52
int * ColPointers_
Definition: Epetra_SLU.h:114
int * TransNumNZ_
Definition: Epetra_SLU.h:106
double * RowValues_
Definition: Epetra_SLU.h:113
Epetra_MultiVector * B_
Definition: Epetra_SLU.h:94
double * Values_
Definition: Epetra_SLU.h:104
double * berr_
Definition: Epetra_SLU.h:124
Epetra_CrsGraph * AG_
Definition: Epetra_SLU.h:99
int TotNumNZ_
Definition: Epetra_SLU.h:107
int * perm_r_
Definition: Epetra_SLU.h:116
int * etree_
Definition: Epetra_SLU.h:121
void Copy()
Definition: Epetra_SLU.cpp:175
double * R_
Definition: Epetra_SLU.h:96
int * RowIndices_
Definition: Epetra_SLU.h:112
int * Indices_
Definition: Epetra_SLU.h:103
Epetra_CrsMatrix * A_
Definition: Epetra_SLU.h:92
double * C_
Definition: Epetra_SLU.h:97
double * ferr_
Definition: Epetra_SLU.h:123
Epetra_MultiVector * X_
Definition: Epetra_SLU.h:93
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()
Definition: Epetra_SLU.cpp:202
SLUData * data_
Definition: Epetra_SLU.h:101
~Epetra_SLU()
Epetra_SLU Destructor.
Definition: Epetra_SLU.cpp:140
double ** TransValues_
Definition: Epetra_SLU.h:110
int ** TransIndices_
Definition: Epetra_SLU.h:109
int * perm_c_
Definition: Epetra_SLU.h:117