Comments (11)
It's not difficult, but there's the risk that I would shift a zero pivot the wrong way, adding or taking away curvature in the wrong place. However, as you might notice in the paper I quoted above, there are reasons related to optimization for introducing such regularizations at the optimization level. We did something similar for SDP, so I'm quite sure you could argue the same for conic optimization: https://dx.doi.org/10.1080/10556788.2016.1235708.
See also #9.
from ldlfactorizations.jl.
ps: it's automatic in https://github.com/JuliaSmoothOptimizers/LimitedLDLFactorizations.jl
from ldlfactorizations.jl.
A complete factorization using this package should be more efficient that with LimitedLDLFactorizations, and implementing limited factorizations in this one is probably more difficult.
from ldlfactorizations.jl.
Does this help: https://doi.org/10.1137/S0895479897321088 ?
from ldlfactorizations.jl.
Also if you slightly regularize the zero block (to make it negative definite), an LDL' factorization always exists and the performance of your code should not be affected much.
from ldlfactorizations.jl.
Thank you! So if I have a situation like [0 A'; A H]
where H is PSD, you suggest replacing the zero block with say -1e-10 * I
? is there a reason why negative definite works better than positive definite in the 0 block?
from ldlfactorizations.jl.
It makes the matrix quasi-definite. If H isn't posdef, you could also add a small multiple of the identity to it. You'll want to use -1.0e-8 * I (square root of machine epsilon) or larger. See, e.g., https://dx.doi.org/10.1007/s12532-012-0035-2 and references in there.
from ldlfactorizations.jl.
Thank you! That was very helpful. I think I know how to proceed, and I'll close the issue.
Would be great if this was automatic in your package. Not sure how feasible that would be.
from ldlfactorizations.jl.
Fascinating. I will think more carefully about the curvature point in the conic context. Thank you!
from ldlfactorizations.jl.
Another question: why have both this package and the limitedldlfactorizations.jl package?
from ldlfactorizations.jl.
Good to know. Thanks!
from ldlfactorizations.jl.
Related Issues (20)
- Reality check: How useful exactly are SuiteSparse and LDLFactorizations' LDLT?
- Issue with low-rank factorizations HOT 6
- LDLFactorization subtype of LinearAlgebra.Factorization
- Add ldl_analyze! HOT 1
- Release 0.3.0 HOT 1
- MethodError: no method matching / HOT 3
- Fix README
- Solve for multiple RHS HOT 1
- Write in-place ldl_solve! HOT 2
- ldl should accept any integer type for the permutation
- Allow factorization of semi-definite matrices HOT 1
- TagBot trigger issue HOT 8
- Update Jenkinsfile as in AMD.jl
- possible method error upper triangle HOT 1
- Allow user to supply inverse permutation
- Vectorization
- supporting Intervals HOT 3
- `getproperty` is type-unstable
- Support complex-valued matrices? HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ldlfactorizations.jl.