Expand description
Approximate minimum degree column ordering algorithms.
colamd: an approximate minimum degree column ordering algorithm, for LU factorization of symmetric or unsymmetric matrices, QR factorization, least squares, interior point methods for linear programming problems, and other related problems.
symamd: an approximate minimum degree ordering algorithm for Cholesky factorization of symmetric matrices.
Colamd computes a permutation Q
such that the Cholesky factorization of
(AQ)'(AQ)
has less fill-in and requires fewer floating point operations
than A'A
. This also provides a good ordering for sparse partial
pivoting methods, P(AQ) = LU
, where Q
is computed prior to numerical
factorization, and P
is computed during numerical factorization via
conventional partial pivoting with row interchanges.
Symamd computes a permutation P
of a symmetric matrix A such that the
Cholesky factorization of PAP'
has less fill-in and requires fewer
floating point operations than A
. Symamd constructs a matrix M
such
that M'M
has the same nonzero pattern of A
, and then orders the columns
of M
using colmmd. The column ordering of M
is then returned as the
row and column ordering P
of A
.
The authors of the code itself are Stefan I. Larimore and Timothy A. Davis (davis at cise.ufl.edu), University of Florida. The algorithm was developed in collaboration with John Gilbert, Xerox PARC, and Esmond Ng, Oak Ridge National Laboratory.
This work was supported by the National Science Foundation, under grants DMS-9504974 and DMS-9803599.
Constants§
- AGGRESSIVE
- Aggressive absorption.
- DEFRAG_
COUNT - Memory defragmentation count output statistic.
- DENSE_
COL - Dense column knob and output statistic.
- DENSE_
ROW - Dense row knob and output statistic.
- ERROR_
A_ TOO_ SMALL - ERROR_
COL_ LENGTH_ NEGATIVE - ERROR_
NCOL_ NEGATIVE - ERROR_
NNZ_ NEGATIVE - ERROR_
NROW_ NEGATIVE - ERROR_
OUT_ OF_ MEMORY - ERROR_
P0_ NONZERO - ERROR_
ROW_ INDEX_ OUT_ OF_ BOUNDS - INFO1
- Error info, or info on jumbled columns.
- INFO2
- INFO3
- KNOBS
- Size of the
knobs[]
array. Onlyknobs[0..1]
are currently used. - OK
- OK_
BUT_ JUMBLED - STATS
- Number of output statistics. Only
stats[0..6]
are currently used. - STATUS
- Zero OK, > 0 warning or notice, < 0 error.
Functions§
- colamd
- Computes a column ordering
Q
of a sparse matrixA
such that the LU factorizationP(AQ) = LU
remains sparse, whereP
is selected via partial pivoting. The routine can also be viewed as providing a permutationQ
such that the Cholesky factorization(AQ)'(AQ) = LL'
remains sparse. - colamd_
report - Print
colamd
statistics to standard output. - default_
knobs - Returns the default values of the user-controllable parameters for
colamd
andsymamd
. - recommended
- Recommended returns the suggested size for
a_len
. - symamd
- Computes an ordering
P
of a symmetric sparse matrixA
such that the Cholesky factorizationPAP' = LL'
remains sparse. - symamd_
report - Print
symamd
statistics to standard output.