function tweakproc(m0,n0) global minv minv = 1000; global m n m=m0; n=n0; myopt = optimset('Diagnostics','off'); myopt = optimset('Display','off'); zz = zeros(1,m^n)+1e-10; oo = zz*0+1; while 1 %x = rand(2,1); x = rand(m^n,1); x = x/sum(x); [x,fval] = fmincon(@procobj1,x,[],[],oo,1,zz',oo',[],myopt); fprintf('********************* minv = %1.9f \n',minv); end return function y = procobj1(P) global m n minv minP [hh,Ht,H] = gethhn(P,m,n); H0 = hh+eye(n); H1 = fillHn(n); y = sum(sum(abs(H0-H1).^2)); if y