複雑なヘミート行列A1
とが与えられA2
た場合、ゼロの目的関数と LMI 制約を使用して次の最適化問題を解きたいと思います。
MatlabでCVXを使用しようとしています:
cvx_begin
variable v1 nonnegative
variable v2
minimize (0)
subject to
(-v1*A1-v2*A2) == hermitian_semidefinite(n);
cvx_end
ここv1=cos(theta)
とv1=sin(theta)
. 上記の CVX コードの最適化問題はv1=v2=0
、制約を満たすように常に設定できるため、常に実行可能であることがわかります。v1^2+v2^2=1
制約を追加する必要があると思います。ただし、正方形の制約を追加すると、次のエラーが発生します。
Error using cvxprob/newcnstr (line 192)
Disciplined convex programming error:
Invalid constraint: {convex} == {real constant}
Error in == (line 12)
b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '==' );
Error in LMI_GM (line 60)
square(v1)+square(v2)==1;
元の最適化問題を解決するために CVX コードを変更するにはどうすればよいですか?