(Scaled) Diagonally Dominant Problem with Basis Change

25 views
Skip to first unread message

Dave D

unread,
Jul 17, 2025, 2:58:33 PMJul 17
to YALMIP
Dear Prof. Johan Löfberg,

I'm investigating inner approximations of the SDP cone, namely, diagonally-dominant and scaled diagonally-dominant matrices (i.e., those that are diagonally dominant times PD diagonal matrices). In particular, I'm interested in forming DD/SDD problems with arbitrary basis change; given a fixed orthogonal matrix U, can we satisfy dd(U*X*U')?

I'm having some trouble implementing this problem efficiently, unfortunately. In the DD case, I've tried two basic approaches: Problem = [dd(U*X*U')] and Problem = [dd(Y), Y = U*X*U']. The first is prohibitively slow to formulate but fast to solve, and the second is prohibitively slow to solve but fast to formulate (and fast to change basis within). I've also eked out a ~20% speed-up in both cases by streamlining the dd code, by forming X - diag(diag(X)) more efficiently and cutting out the issymmetric(X) call. Notably, the standard basis doesn't have any clear advantages for my problem, and there are no good low-rank solutions to my problem. 

Do you have any more insight into how such a problem could be formulated efficiently in YALMIP? Thank you in advance.

Best,
Dave

Johan Löfberg

unread,
Jul 18, 2025, 1:55:12 AMJul 18
to YALMIP
You would have to be more specific on the actual code you are implementing. Smells a bit like a might be dualize is required if you mean X=sdpvar(n,n)>=0 is a decision variable
Reply all
Reply to author
Forward
0 new messages