function v = supsi(K,m0,n0) global m n K0 myopt m = m0; n = n0; K0 = K; w = rand(n,1); [w,fv] = fminunc(@Psiw,w,myopt); v = -fv; return function y = Psiw(w) global K0 m n K = K0; S = 0; w = w/sqrt(sum(w.^2)); for i=1:n S = S + w(i)*sum(pl(K)); K = getK1(K,m,n-i+1); end y = -S; return