I am considering the following convex optimization problem:

Let y be a column vector of dimension N and H be a matrix of dimension N x M. I want to find A such that ||y - H vec(A) || is minimized where vec(A) is the vectorized form of A. I am constraining A to be a symmetric positive semidefinite matrix.

I was able to solve it using cvx following the code here. However, the solution I get is non-unique. (I happen to know my true solution).

Every row of H is the vectorized version of the matrix z’*z where z is a column vector. Because of this symmetry in H, H is not full rank as some columns are identical. But If I rewrite the optimization problem such that instead of vec(A), I only consider the terms in A which are in the upper diagonal, then the resulting H can be made full rank. I can then obtain a unique solution.

How can I formulate this in cvx?