Неунитарные элементарные матрицы, аналогичные плоским вращениям
46. Большая численная устойчивость алгорифмов, основанных на унитарных преобразованиях, определяется тем, что евклидова и
-норма инвариантны (если не учитывать ошибки округления), поэтому не может быть постепенного увеличения в целом элементов последовательно преобразованных матриц. Это важно, потому что на каждом шаге текущие ошибки округления в основном пропорциональны величине элементов преобразованных матриц.
Неунитарные элементарные матрицы не имеют свойств естественной устойчивости такого вида, но мы можем организовать вычисление так, чтобы дать им ограниченную форму устойчивости. Рассмотрим сначала проблему § 20. Там мы имели вектор х и делали его
элемент нулем с помощью левого умножения на матрицу, которая влияла лишь на
элементы, причем оба из них были заменены линейной комбинацией своих прежних значений. Теперь аналогичный эффект имеет левое умножение на матрицу
(гл. 1, §
Она оставляет без изменения все компоненты, за исключением
которая определена равенством
Мы можем сделать
нулем, беря
Однако если мы сделаем так, значение
может быть произвольно большим, возможно, даже бесконечным. Следовательно,
может быть произвольно большой и любая матрица А, которая умножается слева на может иметь в своей
строке сколь угодно большие элементы. Из анализа, который мы дали, очевидно, что это нас не устраивает.
Мы можем повысить степень устойчивости следующим образом.
(i) Если
то поступаем, как выше, и имеем 1.
(ii) Если
то сначала умножаем слева на (гл. 1, § 40 (i)), переставляя таким образом
элементы, и затем умножаем на соответствующую
Итак, матрица, на которую мы умножаем слева, может быть представлена в виде
где Гц есть или
или
смотря по тому, была необходима перестановка или нет. Мы не рассмотрели случая, когда
Это не представляет никакой трудности; мы должны лишь взять
так что
в этом случае.
Матричное произведение
сравнимо по влиянию с вращением в плоскости
и мы могли бы ожидать, что оно должно быть достаточно устойчиво. Будем обозначать это произведение через
и простое вычисление показывает, что
Аналогично алгорифмам, в которых мы используем последовательность вращений в плоскостях
имеем алгорифмы, в которых используем совокупность матриц
Мы не можем дать какой-либо общий анализ ошибок, приводящий к оценкам вида
обычно для общих преобразований произвольных матриц самое лучшее, что можно достичь, так это оценки вида
Поэтому мы дадим лишь конкретный анализ в соответствующем месте в последующих главах.
Существует несколько алгорифмов, содержащих последовательности элементарных преобразований, в которых перестановки недопустимы, так как они могли бы уничтожить структуру нулей, полученных на предыдущих шагах. Чтобы выполнить эти алгорифмы, мы вынуждены пользоваться матрицами
а не и, следовательно, может возникнуть положение, в котором алгорифмы сколь угодно неустойчивы. Такие алгорифмы не имеют аналогов, основанных на плоских вращениях, так как их использование, аналогичное использованию
неизбежно уничтожило бы структуру нулей.