Открыть сервис

Метод Грама — Шмидта

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

История

Метод назван в честь датского математика Йёргена Педерсена Грама (1850–1916) и немецкого математика Эрхарда Шмидта (1876–1959). Грам опубликовал основы метода в 1883 году в работе о методе наименьших квадратов, а Шмидт в 1907 году систематизировал и обобщил алгоритм, придав ему современный вид. Ранее аналогичная идея встречалась в работах Пьера-Симона Лапласа и Огюстена Луи Коши, однако именно вклад Грама и Шмидта закрепил алгоритм в математической практике.

Алгоритм

Пусть задана система линейно независимых векторов \(v_1, v_2, \dots, v_n\) в пространстве со скалярным произведением \(\langle \cdot, \cdot \rangle\). Процесс ортогонализации состоит из последовательных шагов.

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

На каждом шаге \(k\) из исходного вектора \(v_k\) вычитаются проекции на уже построенные ортонормированные векторы \(u_1, \dots, u_{k-1}\):

  1. \(u_1 = \dfrac{v_1}{\|v_1\|}\)
  2. Для \(k = 2, \dots, n\):

\[ w_k = v_k - \sum_{j=1}^{k-1} \langle v_k, u_j \rangle u_j, \quad u_k = \dfrac{w_k}{\|w_k\|} \]

Полученные векторы \(u_1, \dots, u_n\) образуют ортонормированный базис той же линейной оболочки, что и исходные векторы.

Модифицированный процесс Грама — Шмидта

Модифицированная версия алгоритма отличается порядком вычислений: вместо вычитания всех проекций сразу, вектор \(w_k\) обновляется последовательно на каждом шаге. Это повышает численную устойчивость метода при вычислениях на компьютере, уменьшая накопление ошибок округления.

Свойства и особенности

  • Сохранение линейной оболочки: на каждом шаге \(\text{span}(u_1, \dots, u_k) = \text{span}(v_1, \dots, v_k)\).
  • Неединственность: результат зависит от порядка исходных векторов. Изменение порядка приводит к другому ортонормированному базису той же оболочки.
  • Ортогонализация Грама — Шмидта применима не только к конечным наборам векторов, но и к последовательностям функций в гильбертовых пространствах (например, для построения ортогональных полиномов).
  • Численная устойчивость: классический алгоритм чувствителен к ошибкам округления; модифицированная версия существенно устойчивее, однако для больших систем предпочтительнее использовать преобразование Хаусхолдера или вращения Гивенса.

Применение

Метод Грама — Шмидта широко используется в различных областях математики и её приложений:

  • QR-разложение: разложение матрицы \(A\) на произведение ортогональной матрицы \(Q\) и верхнетреугольной матрицы \(R\). Это разложение лежит в основе многих численных методов решения систем линейных уравнений и задач на собственные значения.
  • Метод наименьших квадратов: ортогонализация позволяет упростить решение переопределённых систем.
  • Построение ортогональных полиномов: например, полиномы Лежандра, Чебышёва и Лагерра могут быть получены ортогонализацией степенных функций.
  • Обработка сигналов и статистика: метод используется в алгоритмах главных компонент (PCA) и при анализе данных для выделения некоррелированных признаков.
  • Квантовая механика: процедура ортогонализации применяется для построения базисных состояний.

Пример

Рассмотрим векторы \(v_1 = (1, 1, 0)\) и \(v_2 = (1, 0, 1)\) в \(\mathbb{R}^3\) со стандартным скалярным произведением.

  1. \(u_1 = \dfrac{(1,1,0)}{\sqrt{2}} = \left(\dfrac{1}{\sqrt{2}}, \dfrac{1}{\sqrt{2}}, 0\right)\)
  2. \(w_2 = (1,0,1) - \langle (1,0,1), u_1 \rangle u_1 = (1,0,1) - \dfrac{1}{\sqrt{2}} \left(\dfrac{1}{\sqrt{2}}, \dfrac{1}{\sqrt{2}}, 0\right) = \left(\dfrac{1}{2}, -\dfrac{1}{2}, 1\right)\)
  3. \(\|w_2\| = \sqrt{\dfrac{1}{4} + \dfrac{1}{4} + 1} = \sqrt{\dfrac{3}{2}}\), следовательно \(u_2 = \left(\dfrac{1}{\sqrt{6}}, -\dfrac{1}{\sqrt{6}}, \dfrac{2}{\sqrt{6}}\right)\).

Пара \((u_1, u_2)\) образует ортонормированный базис плоскости, натянутой на \(v_1\) и \(v_2\).

Литература

  • Гантмахер Ф. Р. Теория матриц. — М.: Наука, 1967.
  • Столл Р. Линейная алгебра и её применения. — М.: Мир, 1977.
  • Тыртышников Е. Е. Основы численных методов. — М.: ФИЗМАТЛИТ, 2012.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →