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? >