function [Xopt,LMDopt] = lambda_upper(K1,K2,A1,C1,A2,C2 )
% Calculate the value of lambda s.t. X > Phi(K1,K2,X)
F1 = A1 + K1*C1;
F2 = A2 + K2*C2;
N = length(A1);
Y = sdpvar(N,N,'symmetric');
Z1 = Y*K1;
Z2 = Y*K2;
lmd1 = sdpvar(1,1);
lmd2 = sdpvar(1,1);
F = [ 0 <= Y <= eye(N)];
F = [F, [Y sqrtm(lmd1)*(Y*A2 + Z2*C2) sqrtm(lmd2)*(Y*A1 + Z1*C1); sqrtm(lmd1)*(Y*A2 + Z2*C2) Y zeros(N,N); sqrtm(lmd2)*(Y*A1 + Z1*C1) zeros(N,N) Y] > 0];
F = [F, 0 <= lmd1 <= 1, 0 <= lmd2 <= 1, lmd1 + lmd2 == 1];
%LMDopt = bisection(F,lmd1,sdpsettings('solver','bmibnb'))
sol = optimize(F,lmd1,sdpsettings('solver','bmibnb'));
% Analyze error flags
if sol.problem == 0
else
display('Hmm, something went wrong!');
yalmiperror(sol.problem)
end
Xopt = value(Y);
LMDopt = value(lmd1);
end