1.2 Ортогональные преобразования отражением
Следующей важной унитарной матрицей, с помощью которой в различных алгоритмах выполняются ортогональные преобразования, являются матрицы отражения. Использование этого инструмента позволяет, например, последовательными эквивалентными преобразова-ниями свести исходную матрицу к верхней треугольной (QR-алгоритмы), трех или двух диагональным и т.д.
Смысл этого подхода состоит в том, чтобы умножением матрицы A слева на специально подобранную унитарную матрицу один из столбцов исходной матрицы (например,
) преобразовать в вектор, параллельный единичному координатному вектору
(
или
). Тогда, последовательно подбирая нужные унитарные матрицы
и соответствующие единичные векторы
, после n циклов эквивалентных преобразований можно будет получить верхнюю треугольную матрицу:
При выборе в качестве начального вектора и умножениях матрицы A на ортогональные матрицы справа в конечном счете можно получить нижнюю треугольную матрицу.
Весь вопрос состоит в том, как формировать унитарную матрицу с заданными свойствами из векторов и столбцов
матрицы A.
Из аналитической геометрии известно, что любые векторы, лежащие в плоскости, взаимно перпендикулярны с ее нормалью, т.е. их проекции на нормаль равны нулю. Последнее эквивалентно равенству нулю скалярных произведений.
Чтобы (k+1) – мерный векторный треугольник сделать параллельным k-мерной гиперплоскости с нормалью n (вектор единичной длины, перпендикулярный плоскости), необходимо приравнять нулю скалярное произведение: (n, y)=0.
Пусть вектор z не параллелен плоскости, заданной своей нормалью, тогда его проекции на эту плоскость и нормаль соответственно будут представлены векторами и
. Вектор z и вектор зеркально-симметричный ему
через эти проекции можно выразить так:
Разрешив первое относительно и подставив его в
, получим
Проекцию вектора можно заменить скалярным произведением (n, z) и подставить в выражение для
, выразив тем самым зеркально отраженный вектор через исходный вектор и нормаль гиперплоскости:
Здесь M представляет унитарную матрицу, преобразующую произвольный вектор в зеркально отраженный. В том, что матрица унитарная, нетрудно убедиться, проверив ее произведение со своей комплексно сопряженной:
Выражение для зеркально отраженного вектора позволяет представить нормальный вектор в виде линейной функции от задаваемого вектора z:
Число в знаменателе является нормирующим множителем. Нормальный вектор представляющий гиперплоскость обязан иметь единичную длину. Коэффициент
, который в общем случае является комплексным числом, необходимо выбрать так, чтобы скалярное произведение
было больше нуля. Если учесть соотношение для согласованных норм:
, то
Выбрав для комплексных матриц или
– для действительных матриц, будем иметь
Такое нормирование не нарушает коллинеарности отраженного и единичного векторов:
Рассмотрим пример воздействия ортогонального преобразования на матрицу
.
Приведенная методика получения унитарных (и ортогональных в частности) матриц используется во многих стандартных алгоритмах в качестве инструмента частичного преобразования исходных матриц к двух или трех диагональным, для которых в дальнейшем применяются рекуррентные формулы получения решения уравнений, называемые в литературе методом прогонки для систем с ленточными матрицами.
0 комментариев