% testing the conjecture that the "good" gammas belong to some % convex set in R^m h = .1; m=3; B = 1+h+h.^2; n = 2; good = []; for i=1:size(gmat2,2) g = gmat2(:,i); gam = reshape(g,[m m]); [A,fval] = gamrmlp2(gam,h); if abs(fval)<=B+1e-10 good(end+1) = i; end end return REALEX = []; for t=1:1000 i = round(rand*size(gmat1,2)); g1 = gmat1(:,i); i = round(rand*size(BADG,2)); g2 = BADG(:,i); t0 = 0; t1 = 1; while 1 t = (t0+t1)/2 g = g1*t + g2*(1-t); gam = reshape(g,[m m]); [A,fval] = gamrmlp2(gam,h); if abs(fval)<=B+1e-10 % we're good -- make t smaller t1 = t; else % we're bad -- make t bigger t0 = t; end if t1-t0<1e-9 break end end REALEX = [REALEX g]; nrx = size(REALEX,2) end return %NEWG = []; %BADG = []; for i=1:10000 [A,phi,fval] = gamcheck0(m,n,h); A = A(:,:,end); [gam,fval] = gamrmlp(A); g = gam(:); b = inconvhull(g,gmat1); if abs(fval)<=B+1e-10 % we're good -- so let's be in the conv hull if ~b NEWG = [NEWG g]; gmat1 = [gmat1 g]; end else % we're bad -- so best not be in the conv hull BADG = [BADG g]; if b 'PROBLEM! Bad g in conv hull!' keyboard end end end return %for i=1:size(gmat1,2) % gam = reshape(gmat1(:,i),[m m]); for i=1:10 lam = rand(1,size(gmat1,2)); lam = lam/sum(lam); lam = repmat(lam,[m^2 1]); gam = sum(lam.*gmat1,2); gam = reshape(gam,[m m]); [A,fval] = gamrmlp2(gam,h); if abs(fval)>B+1e-10 'baaddddd' keyboard end i end