Try ldltfact.

On Monday, August 3, 2015 at 4:27:43 PM UTC-7, Dominique Orban wrote:
>
> Certain indefinite matrices possess a LDL' factorization with D diagonal 
> (note that this is not Bunch-Parlett/Kaufmann). In Julia 0.3, it was 
> possible to compute this factorization:
>
> julia> VERSION
> v"0.3.8"
>
> julia> A = [1.0 1 ; 1 -1];
>
> julia> LDL = cholfact(sparse(A));
>
> julia>
>
> ... but sadly, no more in 0.4:
>
> julia> VERSION
> v"0.4.0-dev+6441"
>
> julia> A = [1.0 1 ; 1 -1];
>
> julia> LDL = cholfact(sparse(A));
> ERROR: Base.LinAlg.PosDefException(1)
>  in cholfact at sparse/cholmod.jl:1196
>  in cholfact at sparse/cholmod.jl:1219
>
> That's too bad because for one, large-scale computational optimization can 
> go a long way with the sparse factorization of such matrices, without 
> resorting to the far more complicated (but sometimes necessary) 2x2 pivots. 
> The existence and stability of this factorization has been studied in the 
> literature, and it can be shown to exist for all so-called symmetric and 
> quasi-definite matrices (a generalization of definite matrices). Turning 
> off the pivot sign check in Cholesky is sufficient to implement it, so 
> that's all that needs to be done in Cholmod.
>
> Any chance of re-enabling this feature?
>

Reply via email to