Алгоритм ортогонализации грама - шмидта

Процесс Грама ― Шмидта ― наиболее известный алгоритм ортогонализации, при котором по линейно независимой системе a1,a2,...,ak строится ортогональная система b1,b2,...,bk такая, что каждый вектор bi линейно выражается через a1,a2,...,ai, то есть матрица перехода от {ai} к {bi} ― верхнетреугольная матрица.

Этот процесс применим также и к счётной системе векторов.

(Процесс Грама ― Шмидта может быть истолкован как разложение невырожденной квадратной матрицы в произведение ортогональной (или унитарной матрицы в случае эрмитова пространства) и верхнетреугольной матрицы с положительными диагональными элементами, что есть частный случай разложения Ивасавы. )

Классический процесс Грама — Шмидта

Алгоритм

Пусть имеются линейно независимые векторы алгоритм ортогонализации грама - шмидта - student2.ru

Определим оператор проекции следующим образом: алгоритм ортогонализации грама - шмидта - student2.ru

где алгоритм ортогонализации грама - шмидта - student2.ru — скалярное произведение векторов алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru . Этот оператор проецирует вектор алгоритм ортогонализации грама - шмидта - student2.ru ортогонально на вектор алгоритм ортогонализации грама - шмидта - student2.ru .

Классический процесс Грама — Шмидта выполняется следующим образом:

алгоритм ортогонализации грама - шмидта - student2.ru

На основе каждого вектора алгоритм ортогонализации грама - шмидта - student2.ru может быть получен нормированный вектор: алгоритм ортогонализации грама - шмидта - student2.ru (у нормированного вектора направление будет таким же, как у исходного, а длина — единичной).

Результаты процесса Грама — Шмидта:

алгоритм ортогонализации грама - шмидта - student2.ru — система ортогональных векторов либо

алгоритм ортогонализации грама - шмидта - student2.ru — система ортонормированных векторов.

Вычисление алгоритм ортогонализации грама - шмидта - student2.ru носит название ортогонализации Грама — Шмидта, а алгоритм ортогонализации грама - шмидта - student2.ru — ортонормализации Грама — Шмидта.

Геометрическая интерпретация — вариант 1

Рассмотрим формулу (2) — второй шаг алгоритма. Её геометрическое представление изображено на рис. 1:

алгоритм ортогонализации грама - шмидта - student2.ru

1 — получение проекции вектора алгоритм ортогонализации грама - шмидта - student2.ru на алгоритм ортогонализации грама - шмидта - student2.ru ;

2 — вычисление алгоритм ортогонализации грама - шмидта - student2.ru , то есть перпендикуляра, которым выполняется проецирование конца алгоритм ортогонализации грама - шмидта - student2.ru на алгоритм ортогонализации грама - шмидта - student2.ru . Этот перпендикуляр — вычисляемый в формуле (2) вектор алгоритм ортогонализации грама - шмидта - student2.ru ;

3 — перемещение полученного на шаге 2 вектора алгоритм ортогонализации грама - шмидта - student2.ru в начало координат. Это перемещение сделано на рисунке лишь для наглядности. Оно не является математическим действием и поэтому не отражается в формуле (2).

На рисунке видно, что вектор алгоритм ортогонализации грама - шмидта - student2.ru ортогонален вектору алгоритм ортогонализации грама - шмидта - student2.ru , так как является перпендикуляром, по которому алгоритм ортогонализации грама - шмидта - student2.ru проецируется на алгоритм ортогонализации грама - шмидта - student2.ru .

Рассмотрим формулу (3) — третий шаг алгоритма — в следующем варианте:

алгоритм ортогонализации грама - шмидта - student2.ru

Её геометрическое представление изображено на рис. 2:

алгоритм ортогонализации грама - шмидта - student2.ru

1 — получение проекции вектора алгоритм ортогонализации грама - шмидта - student2.ru на алгоритм ортогонализации грама - шмидта - student2.ru ;

2 — получение проекции вектора алгоритм ортогонализации грама - шмидта - student2.ru на алгоритм ортогонализации грама - шмидта - student2.ru ;

3 — вычисление суммы алгоритм ортогонализации грама - шмидта - student2.ru , то есть проекции вектора алгоритм ортогонализации грама - шмидта - student2.ru на плоскость, образуемую векторами алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru . Эта плоскость закрашена на рисунке серым цветом;

4 — вычисление алгоритм ортогонализации грама - шмидта - student2.ru , то есть перпендикуляра, которым выполняется проецирование конца алгоритм ортогонализации грама - шмидта - student2.ru на плоскость, образуемую векторами алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru . Этот перпендикуляр — вычисляемый в формуле (6) вектор алгоритм ортогонализации грама - шмидта - student2.ru ;

5 — перемещение полученного алгоритм ортогонализации грама - шмидта - student2.ru в начало координат. Это перемещение сделано на рисунке лишь для наглядности. Оно не является математическим действием и поэтому не отражается в формуле (6).

На рисунке видно, что вектор алгоритм ортогонализации грама - шмидта - student2.ru ортогонален векторам алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru , так как алгоритм ортогонализации грама - шмидта - student2.ru является перпендикуляром, по которому алгоритм ортогонализации грама - шмидта - student2.ru проецируется на плоскость, образуемую векторами алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru .

Таким образом, в процессе Грама — Шмидта для вычисления алгоритм ортогонализации грама - шмидта - student2.ru выполняется проецирование алгоритм ортогонализации грама - шмидта - student2.ru ортогонально на гиперплоскость, формируемую векторами алгоритм ортогонализации грама - шмидта - student2.ru . Вектор алгоритм ортогонализации грама - шмидта - student2.ru затем вычисляется как разность между алгоритм ортогонализации грама - шмидта - student2.ru и его проекцией. То есть алгоритм ортогонализации грама - шмидта - student2.ru — это перпендикуляр от конца алгоритм ортогонализации грама - шмидта - student2.ru к гиперплоскости, формируемой векторами алгоритм ортогонализации грама - шмидта - student2.ru . Поэтому алгоритм ортогонализации грама - шмидта - student2.ru ортогонален векторам, образующим эту гиперплоскость.

Геометрическая интерпретация — вариант 2

Рассмотрим проекции некоторого вектора алгоритм ортогонализации грама - шмидта - student2.ru на вектора алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru как компоненты вектора алгоритм ортогонализации грама - шмидта - student2.ru в направлениях алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru (рис. 3)

алгоритм ортогонализации грама - шмидта - student2.ru

Если удалить из алгоритм ортогонализации грама - шмидта - student2.ru компоненту в направлении алгоритм ортогонализации грама - шмидта - student2.ru , то алгоритм ортогонализации грама - шмидта - student2.ru станет ортогонален алгоритм ортогонализации грама - шмидта - student2.ru (рис. 4):

алгоритм ортогонализации грама - шмидта - student2.ru

Если из алгоритм ортогонализации грама - шмидта - student2.ru удалить компоненты в направлениях алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru , то станет ортогонален и алгоритм ортогонализации грама - шмидта - student2.ru , и алгоритм ортогонализации грама - шмидта - student2.ru (рис. 5):

алгоритм ортогонализации грама - шмидта - student2.ru

В формуле (2) из вектора алгоритм ортогонализации грама - шмидта - student2.ru удаляется компонента в направлении вектора алгоритм ортогонализации грама - шмидта - student2.ru . Получаемый вектор алгоритм ортогонализации грама - шмидта - student2.ru не содержит компоненту в направлении алгоритм ортогонализации грама - шмидта - student2.ru и поэтому ортогонален вектору алгоритм ортогонализации грама - шмидта - student2.ru .

В формуле (3) из вектора алгоритм ортогонализации грама - шмидта - student2.ru удаляются компоненты в направлениях алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru (формуле 3 соответствует переход от рис. 3 к рис. 5; рис. 4 не соответствует формуле 3). Получаемый вектор алгоритм ортогонализации грама - шмидта - student2.ru ортогонален векторам алгоритм ортогонализации грама - шмидта - student2.ru и алгоритм ортогонализации грама - шмидта - student2.ru .

В формуле (4) из вектора алгоритм ортогонализации грама - шмидта - student2.ru удаляются компоненты в направлениях алгоритм ортогонализации грама - шмидта - student2.ru . Получаемый вектор алгоритм ортогонализации грама - шмидта - student2.ru ортогонален векторам алгоритм ортогонализации грама - шмидта - student2.ru .

Таким образом, по формулам (1) — (4) на основе векторов алгоритм ортогонализации грама - шмидта - student2.ru получается набор ортогональных векторов алгоритм ортогонализации грама - шмидта - student2.ru .

Численная неустойчивость

При вычислении на ЭВМ по формулам (1) — (5) вектора алгоритм ортогонализации грама - шмидта - student2.ru часто не точно ортогональны из-за ошибок округления. Из-за потери ортогональности в процессе вычислений классический процесс Грама — Шмидта называют численно неустойчивым.



Наши рекомендации