Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions src/solvers/cholmod.jl
Original file line number Diff line number Diff line change
Expand Up @@ -1563,6 +1563,9 @@ Setting the optional `shift` keyword argument computes the factorization of
it should be a permutation of `1:size(A,1)` giving the ordering to use
(instead of CHOLMOD's default AMD ordering).

See also [`ldlt`](@ref) for a similar factorization that does not require
positive definiteness, but can be significantly slower than `cholesky`.

# Examples

In the following example, the fill-reducing permutation used is `[3, 2, 1]`.
Expand Down Expand Up @@ -1728,6 +1731,10 @@ To include the effects of permutation, it is typically preferable to extract
`P'*L`) and `LtP = F.UP` (the equivalent of `L'*P`).
The complete list of supported factors is `:L, :PtL, :D, :UP, :U, :LD, :DU, :PtLD, :DUP`.

Unlike the related Cholesky factorization, the ``LDL'`` factorization does not
require `A` to be positive definite. However, it still requires all leading
principal minors to be well-conditioned and will fail if this is not satisfied.

When `check = true`, an error is thrown if the decomposition fails.
When `check = false`, responsibility for checking the decomposition's
validity (via [`issuccess`](@ref)) lies with the user.
Expand All @@ -1737,6 +1744,9 @@ Setting the optional `shift` keyword argument computes the factorization of
it should be a permutation of `1:size(A,1)` giving the ordering to use
(instead of CHOLMOD's default AMD ordering).

See also [`cholesky`](@ref) for a factorization that can be significantly
faster than `ldlt`, but requires `A` to be positive definite.

!!! note
This method uses the CHOLMOD[^ACM887][^DavisHager2009] library from [SuiteSparse](https://github.com/DrTimothyAldenDavis/SuiteSparse).
CHOLMOD only supports real or complex types in single or double precision.
Expand Down
Loading