Skip to content

Sparse LDL for QuadtoSOC #1971

Open
Open
@mlubin

Description

@mlubin

QuadtoSOC computes a cholesky factorization, which fails when the Q matrix is positive semidefinite but not positive definite:

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

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions