Skip to content
A Julia interface to the SDPA-GMP, SDPA-DD, and SDPA-QD high precision semidefinite programming solvers.
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.


Build Status Codecov

An interface to using SDPA-GMP, SDPA-DD, and SDPA-QD in Julia ( This package is registered in the General registry; to install, type ] in the Julia command prompt, then enter

pkg> add SDPAFamily

Call SDPAFamily.Optimizer() to use this wrapper via MathOptInterface, which is an intermediate layer between low-level solvers (such as SDPA-GMP, SDPA-QD, and SDPA-DD) and high level modelling languages, such as JuMP.jl and Convex.jl.

Convex.jl 0.13+ supports MathOptInterface and can be used to solve problems with the solvers from this package.

JuMP currently only supports Float64 numeric types, which means that problems can only be specified to 64-bits of precision, and results can only be recovered at that level of precision, when using JuMP. This is tracked in the issue JuMP#2025.

Quick Example

Here is a simple optimization problem formulated with Convex.jl:

using SDPAFamily, LinearAlgebra
using Convex
y = Semidefinite(3)
p = maximize(eigmin(y), tr(y) <= 5; numeric_type = BigFloat)
solve!(p, () -> SDPAFamily.Optimizer(presolve=true))
@show p.optval

See the documentation linked above for troubleshooting help and usage information.

You can’t perform that action at this time.