Hi everyone! I need to use Julia to solve a SDP. What would you suggest to use to solve the SDP?

I tried Convex and JuMP with ProxSDP, I couldn’t get it to work.

Hi everyone! I need to use Julia to solve a SDP. What would you suggest to use to solve the SDP?

I tried Convex and JuMP with ProxSDP, I couldn’t get it to work.

Hi @cheng_chen.

You can make it easier to help by reading the first post of Please read: make it easier to help you.

For a list of solvers that support SDP, check Installation Guide · JuMP.

ProxSDP should work. What was the error you encountered?

Otherwise, you could try a solver like SCS:

```
import Pkg; Pkg.add("SCS")
using JuMP, SCS
model = Model(SCS.Optimizer)
@variable(model, X[1:2, 1:2], PSD)
```

Your objective is a matrix. You probably want to use convert it to a scalar using `sum(X)`

or `LinearAlgebra.tr(X)`

.

There are also some issues with your constraints. (You need to use vectorized algebra: https://jump.dev/JuMP.jl/dev/constraints/#Vectorized-constraints).

Here are some PSD examples that might be helpful:

https://jump.dev/JuMP.jl/dev/examples/cluster/

https://jump.dev/JuMP.jl/dev/examples/min_distortion/

I would encourage you to re-read the PSA I linked. Instead of posting screenshots, post code that people can copy-paste. You should also provide all data needed to run the code.

2 Likes

Thank you!

I am sorry, it’s my first time posting. I will make sure that I follow the guidelines in the future

1 Like

No problem. Please post back if you still have trouble after reviewing the examples and the documentation.

2 Likes