-
Notifications
You must be signed in to change notification settings - Fork 92
Add HermitianPositiveSemidefiniteConeTriangle with bridges #1962
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't dig into the reformulation. But I don't think we want to rush this into MOI v1.7. It's quite complicated.
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Co-authored-by: Oscar Dowson <odow@users.noreply.github.com>
Ok, I'll merge #1959 then |
This PR should allow me to add direct support for this MOI Hermitian PSD cone to Hypatia's MOI interface |
Actually, just hold off. I'm tidying the docstrings: |
@blegat take another look. I fleshed out the docstring with an example of the reformulation. I think it makes things a bit clearer. I also removed your note on duality. It was a bit confusing and out of place. Once you see the example of the reformulation it becomes obvious why you can just sum up the elements. The equality constraints are just enforcing parts of the matrix, not anything structural. |
Why is that obvious that you don't have to include the dual of |
I didn't try to prove haha. It just seemed right. We don't actually implement the reformulated PSD matrix, so in some sense, the equality constraints are a lower-level implementation detail. What we actually ask for is the duals on that PSD matrix. |
@test ≈(MOI.get(model, MOI.VariablePrimal(), x), primal, config) | ||
@test ≈(MOI.get(model, MOI.ConstraintPrimal(), cx), primal, config) | ||
if _supports(config, MOI.ConstraintDual) | ||
dual = zeros(T, 9) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@blegat, some solvers are failing this test: https://github.com/jump-dev/SolverTests/actions/runs/2857418874
Is it possible for the dual to be non-zero?
Refactored from https://github.com/jump-dev/ComplexOptInterface.jl