chenchen
(chenchen)
1
cvx_begin
variable e(N,1) complex
minimize ((vs+e)'*inv(Rc)*(vs+e))
subject to
vs'*e==0
(vs+e)'*inv(Rc)*(vs+e)<= vs'*inv(Rc)*vs
cvx_end
vs and e are N1 complex vector,Rc is a NN comlpex matrix.
Disciplined convex programming error:
Invalid quadratic form: product is complex.
I think the problem is due to round-off level imaginary terms in quadratic forms. It seems thhat CVX is rather fussy.
The following worked for me on a test problem I tried:
cvx_begin
variable e(N,1) complex
minimize (quad_form(vs+e,inv(Rc)))
subject to
vs'*e==0
quad_form(vs+e,inv(Rc)) <= quad_form(vs,inv(Rc))
cvx_end
real(vs'*inv(Rc)*vs)
can be used instead of quad_form(vs,inv(Rc))
and accomplishes eliminating the round-off level imaginary component.