Low rank PSD matrix approximation in SDP mode

I am trying to find an approximation of the form (v*v’ + eye(n)) of a PSD (Gram) matrix A, using the following code:

A = [1 1/2; 1/2 1];

cvx_begin sdp
    variable v(2)
    variable w

    minimize( norm( w*A - (v*v' + eye(2)), Inf) )
    subject to
         [1 v'; v (A-eye(2))] >= 0;

and I am getting this error:

Disciplined convex programming error:
Only scalar quadratic forms can be specified in CVX

What am I doing wrong?



All the off-diagonal elements of v*v' are bilinear (product of variables), which is not allowed by CVX.

Whatever SDP relaxation you have appears to be inadequate to produce a convex problem.