function qpcheck(m0,n0) global m n randomize m = m0; n = n0; global pstr pstr = mfilename global lstr rstr LB = zeros(n,1)*1e-12; global myopt global x while 1 x = ceil(m*rand(1,n)) a = ones(n,1)/sqrt(n); [a,y] = fmincon(@brutemax,a,[],[],[],[],LB,[],[],myopt); a0 = a/sqrt(sum(a.^2)) f = -y a = quadprog(eye(n),0*a,[],[],x,1); a1 = a/sqrt(sum(a.^2)) if totdif(a0,a1)>1e-3 'bad' keyboard end end return function y = brutemax(a) global x a = a/sqrt(sum(a.^2)); a = abs(a); f = x*a; y = -f; return