Is it possible to default to unpivoted and if that fails detect that a pivoted Cholesky might have worked and include a recommendation to try the pivoted version in the error message?
On Tue, Apr 8, 2014 at 10:58 AM, Andreas Noack Jensen < andreasnoackjen...@gmail.com> wrote: > It would be helpful if the LAPACK codes were written out in the Julia > exception, but it is not most exciting thing to write. The un-pivoted > Cholesky factor is not triangular, so I think returning that would also > cause some confusion. > > > 2014-04-08 16:50 GMT+02:00 Iain Dunning <iaindunn...@gmail.com>: > > Jiahao: interesting link! Do you think we should put the meaning of that >> error code somewhere? Maybe best would be as the actual message of the >> PosDefException. >> Andreas: if we un-pivot the result then the user would be unaware, >> correct? I feel like chol() is the "casual" way of doing it and should make >> a best effort to work, whereas cholfact is the more poweruser version. >> David: I was indeed playing around with max-cut, check out >> https://github.com/JuliaOpt/JuMP.jl/blob/sdp/examples/maxcut_sdp.jl >> >> Cheers, >> Iain >> >> >> On Tuesday, April 8, 2014 5:58:36 AM UTC-4, David de Laat wrote: >>> >>> You can also use a hack to make the matrix positive definite: >>> mineig = minimum(eigvals(M)) >>> M -= mineig * eye(M) >>> >>> (And in case you're working on max-cut you can also use >>> M = (M - mineig * eye(M)) / (1-mineig) >>> so that the linear constraints in the semidefinite program are still >>> satisfied by the new matrix M.) >>> >>> Best, >>> David >>> >> > > > -- > Med venlig hilsen > > Andreas Noack Jensen >