Приведем некоторые свойства числа обусловленности. Ясно, что M³m и поэтому cond(А)³1. Если Р – матрица перестановок[7], то компоненты вектора Px лишь порядком отличаются от компонент вектора х. Отсюда следует, что

и
cond(P)=1 . В частности
cond(I)=1. Если
А умножается на скаляр
с, то
cond(cА)= cond(А). Если
D – диагональная матрица, то
QR–алгоритм начинается с разложения матрицы по Грамму-Шмидту

, затем меняются местами сомножители:

Эта матрица подобна первоначальной,

Этот процесс продолжается, причем собственные значения не изменяются:

Эта формула описывает QR–алгоритм без сдвигов. Обычно время которое тратится на такой процесс пропорционально кубу размерности матрицы – n3. Необходимо процесс ускорить, для чего используется предварительное приведение матрицы А к форме Хессенберга[8] а также используется алгоритм со сдвигом. Форма Хессенберга представляет из себя верхнюю треугольную матрицу (верхняя форма Хессенберга) у которой сохранена одна диагональ ниже главной, а элементы ниже этой диагонали равны нулю. Если матрица симметрична, то легко видеть, что матрица Хессенберга превращается в трехдиагональную матрицу[9]. При использовании матрицы Хессенберга время процесса пропорционально n2, а при использовании трехдиагональной матрицы – n.
Можно использовать другие соотношения

где Qs – унитарная, а Ls – нижняя треугольная матрица. Такой алгоритм носит название QL–алгоритма.
В общем случае, когда все собственные значения матрицы различны, последовательность матриц As имеет пределом нижнюю треугольную матрицу

, диагональные элементы которой представляют собой собственные значения матрицы
А, расположенные в порядке возрастания их модулей. Если матрица
А имеет кратные собственные значения, то предельная матрица не является треугольной, а содержит диагональные блоки порядка
p, соответствующие собственному числу

кратности
p.
В общем случае, наддиагональный элемент

матрицы
As на
s-ом шаге асимптотически равен

, где
kij – постоянная величина. Сходимость
QL–алгоритма вообще говоря недостаточна. Сходимость можно улучшить, если на каждом шаге вместо матрицы
As использовать матрицу
As-
ksI (
QL–алгоритм со сдвигом). Последовательность вычислений в этом случае описывается следующими соотношениями:

которые определяют матрицу

. При этом асимптотическое поведение элемента

определено соотношением

, а не

, как прежде. Если сдвиг
ks выбрать близко к величине

(наименьшее собственное значение), то в пределе внедиагональные элементы первой строки будут очень быстро стремиться к нулю. Когда ими можно пренебречь, элемент

с рабочей точностью равен

, остальные являются собственными значениями оставшейся матрицы
n-1
-го порядка. Тогда, если
QL–алгоритм выполнен без ускорения сходимости, то все равно

, и поэтому автоматически можно выделить величину сдвига
ks.
Если матрица А эрмитова, то очевидно, что и все матрицы Аs эрмитовы; если А действительная и симметричная, то все Qs ортогональны и все Аs действительны и симметричны.
Таким образом, разложение

производится в два этапа. Сначала матрица
А посредством двух конечных последовательностей преобразований Хаусхолдера где

, приводится к верхней двухдиагональной форме следующего вида:

Далее реализуется итерационный процесс приведения двухдиагональной матрицы J0 к диагональной форме, так что имеет место следующая последовательность:

где

а
Si и
Ti – диагональные матрицы.
Матрицы Ti выбираются так, чтобы последовательность матриц

сходилась к двухдиагональной матрице. Матрицы же
Si выбирают так, чтобы все
Ji сохраняли двухдиагональную форму. Переход

осуществляется с помощью плоских вращений (10) – преобразований Гивенса. Отсюда,

где

а матрица

вычисляется аналогично с заменой

на

.
Пусть начальный угол

произволен, однако следующие значения угла необходимо выбирать так, чтобы матрица
Ji+1 имела ту же форму, что и
Ji. Таким образом

не аннулирует ни одного элемента матрицы, но добавляет элемент

;

аннулирует

но добавляет

;

аннулирует

но добавляет

и т.д., наконец,

аннулирует

и ничего не добавляет.
Этот процесс часто называют процессом преследования. Так как

, то

, и
Mi+1 – трехдиагональная матрица, точно так же, как и
Mi. Начальный угол

можно выбрать так, чтобы преобразование

было
QR–преобразованием со сдвигом, равным
s.
Обычный QR–алгоритм со сдвигом можно записать в следующем виде:

где

– верхняя треугольная матрица. Следовательно,

. Параметр сдвига
s определяется собственным значением нижнего минора (размерности 2´2) матрицы
Mi. При таком выборе параметра
s метод обладает глобальной и почти всегда кубичной сходимостью.