Affine SDP constraint

44 views
Skip to first unread message

Chen Chen

unread,
Jan 21, 2021, 2:05:50 PM1/21/21
to mosek
I'm coding with MOSEK Toolbox for MATLAB. My problem is a SDP, which is the same as Section 6.7 Affine conic constraints in the MOSEK MATLAB Manual, but instead with
the affine conic constraint being
    Fx + g is positive semi-definite.
I wonder how can I could up this affine SDP constraint? I don't find a cone type parameter from res.symbcon.

Thanks a ton!

 

Michal Adamaszek

unread,
Jan 21, 2021, 2:11:49 PM1/21/21
to mosek
You have to make a semidefinite variable X (section 6.6) and add linear constraints Fx+g-X=0 for the upper triangular part.

The PSD cone is not available in the same way as "ordinary" cones, it can only be represented by introducing a PSD variable. In the future it may change.

Best,
Michal

Michal Adamaszek

unread,
Jan 21, 2021, 2:15:35 PM1/21/21
to mosek
By the way, it depends on the rest of the problem, but often if you want to input an LMI this way you will get a much more efficient model if you instead dualize. Compare example 8.7 in https://docs.mosek.com/modeling-cookbook/duality.html#semidefinite-duality-and-lmis

Chen Chen

unread,
Jan 21, 2021, 3:43:19 PM1/21/21
to mo...@googlegroups.com
Thanks a lot, Michal! Both your answer and example 8.7 you mentioned
are very helpful.

Just a quick question: I read Section 6.6 Semidefinite Optimization,
and there it says
"only the lower triangular part should be specified explicitly"
I guess specifying either lower triangular and upper triangular (but
not both) should work?

Also, I guess I need to specify X= Fx+g element-wisely, like how you
handle (\bar{X}_2)_{01} <= k in Section 6.6.2 Example SDO2?

Thanks a lot again,

Chen
> --
> You received this message because you are subscribed to a topic in the Google Groups "mosek" group.
> To unsubscribe from this topic, visit https://groups.google.com/d/topic/mosek/L7qC2H2Gh_4/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to mosek+un...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/mosek/9a8d67cf-dbc4-4e0c-8805-7fd636128414n%40googlegroups.com.

Michal Adamaszek

unread,
Jan 21, 2021, 3:51:38 PM1/21/21
to mosek
There must be k>=l (lower triangular) or you will get an error. It's a matter of convention, but that's how it is.

Yes, you will need to write Fx+g=X as n*(n+1)/2 constraints, one containing each X_{k,l} as in SDO2.

Michal
Reply all
Reply to author
Forward
0 new messages