How to minimize the largest singular value of the matrix

This appears to be a bug in CVX.

On a common random instantiation (input data) I ran, my version of the CVX problem solved to the same optimal solution, using all of Mosek, SeDuMi, and SDPT3. For your version, for all of these solvers, CVX reported the solver was provided the dual problem, the solver reported dual infeasibility, and CVX reported infeasibility, which as I wrote in an earlier post, seems inconsistent.

I also ran “your version”, in YALMIP. It solved correctly.

 x=sdpvar(L,1);
 t=sdpvar;
 for i=1:L
     W0=W0+x(i)*W(:,:,i);
 end
 optimize([sum(x)==1 x>=0,t*eye(Nt+Nr)-W0>=0],t)

Your W(:,:,i) are all symmetric, so your formulation should have a feasible solution for large enough t. In this case, I don’t think the choke is due to numerical issues, such as the required t being too large; I think it is just a flub by CVX in the problem formulation.

1 Like