Eine Implementation des allgemeinen $QR$--Algorithmus beginnt mit der 
Reduktion auf Hessenberggestalt.
Dieses kann \"ahnlich wie bei einer $QR$--Zerlegung gemacht werden. 
\begin{small}
\verbatiminput{../matlab/routines/HESSENBERG.m}
\end{small}

F\"ur den $QR$--Algorithmus selbst kann man dann eine BLACK--BOX--Routine
schreiben, die den jeweils gew\"unschten QR--Schritt einarbeitet.
Klar sollte im reellen Fall sein, dass man ggf. $2\times 2$--Bl\"ocke nicht 
aufl\"osen kann.
\begin{small}
\verbatiminput{../matlab/routines/QRALG.m}
\end{small}

F\"ur den $QR$--Schritt verwenden wir den implizten Francis--Shift.
\begin{small}
\verbatiminput{../matlab/routines/IFRANCIS.m}
\end{small}

Wir vergleichen den Algorithmus bez\"uglich Iterationszahl, Rechenzeit und
Genauigkeit mit 'schur' aus \ml~anhand zuf\"allig erzeugter Matrizen.
Von der Rechenzeit nehmen sich beide Algorithmen nicht soviel. Unser Verfahren
ist etwas langsamer.

\begin{center}
\unitlength1cm
\begin{picture}(8,8)
\put(-1,0){\epsfig{file=../114/flops.epsc,height=8cm,clip=}}
\end{picture}
\end{center}

Das Residuum $\|A-QTQ^\top\|_1/\|A\|_1$ zwischen $A$ und $QTQ^\top$ ist
ebenfalls in der gleichen Gr\"o{\ss}enordnung wie bei \ml.



\begin{center}
\unitlength1cm
\begin{picture}(8,8)
\put(-1,0){\epsfig{file=../114/residuum.epsc,height=8cm,clip=}}
\end{picture}
\end{center}

Schlie{\ss}lich liegt auch der maximale Fehler zwischen den berechneten
Eigenwerten in der Gr\"o{\ss}enordnung der Maschinengenauigkeit.

\begin{center}
\unitlength1cm
\begin{picture}(8,8)
\put(-1,0){\epsfig{file=../114/abstand.epsc,height=8cm,clip=}}
\end{picture}
\end{center}




