This is my function, What I want to get is an optimal matrix Z of dimensions 7x7, but the cvx_status is infeasible, I don’t know what is wrong??
function [EDM,X]=sdr(T)
n=5;
k=2;
load(‘mds_train.mat’);
T=time_matrix;
T2=time_matrix.time_matrix;
e=ones(n,1);
Ik=eye(k);
cvx_begin
variable Z(n+k,n+k) symmetric
K=diag(Z(k+1:k+n,k+1:k+n))e’+ediag(Z(k+1:k+n,k+1:k+n))’-2Z(k+1:k+n,k+1:k+n);
minimize square_pos(norm((T-K),‘fro’));
for i=1:n
for j=1:n
if i==j
eij=zeros(n,1);
else
eij=zeros(n,1);
eij(i)=1;
eij(j)=-1;
end
Eij=zeros(k+n,1);
Eij(k+1:k+n)=eij;
Eij2=Eij*(Eij');
E=Eij2*Z;
Et=trace(E);
K=diag(Z(k+1:k+n,k+1:k+n))*e'+e*diag(Z(k+1:k+n,k+1:k+n))'-2*Z(k+1:k+n,k+1:k+n);
subject to
Et== T2(i,j);
Z == semidefinite(n+k);
Z(1:k,1:k)==Ik;
end
end
cvx_end
EDM=Z;
X=Z(k+1:k+n,k+1:k+n);
end
HERE IS THE RESULTS:
Status: Infeasible
Optimal value (cvx_optval): +Inf
ans =
NaN 0 NaN NaN NaN NaN NaN
0 NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN
NaN NaN NaN NaN NaN NaN NaN