Reference
Contents
Index
AMD.Amd
— TypeBase type to hold control and information related to a call to AMD. control
is a Vector{Float64}
with components:
- d = control[AMD_DENSE]: rows with more than max(d√n, 16) entries are considered "dense" and appear last in the permutation.
If d < 0 no row will be treated as dense.
- control[AMD_AGGRESSIVE]: triggers aggressive absorption if nonzero.
info
is a Vector{Float64}
that contains statistics on the ordering.
AMD.amd
— Functionamd(A)
amd(A, meta)
Given a sparse matrix A
and an Amd
structure meta
, p = amd(A, meta)
computes the approximate minimum degree ordering of A + Aᵀ
. The ordering is represented as a permutation vector p
. Factorizations of A[p,p]
tend to be sparser than those of A
.
The matrix A
must be square and the sparsity pattern of A + Aᵀ
is implicit. Thus it is convenient to represent symmetric or hermitian matrices using one triangle only. The diagonal of A
may be present but will be ignored.
The ordering may be influenced by changing meta.control[AMD_DENSE]
and meta.control[AMD_AGGRESSIVE]
.
Statistics on the ordering appear in meta.info
.
AMD.colamd
— Functioncolamd(A)
colamd(A, meta)
colamd computes a permutation vector p
such that the Cholesky factorization of A[:,p]' * A[:,p]
has less fill-in and requires fewer floating point operations than AᵀA
.
AMD.symamd
— Functionsymamd(A)
symamd(A, meta)
Given a symmetric or hermitian matrix A
, symamd computes a permutation vector p
such that the Cholesky factorization of A[p,p]
has less fill-in and requires fewer floating point operations than that of A.