How to write my constraint?

Dear all,
I have this optimization problem in CVX

obj_funct = 2*[real©;imag©].’ * [real®;imag®]-real(c(1)) * real(r(1));

% problem solving
minimize obj_funct

subject to

       X == hermitian_semidefinite(N);
      c==F'*diag(F * X * F')

a1=exp(-1i * 2 * pi * u(1) k * d/lambda);
([real©;imag©].’ * [real(a1);imag(a1)]-real(a1(1))real(c(1))) -1-eps<= 0;%
([real©;imag©].’ * [real(a1);imag(a1)]-real(a1(1))*real(c(1)))+1-eps<=0 ;

Where F is:

function [ F ] = F_matrix(N,d,lambda )

F=exp(-1i * m * 2 * pi * k *(d/lambda)/(2 * N-1));

Can you help me, please

Which variables are CVX variables (other than presumably, X) as opposed to MATLAB variables?

I’m sorry I have forgotten to specify them.


cvx_precision best
cvx_solver sedumi
cvx_begin SDP

% optimization variables
variable c(N,1) complex;
variable X(N,N) Hermitian;

Are F and a1 (evaluate to) constants?

Why are you declaring c as a variable and using == constraint, instead of not declaring c and using = to assign it?

This is the formal problem

Did you try entering your problem in CVX? What happened?

It looks like (correct me if I am wrong) that other than the semidefinite constraint on X, the objective function and constraints are linear. So it should be easy to enter in CVX. I’ll let you worry about the indices and dealing with the complex variables.