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.