m=3 n=3 n1 = n-1; phi1 = zeros(m^n1,1); [Ainf,Binf] = lipab(m,n); [Ainf1,Binf1] = lipab(m,n1); LBf = zeros(m^n,1); UBf = n1+zeros(m^n,1); LBf1 = zeros(m^n1,1); UBf1 = n1+zeros(m^n1,1); good = 1; while good global cc A0=pnormdim(rand(m,m,n-1),1); C0 = pnormdim(rand(m,1),1); %C0 = zeros(m,1); C0(2)=1; x = optmasklp(A0,C0); K = cc; %mu = (K>0)'; b = round(rand); if b FN = randFN(m,-n,1,'no'); phi = FN{end}; phi = phi-min(phi); phi = round(phi); else phi = round(x-min(x))'; end %LB = zeros(m^n,1); %UB = n+zeros(m^n,1); %[phi,v] = linprog(-K,[],[],[],[],LB,UB); %phi = phi'; [MU,S] = k2mask(K,m,n); phim = fillgmask(MU,m); % good = (phi*K <= S + 1e-9); %if ~good % 'badS' % keyboard %end %good = (phi*K <= phim*K + 1e-9); %if ~good % 'baddd' % keyboard %end %phi1 = maxlip(K,phi,m,n); %g0 = all(Ainf1*phi1<=Binf1); %if ~g0 % 'badg0' % keyboard %end if 0 g = 1; for k=1:n xk = find(phi==k); g = g & (0 <= (phim(xk)-phi(xk))*K(xk) + 1e-9) end if ~g 'bagg' keyboard end end end