Amesos Package Browser (Single Doxygen Collection)
Development
src
Amesos_MC64.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
41
#ifndef AMESOS_MC64_H
42
#define AMESOS_MC64_H
43
44
#include "
Amesos_ConfigDefs.h
"
45
#if defined(HAVE_AMESOS_MC64)
46
#include "
Amesos_Scaling.h
"
47
#include "
Amesos_Reordering.h
"
48
49
class
Epetra_RowMatrix
;
50
52
61
class
Amesos_MC64
:
public
Amesos_Scaling
,
public
Amesos_Reordering
62
{
63
public
:
65
Amesos_MC64
(
const
Epetra_RowMatrix
&
A
,
int
JOB,
66
const
bool
StoreTranspose =
false
,
67
const
bool
analyze =
false
);
68
70
~
Amesos_MC64
() {}
71
73
int
GetINFO(
const
int
pos)
const
74
{
75
if
(pos <= 0 || pos > 10)
76
throw
(-1);
77
78
return
(INFO_[pos - 1]);
79
}
80
82
int
* GetRowPerm()
83
{
84
return
(0);
85
}
86
88
int
* GetColPerm()
89
{
90
return
((
int
*)&CPERM_[0]);
91
}
92
94
double
* GetRowScaling()
95
{
96
return
((
double
*)&DW_[0]);
97
}
98
100
double
* GetColScaling();
101
103
int
* GetCPERM()
104
{
105
return
((
int
*)&CPERM_[0]);
106
}
107
109
double
* GetDW()
110
{
111
return
((
double
*)&DW_[0]);
112
}
113
114
private
:
115
//
117
int
Compute(
int
JOB,
const
bool
StoreTranspose,
const
bool
analyze);
118
119
const
Epetra_RowMatrix
& A_;
120
int
ICNTL_[10];
121
int
INFO_[10];
122
std::vector<int> CPERM_;
123
std::vector<double> DW_;
124
};
125
126
#endif
127
#endif
Amesos_Scaling.h
Amesos_Reordering
Amesos_Reordering: base class for reordering procedures.
Definition:
Amesos_Reordering.h:44
Amesos_MC64
Interface to MC64, reordering and scaling algorithm.
Amesos_Scaling
Amesos_Scaling: base class for scaling procedures.
Definition:
Amesos_Scaling.h:44
Epetra_RowMatrix
Amesos_ConfigDefs.h
Amesos_Reordering.h
A
Generated by
1.8.16