Hi all,
I normally solve the below equation manually(eigenvalue problem) (using MATLAB).
Now I would like to use cvx, for further flexibility.
The equation which I am dealing with is as the below:
What I want to get is the optimal w_{opt} based on
Maximize w^HAw subject to k = w^HBw
where, k is scalar constant, w is complex vector, A, B are Hermitian matrix which means positive semidefinite. The size of A, B are both N \times N usually N < 50 .
I have read this The DCP ruleset. The DCP ruleset mentions that “a convex scalar quadratic form”.
Then, can’t this be solvable through cvx?
I typed in cvx as the below, cvx returns the error message.
>> A = "pre-calculated Hermitian matrix";, B = pre-calculated "Hermitian matrix";
>> cvx_begin sdp
>> variables wopt(10) complex
>> maximize( quad_form(wopt, A) )
Error using type
Too many output arguments.
Error in cvx_pushobj (line 64)
cvx_dcp_error( type, 'unary', cvx_fastref( x, ~vx ) );
Error in maximize (line 15)
cvx_pushobj( 'maximize', x );
>> maximize( wopt'*A*wopt)
Error using * (line 155)
Disciplined convex programming error:
Invalid quadratic form: not real.
>> quad_form(wopt,A)
ans = cvx: positive convex
>> quad_form(wopt,B)
ans = cvx: positive convex
I’ve tried the example, “closest_toeplitz_psd.m”, it works but the above does not work.
It seems that it is hard to find the relative topics with this, I post this.
Thank you in advance!