@@ -231,16 +231,16 @@ function __init__()
231231
232232 # Register gc tracked allocator if CHOLMOD is new enough
233233 if current_version >= v " 4.0.3"
234- ccall ((:SuiteSparse_config_malloc_func_set , : libsuitesparseconfig ),
234+ ccall ((:SuiteSparse_config_malloc_func_set , libsuitesparseconfig),
235235 Cvoid, (Ptr{Cvoid},), cglobal (:jl_malloc , Ptr{Cvoid}))
236- ccall ((:SuiteSparse_config_calloc_func_set , : libsuitesparseconfig ),
236+ ccall ((:SuiteSparse_config_calloc_func_set , libsuitesparseconfig),
237237 Cvoid, (Ptr{Cvoid},), cglobal (:jl_calloc , Ptr{Cvoid}))
238- ccall ((:SuiteSparse_config_realloc_func_set , : libsuitesparseconfig ),
238+ ccall ((:SuiteSparse_config_realloc_func_set , libsuitesparseconfig),
239239 Cvoid, (Ptr{Cvoid},), cglobal (:jl_realloc , Ptr{Cvoid}))
240- ccall ((:SuiteSparse_config_free_func_set , : libsuitesparseconfig ),
240+ ccall ((:SuiteSparse_config_free_func_set , libsuitesparseconfig),
241241 Cvoid, (Ptr{Cvoid},), cglobal (:jl_free , Ptr{Cvoid}))
242242 elseif current_version >= v " 3.0.0"
243- cnfg = cglobal ((:SuiteSparse_config , : libsuitesparseconfig ), Ptr{Cvoid})
243+ cnfg = cglobal ((:SuiteSparse_config , libsuitesparseconfig), Ptr{Cvoid})
244244 unsafe_store! (cnfg, cglobal (:jl_malloc , Ptr{Cvoid}), 1 )
245245 unsafe_store! (cnfg, cglobal (:jl_calloc , Ptr{Cvoid}), 2 )
246246 unsafe_store! (cnfg, cglobal (:jl_realloc , Ptr{Cvoid}), 3 )
@@ -1563,6 +1563,9 @@ Setting the optional `shift` keyword argument computes the factorization of
15631563it should be a permutation of `1:size(A,1)` giving the ordering to use
15641564(instead of CHOLMOD's default AMD ordering).
15651565
1566+ See also [`ldlt`](@ref) for a similar factorization that does not require
1567+ positive definiteness, but can be significantly slower than `cholesky`.
1568+
15661569# Examples
15671570
15681571In the following example, the fill-reducing permutation used is `[3, 2, 1]`.
@@ -1728,6 +1731,10 @@ To include the effects of permutation, it is typically preferable to extract
17281731`P'*L`) and `LtP = F.UP` (the equivalent of `L'*P`).
17291732The complete list of supported factors is `:L, :PtL, :D, :UP, :U, :LD, :DU, :PtLD, :DUP`.
17301733
1734+ Unlike the related Cholesky factorization, the ``LDL'`` factorization does not
1735+ require `A` to be positive definite. However, it still requires all leading
1736+ principal minors to be well-conditioned and will fail if this is not satisfied.
1737+
17311738When `check = true`, an error is thrown if the decomposition fails.
17321739When `check = false`, responsibility for checking the decomposition's
17331740validity (via [`issuccess`](@ref)) lies with the user.
@@ -1737,6 +1744,9 @@ Setting the optional `shift` keyword argument computes the factorization of
17371744it should be a permutation of `1:size(A,1)` giving the ordering to use
17381745(instead of CHOLMOD's default AMD ordering).
17391746
1747+ See also [`cholesky`](@ref) for a factorization that can be significantly
1748+ faster than `ldlt`, but requires `A` to be positive definite.
1749+
17401750!!! note
17411751 This method uses the CHOLMOD[^ACM887][^DavisHager2009] library from [SuiteSparse](https://github.com/DrTimothyAldenDavis/SuiteSparse).
17421752 CHOLMOD only supports real or complex types in single or double precision.
0 commit comments