Gio
January 20, 2017, 10:05am
1
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);
a1=a1’;
real©+2 ([real©;imag©].’ * [real(a1);imag(a1)]-real(a1(1))real(c(1))) -1-eps<= 0;%
-real©-2 ([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 )
m=[0:2*N-2].’;
k=[0:N-1];
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?
Gio
January 20, 2017, 2:16pm
3
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?
Gio
January 20, 2017, 2:51pm
5
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.