function R=implicitqrsingle(A)

% [Q,R]=QRSINGLE(A) naredi en korak implicitne QR metode z 
% enojnim premikom. Pri tem so vidne vse faze postopka.
% Matrika A je zgornja Hessenbergova

n=length(A);
premik=A(n,n);

% prva rotacija R12 je odvisna od prvega stolpca A-premik*I

r=sqrt((A(1,1)-premik)^2+A(2,1)^2);
c=(A(1,1)-premik)/r;
s=-A(2,1)/r;

A([1 2],:)=rowrot(A([1 2],:),c,s);
A(:,[1 2])=colrot(A(:,[1 2]),c,s)

for k=2:n-1
   [c,s]=givens(A(k,k-1),A(k+1,k-1));
   A([k k+1],:)=rowrot(A([k k+1],:),c,s);
   A(:,[k k+1])=colrot(A(:,[k k+1]),c,s)
end

R=A;
   


