Hi folks,
Using YALMIP I'm trying to optimize the phases of some Fourier transform, for which I use some complex matrix quantity representing the exponentiated phases ( '= exp(i*phase)' ).
Therefore, the complex matrix entries are constrained to have an absolute value of 1 (see code below). The problem is that PENLAB seems to be the only solver working for this nonlinear semidefinite program, but the result it gets is a matrix having all
entries set to zero, which does not even satisfy the constraints.
Can anybody tell me what the problem is? Any help is appreciated...
much thanks in advance,
Andreas
CODE (Remark: 'covXdes' and 'absX' are ordinary, real matlab matrices of appropriate size):
*********************************************************************************************************
yalmip('clear');
X = sdpvar(N,M,'full','complex');
constraints = [X(:).*conj(X(:))==1];
objective = sum(sum(abs( (absX.*X)'*(absX.*conj(X)) - covXdes ),1 ),2 );
sol = optimize( constraints, objective, sdpsettings('solver','penlab','debug',0,'verbose',2) )