Navigation

Operators and Keywords

Function List:

C++ API

: p = csymamd (S)
: p = csymamd (S, knobs)
: p = csymamd (S, knobs, cmember)
: [p, stats] = csymamd (…)

For a symmetric positive definite matrix S, return the permutation vector p such that S(p,p) tends to have a sparser Cholesky factor than S.

Sometimes csymamd works well for symmetric indefinite matrices too. The matrix S is assumed to be symmetric; only the strictly lower triangular part is referenced. S must be square. The ordering is followed by an elimination tree post-ordering.

knobs is an optional 1-element to 3-element input vector, with a default value of [10 1 0]. Entries not present are set to their defaults.

knobs(1)

If S is n-by-n, then rows and columns with more than max(16,knobs(1)*sqrt(n)) entries are ignored, and ordered last in the output permutation (subject to the cmember constraints).

knobs(2)

If nonzero, aggressive absorption is performed.

knobs(3)

If nonzero, statistics and knobs are printed.

cmember is an optional vector of length n. It defines the constraints on the ordering. If cmember(j) = S, then row/column j is in constraint set c (c must be in the range 1 to n). In the output permutation p, rows/columns in set 1 appear first, followed by all rows/columns in set 2, and so on. cmember = ones (1,n) if not present or empty. csymamd (S,[],1:n) returns 1:n.

p = csymamd (S) is about the same as p = symamd (S). knobs and its default values differ.

stats(4:7) provide information if CCOLAMD was able to continue. The matrix is OK if stats(4) is zero, or 1 if invalid. stats(5) is the rightmost column index that is unsorted or contains duplicate entries, or zero if no such column exists. stats(6) is the last seen duplicate or out-of-order row index in the column index given by stats(5), or zero if no such row index exists. stats(7) is the number of duplicate or out-of-order row indices. stats(8:20) is always zero in the current version of CCOLAMD (reserved for future use).

The authors of the code itself are S. Larimore, T. Davis (Univ. of Florida) and S. Rajamanickam in collaboration with J. Bilbert and E. Ng. Supported by the National Science Foundation (DMS-9504974, DMS-9803599, CCR-0203270), and a grant from Sandia National Lab. See http://www.cise.ufl.edu/research/sparse for ccolamd, csymamd, amd, colamd, symamd, and other related orderings.

See also: symamd, ccolamd.

Package: octave