Numerical C++ Library Concepts
TWiki Guest (guest)
Logout
Numerical C++ Library Concepts
IT Services
ISG Blog
IntraMATH
Contact
Login
Keyword or person
News
About us
People
People
Publications
Gallery
Applications
Installation
How to get started
Tutorials
Class documentation
ETH Zurich
D-MATH
wiki@math
Concepts
fill.hh
Go to the documentation of this file.
1
/*----------------------------------------------------------------------------
2
Sparse QR solver for linear systems of equations or least squares problems
3
Copyright (C) 1996, Thomas H. Robey
4
5
This library is free software; you can redistribute it and/or
6
modify it under the terms of the GNU Library General Public
7
License as published by the Free Software Foundation; either
8
version 2 of the License, or (at your option) any later version.
9
10
This library is distributed in the hope that it will be useful,
11
but WITHOUT ANY WARRANTY; without even the implied warranty of
12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
Library General Public License for more details.
14
15
You should have received a copy of the GNU Library General Public
16
License along with this library; if not, write to the Free
17
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18
19
Inquiries can be directed to trobey@arc.unm.edu or
20
21
Thomas H. Robey
22
925 Madison NE
23
Albuquerque, NM 87110
24
USA
25
----------------------------------------------------------------------------*/
26
27
#ifndef fill_hh
28
#define fill_hh
29
30
#include <cstddef>
31
32
namespace
sparseqr
{
33
38
class
Fill
{
39
public
:
40
int
CalcFill
(
Smatrix
*,
Smatrix
*);
41
Fill
(
Smatrix
*,
int
);
42
~Fill
();
43
void
IndexSort
(
QR
*,
int
*,
int
);
44
void
Init
(
QR
*,
int
);
45
void
Merge
(
QR
*qr);
46
void
PivotFill
(
QR
*qr) {
47
for
(
int
i=0;i<
nlist2
;i++)
48
pairfill
[
sortindex2
[i]]=
CalcFill
(qr->
srow
[
row1
[
sortindex2
[i]]],
49
qr->
srow
[
row2
[
sortindex2
[i]]]);
50
};
51
void
Update
(
int
,
int
);
52
int
friend
QR::sparseqr
();
53
private
:
54
int
nlist1
,
nlist2
;
55
int
*
sortindex1
,*
sortindex2
,*
row1
,*
row2
,*
pairfill
,*
rindex
;
56
};
57
58
}
59
60
#endif // fill_hh
sparseqr::Fill::nlist1
int nlist1
Definition:
fill.hh:54
sparseqr::Fill::~Fill
~Fill()
sparseqr::Fill::rindex
int * rindex
Definition:
fill.hh:55
sparseqr::Fill::PivotFill
void PivotFill(QR *qr)
Definition:
fill.hh:46
sparseqr::Fill
Definition:
fill.hh:38
sparseqr::Fill::pairfill
int * pairfill
Definition:
fill.hh:55
sparseqr::QR
QR factorization.
Definition:
sparseqr.hh:128
sparseqr::Fill::sortindex2
int * sortindex2
Definition:
fill.hh:55
sparseqr::Fill::IndexSort
void IndexSort(QR *, int *, int)
sparseqr::Fill::row2
int * row2
Definition:
fill.hh:55
sparseqr
SparseQR solver.
Definition:
driver.hh:19
sparseqr::Fill::Init
void Init(QR *, int)
sparseqr::Fill::row1
int * row1
Definition:
fill.hh:55
sparseqr::Fill::Update
void Update(int, int)
sparseqr::Fill::Fill
Fill(Smatrix *, int)
sparseqr::QR::sparseqr
int sparseqr()
Performs QR factorization.
sparseqr::Fill::Merge
void Merge(QR *qr)
sparseqr::Fill::nlist2
int nlist2
Definition:
fill.hh:54
sparseqr::QR::srow
Smatrix ** srow
Definition:
sparseqr.hh:139
sparseqr::Fill::CalcFill
int CalcFill(Smatrix *, Smatrix *)
sparseqr::Fill::sortindex1
int * sortindex1
Definition:
fill.hh:55
sparseqr::Smatrix
Definition:
sparseqr.hh:110
Page URL:
http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020
Eidgenössische Technische Hochschule Zürich