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