function [A,fval] = gamrmlp2(gam,h) % exploring |Ag| global nstate nstate=size(gam,1); m = nstate; T = 1; adim = m^2; gdim = 0; xdim = adim; % box constraints LB = zeros(adim,1)+1e-10; UB = ones(adim,1); % normalization constraints Aeq = zeros(m*T,xdim); for i=1:m*T for j=1:m Aeq(i,m*(i-1)+j) = 1; end end Beq = ones(m*T,1); % stricture constraints [Aina,Bina] = constrict(m,h,T); f = gam(:); [xp,fvalp] = linprog( f,Aina,Bina,Aeq,Beq,LB,UB); [xn,fvaln] = linprog(-f,Aina,Bina,Aeq,Beq,LB,UB); if abs(fvalp)>abs(fvaln) x = xp; fval = fvalp; else x = xn; fval = fvaln; end A = reshape(x,[m m]); return