function skopt=svdrebipart(a,k)
%
% Funkcija svdrebipart(a,k)uzastopnim pozivanjem funkcije svdbipart
% za biparticioniranje grafa razvrstava dokumente i rijeèi
% zadane dokumenti x rijeèi matricom a(1:m,1:n) u k skupina,
% minimizirajuæi pri tom vrijednost normaliziranog reza nropt.
%
skopt=svdbipart(a);
kpom=2;
[m,n]=size(a);
ind=1:m+n;
while true
    if kpom>=k
        return
    end
    nropt=inf;
    skoptpom=skopt;
    d=0;
    for i=1:kpom
        skpom=skopt;
        podsk=ind(find(skopt==i));
        podsk_retci=podsk(find(podsk<=m));
        podsk_stupci=podsk(find(podsk>m))-m;
        if (length(podsk_retci)>2) && (length(podsk_stupci)>2)
        if (sum(a(podsk_retci,podsk_stupci)')~=0) %&& (sum(a(podsk_retci,podsk_stupci))~=0)
            d=1;
            sk=svdbipart(a(podsk_retci,podsk_stupci));
            skpom(podsk(find(sk==2)))=kpom+1;
            nr=svdnormrez(skpom,kpom+1,a);
            if nr<nropt
                nropt=nr;
                skoptpom=skpom;
            end
        end
        end
    end
    if d==1
        kpom=kpom+1;
        skopt=skoptpom;
    else
        return
    end
end


