I am tring to solve the following problem here.

where

There is an error like that:

Error using >= (line 22)

SDP constraints must be affine.

Error in ComputeMeanMatrix_Norm2 (line 17)

ti*eye(N)>=real((R-ReferMatrixs{1,i}))

what’s wrong? Can anybody help?

cvx_begin sdp

variable R(N,N) hermitian

for i=1:num_Matrix

temp=(norm(R-ReferMatrixs{1,i},2));

t=t+(temp);

end

t=t./num_Matrix;

minimize(t)

subject to

for i=1:num_Matrix

ti=(norm(R-ReferMatrixs{1,i},2));

ti*eye(N)>=real((R-ReferMatrixs{1,i}));

ti>=0;

end

cvx_end

What’s wrong is that SDP constraints must be affine, but `t`

is not affine. CVX only accepts SDPs which are LMIs: Linear Matrix Inequalities. The matrix appearing in an SDP in CVX must be a linear (affine) function of CVX variables. `Norm`

is not linear.

The semidefinite constraint is (reformulatable to be) convex in one dimension (N = 1), but I doubt it is in dimension >= 2. I will assume it is not convex unless you prove it is,

why this constraint is accept by CVX?

Because it complies with CVX"s DCP rules. Norm of an affine expression is allowed by CVX and is convex. `Convex expression <= constant i`

s allowed by CVX and is convex.

When you attempt to use norm in a matrix argument for an SDP (as you did inthe first post of this thread), that is not allowed by CVX, and is not necessarily convex.

Nonlinear SDPs are not allowed by CVX, are generally not convex, and may be difficult to solve even to local optimality.

Thanks a lot. I got it. I thought it was convex, but it seems that I need check it out.