clear;
Amin = [0, -3.5];
Amax = [6, -3.5];
Bmin = [-4, 3.5];
Bmax = [4, 3.5];
N = length(Amin);
Asums = sdpvar(N, 1);
Bsums = sdpvar(N, 1);
A = sdpvar(N, N, 'full');
B = sdpvar(N, N, 'full');
C = sdpvar(N, N, 'full', 'complex');
D = sdpvar(N, N, 'full', 'complex');
Constraints = [D >= 0];
Constraints = [Constraints, ...
imag(D(1,1)) == 0, imag(D(2,2)) == 0];
Constraints = [Constraints, ...
real(C) == A, imag(C) == B];
e1 = 0.961538461538461;
e2 = 4.80769230769231i;
E = [e1 - e2, -e1 + e2;
-e1 + e2, e1 - e2];
Constraints = [Constraints, Asums == A * ones(N,1), ...
Bsums == B * ones(N,1), ...
Amin' <= Asums <= Amax', ...
Bmin' <= Bsums <= Bmax'];
Constraints = [Constraints, C(1,1) == 0, C(2,2) == 0, ...
C(1,2) == (D(1,1) - D(1,2)) * conj(-E(1,2)), ...
C(2,1) == (D(2,2) - D(2,1)) * conj(-E(2,1))];
% Solution
assign(Asums,[4.388889; -3.5]);
assign(Bsums,[0.944444; 3.5]);
assign(C,[0, 4.388889+0.944444j; -3.5+3.5j, 0]);
assign(A, real(value(C)));
assign(B, imag(value(C)))
assign(D, [0.9523^2, 0.5425+0.84j; 0.5425-0.84j, 1.05^2]);
objective = Asums;
options = sdpsettings('solver', 'mosek', ...
'mosek.MSK_DPAR_ANA_SOL_INFEAS_TOL', 0.1);
optimize(Constraints, objective, options)
% Extract the solution
Sol.A = value(A);
Sol.B = value(B);
Sol.D = value(D);
check(Constraints)
Constraints = [Constraints, Asums == A * ones(N,1), ... Bsums == B * ones(N,1), ... Amin' <= Asums <= Amax', ... Bmin' <= Bsums <= Bmax']; Constraints = [Constraints, C(1,1) == 0, C(2,2) == 0, ... C(1,2) == (D(1,1) - D(1,2)) * conj(-E(1,2)), ... C(2,1) == (D(2,2) - D(2,1)) * conj(-E(2,1))]; % Solution assign(Asums,[4.388889; -3.5]); assign(Bsums,[0.944444; 3.5]); assign(C,[0, 4.388889+0.944444j; -3.5+3.5j, 0]); assign(A, real(value(C))); assign(B, imag(value(C)))
assign(D, [0.9523^2, 0.5425+0.84j; 0.5425-0.84j, 1.05^2]);
check(Constraints) +++++++++++++++++++++++++++++++++++++++++++++++++++++| ID| Constraint| Primal residual|+++++++++++++++++++++++++++++++++++++++++++++++++++++| #1| Elementwise inequality| 0.90688|| #2| Equality constraint| 0|| #3| Equality constraint| 0|| #4| Equality constraint| 0|| #5| Equality constraint| 0|| #6| Equality constraint| 0|| #7| Equality constraint| 0|| #8| Elementwise inequality| 0|| #9| Elementwise inequality| 0|| #10| Equality constraint| 0|| #11| Equality constraint| 0|| #12| Equality constraint| -0.00033864|| #13| Equality constraint| -1.8971e-15|+++++++++++++++++++++++++++++++++++++++++++++++++++++
Interior-point solution summary
Problem status : PRIMAL_AND_DUAL_FEASIBLE
Solution status : OPTIMAL
Primal. obj: -8.7777777134e+02 nrm: 3e+02 Viol. con: 1e-08 var: 0e+00 barvar: 0e+00
Dual. obj: -8.7777777116e+02 nrm: 5e+00 Viol. con: 0e+00 var: 2e-08 barvar: 8e-09