function RR=minnew(A,B,C)
R1=sdpvar(2,2);
R2=sdpvar(2,2);
R3=sdpvar(2,2);
R4=sdpvar(2,2);
R5=sdpvar(2,2);
R6=sdpvar(2,2);
R7=sdpvar(2,2);
R8=sdpvar(2,2);
R9=sdpvar(2,2);
R10=sdpvar(2,2);
R11=sdpvar(2,2);
R12=sdpvar(2,2);
X=blkdiag(R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12);
obj=norm(A*X*B-C);
v=[X>=0];
opt=sdpsettings('solver','sedumi','sedumi.eps',1e-20,'sedumi.maxiter',100);
solvesdp(v,obj,opt);
RR=double(X);
obj=norm(A*X*B-C);
v=[X>=0];
opt=sdpsettings('solver','mosek');
solvesdp(v,obj,opt);
RR=double(X);
opt=sdpsettings('solver','mosek','debug',1);
solvesdp(v,obj,opt);
function [Xopt,errore]=minLMI(A,B,C)
[m,r]=size(C);
[m,n]=size(A);
nm = n/r;
ee=10^-9;
setlmis([])
X=lmivar(1,repmat([r,1],nm,1));
Y=lmivar(1,[r,1]);
lmiterm([-1,1,1,X],1,1);
lmiterm([1,1,1,0],-ee*eye(nm*r))
%A<[Y 0;0 0]
lmiterm([2 1 1 X],-C'*A,B,'s')
lmiterm([2,1,1,0],C'*C)
lmiterm([2,1,2,X],-B',1)
lmiterm([2,2,2,0],-inv(A'*A))
lmiterm([-2,1,1,Y],1,1)
lmiterm([-2,2,2,0],zeros(n,r))
%0<B1
lmiterm([-3,1,1,0],eye(r))
%Y<lambda*B1
lmiterm([4,1,1,Y],1,1)
lmiterm([-4,1,1,0],eye(r))
LMIsist=getlmis;
options=([1e-15,500,1e10,30,0]);
[errmin,xvalutato]=gevp(LMIsist,1,options);
Xopt=dec2mat(LMIsist,xvalutato,X);
errore=sqrt(errmin)
function RR=minnew3(A,B,C)
[m,r]=size(C);
[m,n]=size(A);
nm = n/r;
ee=sdpvar(1,1);
R1=sdpvar(2,2);
R2=sdpvar(2,2);
R3=sdpvar(2,2);
R4=sdpvar(2,2);
R5=sdpvar(2,2);
R6=sdpvar(2,2);
R7=sdpvar(2,2);
R8=sdpvar(2,2);
R9=sdpvar(2,2);
R10=sdpvar(2,2);
R11=sdpvar(2,2);
R12=sdpvar(2,2);
X=blkdiag(R1,R2,R3,R4,R5,R6,R7,R8,R9,R10,R11,R12);
F=[[C'*C-C'*A*X*B-B'*X*A'*C-ee*eye(r) -B'*X;
-X*B -inv(A'*A) ] < 0,X>=0];
sol=solvesdp(F,ee);
RR=double(X);
>> eig(A'*A)
ans =
1.468926470288500e-15 1.468926470310432e-15 4.166500229953062e-13 4.166500229953183e-13 4.844656278979242e-13 4.844656278979328e-13 5.797188272585414e-13 5.797188272585999e-13 9.808581270744462e-13 9.808581270744545e-13 1.702620885435675e-12 1.702620885435733e-12 2.833219150567907e-12 2.833219150567916e-12 4.372633994054583e-12 4.372633994054755e-12 1.206465435729847e-11 1.206465435729873e-11 2.450315844979118e-11 2.450315844979123e-11 1.657671493142084e-10 1.657671493142087e-10 1.041004009811770e-09 1.041004009811770e-09
RR = minnew3(A*1e5,B,C*1e5);norm(A*RR*B-C)
ans =
4.716288311534027e-05