-
Notifications
You must be signed in to change notification settings - Fork 97
Open
Labels
Submodule: BridgesAbout the Bridges submoduleAbout the Bridges submodule
Milestone
Description
QuadtoSOC computes a cholesky factorization, which fails when the Q matrix is positive semidefinite but not positive definite:
MathOptInterface.jl/src/Bridges/Constraint/bridges/quad_to_soc.jl
Lines 71 to 85 in 8c8636f
| F = try | |
| LinearAlgebra.cholesky(LinearAlgebra.Symmetric(Q)) | |
| catch | |
| throw( | |
| MOI.UnsupportedConstraint{typeof(func),typeof(set)}( | |
| "Unable to transform a quadratic constraint into a " * | |
| "second-order cone constraint because the quadratic " * | |
| "constraint is not strongly convex.\n\nConvex constraints " * | |
| "that are not strongly convex (i.e., the matrix is positive " * | |
| "semidefinite but not positive definite) are not supported " * | |
| "yet.\n\nNote that a quadratic equality constraint is " * | |
| "non-convex.", | |
| ), | |
| ) | |
| end |
Per @dpo we could use LDLFactorizations with a pivot tolerance of zero (or HSL/MUMPS, if we want external binary dependencies).
Metadata
Metadata
Assignees
Labels
Submodule: BridgesAbout the Bridges submoduleAbout the Bridges submodule