I have a optimization problem, which has been proved to be convex. My cvx code has been shown below:
cvx_begin
variable X(L,L) symmetric
variable t;
minimize t;
subject to
t*eye(Nr) - (A+B*X*C)*(A+B*X*C)' == hermitian_semidefinite(Nr);
-0.5*gamma*eye(L)<=X<=0.5*gamma*eye(L);
X==diag(diag(X));
t>=0;
cvx_end
where matrices A, B, and C are complex. gamma is a real number. For optimizing variables, X is a real diagonal matrix, and t is a real value.
The error information is shown as below:
Disciplined convex programming error:
Only scalar quadratic forms can be specified in CVX
.
Error in test_EstChannel_MinCapacity (line 54)
t*eye(Nr) - (A+B*X*C)*(A+B*X*C)' == hermitian_semidefinite(Nr);
The problem has been proved to be convex. I am confused about this error. And I want to know how to solve this optimization problem using cvx, or other convex optimization toolbox.
If you can help me for this problem, thank you in advance.