alpar@1
|
1 |
NOTE: Files in this subdirectory are NOT part of the GLPK package, but
|
alpar@1
|
2 |
are used with GLPK.
|
alpar@1
|
3 |
|
alpar@1
|
4 |
The original code was modified according to GLPK requirements by
|
alpar@1
|
5 |
Andrew Makhorin <mao@gnu.org>.
|
alpar@1
|
6 |
************************************************************************
|
alpar@1
|
7 |
COLAMD/SYMAMD Version 2.7, Copyright (C) 1998-2007, Timothy A. Davis,
|
alpar@1
|
8 |
All Rights Reserved.
|
alpar@1
|
9 |
|
alpar@1
|
10 |
Description:
|
alpar@1
|
11 |
|
alpar@1
|
12 |
colamd: an approximate minimum degree column ordering algorithm,
|
alpar@1
|
13 |
for LU factorization of symmetric or unsymmetric matrices,
|
alpar@1
|
14 |
QR factorization, least squares, interior point methods for
|
alpar@1
|
15 |
linear programming problems, and other related problems.
|
alpar@1
|
16 |
|
alpar@1
|
17 |
symamd: an approximate minimum degree ordering algorithm for
|
alpar@1
|
18 |
Cholesky factorization of symmetric matrices.
|
alpar@1
|
19 |
|
alpar@1
|
20 |
Purpose:
|
alpar@1
|
21 |
|
alpar@1
|
22 |
Colamd computes a permutation Q such that the Cholesky factorization
|
alpar@1
|
23 |
of (AQ)'(AQ) has less fill-in and requires fewer floating point
|
alpar@1
|
24 |
operations than A'A. This also provides a good ordering for sparse
|
alpar@1
|
25 |
partial pivoting methods, P(AQ) = LU, where Q is computed prior to
|
alpar@1
|
26 |
numerical factorization, and P is computed during numerical
|
alpar@1
|
27 |
factorization via conventional partial pivoting with row
|
alpar@1
|
28 |
interchanges. Colamd is the column ordering method used in SuperLU,
|
alpar@1
|
29 |
part of the ScaLAPACK library. It is also available as built-in
|
alpar@1
|
30 |
function in MATLAB Version 6, available from MathWorks, Inc.
|
alpar@1
|
31 |
(http://www.mathworks.com). This routine can be used in place of
|
alpar@1
|
32 |
colmmd in MATLAB.
|
alpar@1
|
33 |
|
alpar@1
|
34 |
Symamd computes a permutation P of a symmetric matrix A such that
|
alpar@1
|
35 |
the Cholesky factorization of PAP' has less fill-in and requires
|
alpar@1
|
36 |
fewer floating point operations than A. Symamd constructs a matrix
|
alpar@1
|
37 |
M such that M'M has the same nonzero pattern of A, and then orders
|
alpar@1
|
38 |
the columns of M using colmmd. The column ordering of M is then
|
alpar@1
|
39 |
returned as the row and column ordering P of A.
|
alpar@1
|
40 |
|
alpar@1
|
41 |
Authors:
|
alpar@1
|
42 |
|
alpar@1
|
43 |
The authors of the code itself are Stefan I. Larimore and Timothy A.
|
alpar@1
|
44 |
Davis (davis at cise.ufl.edu), University of Florida. The algorithm
|
alpar@1
|
45 |
was developed in collaboration with John Gilbert, Xerox PARC, and
|
alpar@1
|
46 |
Esmond Ng, Oak Ridge National Laboratory.
|
alpar@1
|
47 |
|
alpar@1
|
48 |
Acknowledgements:
|
alpar@1
|
49 |
|
alpar@1
|
50 |
This work was supported by the National Science Foundation, under
|
alpar@1
|
51 |
grants DMS-9504974 and DMS-9803599.
|
alpar@1
|
52 |
|
alpar@1
|
53 |
License:
|
alpar@1
|
54 |
|
alpar@1
|
55 |
This library is free software; you can redistribute it and/or
|
alpar@1
|
56 |
modify it under the terms of the GNU Lesser General Public License
|
alpar@1
|
57 |
as published by the Free Software Foundation; either version 2.1 of
|
alpar@1
|
58 |
the License, or (at your option) any later version.
|
alpar@1
|
59 |
|
alpar@1
|
60 |
This library is distributed in the hope that it will be useful,
|
alpar@1
|
61 |
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
alpar@1
|
62 |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
alpar@1
|
63 |
Lesser General Public License for more details.
|
alpar@1
|
64 |
|
alpar@1
|
65 |
You should have received a copy of the GNU Lesser General Public
|
alpar@1
|
66 |
License along with this library; if not, write to the Free Software
|
alpar@1
|
67 |
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
|
alpar@1
|
68 |
USA.
|
alpar@1
|
69 |
|
alpar@1
|
70 |
Permission is hereby granted to use or copy this program under the
|
alpar@1
|
71 |
terms of the GNU LGPL, provided that the Copyright, this License,
|
alpar@1
|
72 |
and the Availability of the original version is retained on all
|
alpar@1
|
73 |
copies. User documentation of any code that uses this code or any
|
alpar@1
|
74 |
modified version of this code must cite the Copyright, this License,
|
alpar@1
|
75 |
the Availability note, and "Used by permission." Permission to
|
alpar@1
|
76 |
modify the code and to distribute modified code is granted, provided
|
alpar@1
|
77 |
the Copyright, this License, and the Availability note are retained,
|
alpar@1
|
78 |
and a notice that the code was modified is included.
|
alpar@1
|
79 |
|
alpar@1
|
80 |
COLAMD is also available under alternate licenses, contact T. Davis
|
alpar@1
|
81 |
for details.
|
alpar@1
|
82 |
|
alpar@1
|
83 |
Availability:
|
alpar@1
|
84 |
|
alpar@1
|
85 |
The colamd/symamd library is available at:
|
alpar@1
|
86 |
|
alpar@1
|
87 |
http://www.cise.ufl.edu/research/sparse/colamd/
|
alpar@1
|
88 |
|
alpar@1
|
89 |
References:
|
alpar@1
|
90 |
|
alpar@1
|
91 |
T. A. Davis, J. R. Gilbert, S. Larimore, E. Ng, An approximate
|
alpar@1
|
92 |
column minimum degree ordering algorithm, ACM Transactions on
|
alpar@1
|
93 |
Mathematical Software, vol. 30, no. 3., pp. 353-376, 2004.
|
alpar@1
|
94 |
|
alpar@1
|
95 |
T. A. Davis, J. R. Gilbert, S. Larimore, E. Ng, Algorithm 836:
|
alpar@1
|
96 |
COLAMD, an approximate column minimum degree ordering algorithm, ACM
|
alpar@1
|
97 |
Transactions on Mathematical Software, vol. 30, no. 3., pp. 377-380,
|
alpar@1
|
98 |
2004.
|