Введение

Концепция линейной алгебры
В линейной алгебре преобразование Хаусхолдера (также известное как отражение Хаусхолдера или элементарный отражатель) — это линейное преобразование, описывающее отражение относительно плоскости или гиперплоскости, проходящей через начало координат. Преобразование Хаусхолдера было использовано в работе 1958 года, опубликованной Алстоном Скоттом Хаусхолдером. Его аналогом в общих пространствах с внутренним произведением является оператор Хаусхолдера.

Преобразование

Гиперплоскость отражения может быть определена своим нормальным вектором, единичным вектором (вектором с длиной 1), который ортогонален гиперплоскости. Отражение точки x относительно этой гиперплоскости является линейным преобразованием:

где x задается как единичный вектор-столбец с эрмитово сопряженным транспонированием.

Геометрическая оптика

В геометрической оптике зеркальное отражение может быть выражено через матрицу Хаусхолдера (см.).

Числовая линейная алгебра

Преобразования Хаусхолдера широко используются в численной линейной алгебре, например, для обнуления элементов ниже главной диагонали матрицы, для выполнения QR-разложений и на первом шаге QR-алгоритма. Они также широко применяются для приведения к форме Гессенберга. Для симметричных или эрмитовых матриц симметрия может быть сохранена, что приводит к тридиагонализации.

Разложение QR

Для вычисления QR-разложений можно использовать преобразования Хаусхолдера, отражая сначала один столбец матрицы на кратное стандартному базисному вектору, вычисляя матрицу преобразования, умножая ее на исходную матрицу и затем рекурсивно применяя к минорам этого произведения. Для этого требуется эрмитова унитарная матрица Q, которая переводит комплексный вектор x в комплексный кратный комплексного вектора e. Для QR-разложения e будет единичным координатным вектором, например, для k-й координаты. Комплексная матрица Q, имеющая вид Q = I + u u* при u* u = 2, обладает желаемым свойством быть эрмитовой унитарной. Здесь * обозначает сопряжённую транспозицию. Поскольку в операции участвуют только два вектора – x и e, вектор u должен иметь вид u = a x + b e, где a и b – комплексные коэффициенты, которые необходимо определить. Поскольку абсолютная фаза для u не имеет значения, коэффициент a можно выбрать положительным вещественным. Теперь Q x = x (1 – a (u* x)) + e (b (u* x)). Чтобы коэффициент при векторе x был равен нулю, два члена в u* x должны иметь одинаковую фазу с точностью до 180 градусов, то есть arg(b) = arg(e* x) с точностью до 180 градусов. Существует два решения в зависимости от того, выбирается чётное или нечётное кратное 180 градусов. Следовательно, для того чтобы комплексный коэффициент при векторе x был равен нулю, необходимо решить два линейных уравнения относительно модулей a и b. Фазы a и b уже определены. Пусть e – k-й единичный координатный вектор, так что e* e = 1 и xk = e* x, а |x| = sqrt(x* x). Тогда a и b можно выразить следующим образом: a = 1/sqrt(|x| (|x| + |xk|)) и b = a |x| exp(i*arg(xk)) или a = 1/sqrt(|x| (|x| |xk|)) и b = a |x| exp(i*arg(xk)). Множитель при e равен b/a для обоих решений. Первое решение предпочтительнее, поскольку знаменатель не может быть близок к нулю по сравнению с |x|.