# How to write my constraint?

Dear all,
I have this optimization problem in CVX

% 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);
a1=a1’;

Where F is:

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

m=[0:2*N-2].’;
k=[0:N-1];
F=exp(-1i * m * 2 * pi * k *(d/lambda)/(2 * N-1));

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

I’m sorry I have forgotten to specify them.

%% OPTIMIZATION PROBLEM (CVX)

cvx_quiet(true)
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.