stringtranslate.com

Процесс Грама-Шмидта

Первые два шага процесса Грама-Шмидта

В математике , в частности в линейной алгебре и численном анализе , процесс Грама-Шмидта или алгоритм Грама-Шмидта представляет собой способ нахождения набора из двух или более векторов, перпендикулярных друг другу.

По техническому определению, это метод построения ортонормированного базиса из набора векторов в пространстве скалярного произведения , чаще всего евклидовом пространстве, снабженном стандартным скалярным произведением . Процесс Грама–Шмидта берет конечный линейно независимый набор векторов для kn и генерирует ортогональный набор , который охватывает то же самое -мерное подпространство , что и .

Метод назван в честь Йоргена Педерсена Грама и Эрхарда Шмидта , но Пьер-Симон Лаплас был знаком с ним до Грама и Шмидта. [1] В теории разложений групп Ли он обобщается разложением Ивасавы .

Применение процесса Грама–Шмидта к столбцовым векторам матрицы полного ранга столбцов приводит к QR-разложению (она разлагается на ортогональную и треугольную матрицы ).

Процесс Грама-Шмидта

Модифицированный процесс Грама-Шмидта выполняется на трех линейно независимых, неортогональных векторах базиса для . Нажмите на изображение для получения подробностей. Модификация объясняется в разделе «Численная устойчивость» этой статьи.

Векторная проекция вектора на ненулевой вектор определяется как [примечание 1] где обозначает скалярное произведение векторов и . Это означает, что является ортогональной проекцией на прямую, натянутую на . Если является нулевым вектором, то определяется как нулевой вектор.

Для данных векторов процесс Грама–Шмидта определяет векторы следующим образом:

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

Чтобы проверить, что эти формулы дают ортогональную последовательность, сначала вычислим , подставив вышеуказанную формулу вместо : получим ноль. Затем используем это для повторного вычисления, подставив формулу вместо : получим ноль. Для произвольного доказательство выполняется методом математической индукции .

Геометрически этот метод работает следующим образом: для вычисления он ортогонально проецируется на подпространство , сгенерированное , которое совпадает с подпространством, сгенерированным . Затем вектор определяется как разность между и этой проекцией, гарантированно ортогональной всем векторам в подпространстве .

Процесс Грама–Шмидта также применим к линейно независимой счетно бесконечной последовательности { v i } i . Результатом является ортогональная (или ортонормированная) последовательность { u i } i такая, что для натурального числа n : алгебраическая оболочка та же, что и у .

Если процесс Грама-Шмидта применяется к линейно зависимой последовательности, он выводит вектор 0 на шаге , предполагая, что является линейной комбинацией . Если необходимо создать ортонормальный базис, то алгоритм должен проверить наличие нулевых векторов в выходных данных и отбросить их, поскольку ни один кратный нулевому вектор не может иметь длину 1. Количество векторов, выведенных алгоритмом, будет тогда размерностью пространства, охватываемого исходными входными данными.

Вариант процесса Грама–Шмидта с использованием трансфинитной рекурсии , примененной к (возможно, несчетно) бесконечной последовательности векторов, дает набор ортонормированных векторов с таким, что для любого завершение охвата совпадает с завершением . В частности, при применении к (алгебраическому) базису гильбертова пространства (или, в более общем смысле, базису любого плотного подпространства) он дает (функционально-аналитический) ортонормированный базис. Обратите внимание, что в общем случае часто строгое неравенство выполняется, даже если начальный набор был линейно независимым, и охват не обязательно должен быть подпространством охвата (скорее, это подпространство его завершения).

Пример

Евклидово пространство

Рассмотрим следующий набор векторов (с обычным скалярным произведением ):

Теперь выполним метод Грама–Шмидта, чтобы получить ортогональный набор векторов:

Проверяем, что векторы и действительно ортогональны: отмечаем, что если скалярное произведение двух векторов равно 0, то они ортогональны.

Для ненулевых векторов мы можем затем нормализовать векторы, разделив их размеры, как показано выше:

Характеристики

Обозначим через результат применения процесса Грама–Шмидта к набору векторов . Это дает карту .

Он обладает следующими свойствами:

Пусть ортогональны (относительно данного скалярного произведения). Тогда имеем

Кроме того, параметризованная версия процесса Грама–Шмидта дает (сильную) деформационную ретракцию общей линейной группы на ортогональную группу .

Численная стабильность

Когда этот процесс реализуется на компьютере, векторы часто не совсем ортогональны из-за ошибок округления . Для процесса Грама-Шмидта, описанного выше (иногда называемого «классическим Грам-Шмидтом»), эта потеря ортогональности особенно плоха; поэтому говорят, что (классический) процесс Грама-Шмидта численно неустойчив .

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

Вместо вычисления вектора uk , как он вычисляется как

Этот метод использовался в предыдущей анимации, когда промежуточный вектор использовался при ортогонализации синего вектора .

Вот еще одно описание модифицированного алгоритма. Учитывая векторы , на нашем первом шаге мы создаем векторы , удаляя компоненты вдоль направления . В формулах . После этого шага у нас уже есть два наших желаемых ортогональных вектора , а именно , но мы также сделали уже ортогональными к . Затем мы ортогонализируем оставшиеся векторы относительно . Это означает, что мы вычисляем путем вычитания . Теперь мы сохранили векторы, где первые три вектора уже есть , а оставшиеся векторы уже ортогональны к . Как теперь должно быть ясно, на следующем шаге выполняется ортогонализ против . Действуя таким образом, мы находим полный набор ортогональных векторов . Если требуются ортонормированные векторы, то мы нормализуем по ходу дела, так что знаменатели в формулах вычитания превращаются в единицы.

Алгоритм

Следующий алгоритм MATLAB реализует классическую ортонормализацию Грама–Шмидта. Векторы v 1 , ..., v k (столбцы матрицы V, так что V(:,j)это th-й вектор) заменяются ортонормированными векторами (столбцами ), которые охватывают то же подпространство.U

функция  U = граммшмидт ( V )   [ n , k ] = размер ( V );    U = нули ( n , k );   U (:, 1 ) = V (:, 1 ) / норма ( V (:, 1 ));     для i = 2 : к    U (:, я ) = V (:, я );   для j = 1 : i - 1    U (:, i ) = U (:, i ) - ( U (:, j ) '* U (:, i )) * U (:, j );       конец U (:, i ) = U (:, i ) / норма ( U (:, i ));     конецконец

Стоимость этого алгоритма асимптотически составляет O( nk 2 ) операций с плавающей точкой, где n — размерность векторов. [2]

С помощью метода Гаусса

Если строки { v 1 , ..., v k } записаны в виде матрицы , то применение метода Гаусса к расширенной матрице даст ортогонализованные векторы вместо . Однако матрицу необходимо привести к форме ступенчатой ​​строки , используя только операцию строки добавления скалярного множителя одной строки к другой. [3] Например, принимая , как указано выше, мы имеем

И сведение этого к форме ряда эшелона дает

Нормализованные векторы тогда будут такими, как в примере выше.

Формула детерминанта

Результат процесса Грама–Шмидта может быть выражен в нерекурсивной формуле с использованием определителей .

где и, для , — определитель Грама

Обратите внимание, что выражение для является «формальным» определителем, т.е. матрица содержит как скаляры, так и векторы; значение этого выражения определяется как результат разложения сомножителей по строке векторов.

Формула-определитель для Грама-Шмидта вычислительно (экспоненциально) медленнее, чем рекурсивные алгоритмы, описанные выше; она представляет в основном теоретический интерес.

Выражено с помощью геометрической алгебры

Выраженные с использованием обозначений, используемых в геометрической алгебре , ненормализованные результаты процесса Грама-Шмидта могут быть выражены как что эквивалентно выражению с использованием оператора, определенного выше. Результаты могут быть эквивалентно выражены как [4] , что тесно связано с выражением с использованием детерминантов выше.

Альтернативы

Другие алгоритмы ортогонализации используют преобразования Хаусхолдера или вращения Гивенса . Алгоритмы, использующие преобразования Хаусхолдера, более стабильны, чем стабилизированный процесс Грама–Шмидта. С другой стороны, процесс Грама–Шмидта производит th-й ортогонализованный вектор после th-й итерации, тогда как ортогонализация с использованием отражений Хаусхолдера производит все векторы только в конце. Это делает только процесс Грама–Шмидта применимым для итерационных методов, таких как итерация Арнольди .

Еще одна альтернатива мотивирована использованием разложения Холецкого для обращения матрицы нормальных уравнений в линейных наименьших квадратах . Пусть будет матрицей полного ранга столбцов , столбцы которой необходимо ортогонализовать. Матрица является эрмитовой и положительно определенной , поэтому ее можно записать как с использованием разложения Холецкого . Нижняя треугольная матрица со строго положительными диагональными элементами обратима . Тогда столбцы матрицы ортонормальны и охватывают то же подпространство , что и столбцы исходной матрицы . Явное использование произведения делает алгоритм нестабильным, особенно если число обусловленности произведения велико. Тем не менее, этот алгоритм используется на практике и реализован в некоторых программных пакетах из-за его высокой эффективности и простоты.

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

Сложность выполнения

Ортогонализация Грама-Шмидта может быть выполнена за сильно полиномиальное время . Анализ времени выполнения аналогичен анализу исключения Гаусса . [6] : 40 

Смотрите также

Ссылки

  1. ^ Чейни, Уорд; Кинкейд, Дэвид (2009). Линейная алгебра: теория и приложения. Садбери, Массачусетс: Джонс и Бартлетт. стр. 544, 558. ISBN 978-0-7637-5020-6.
  2. ^ Голуб и Ван Лоан 1996, §5.2.8.
  3. ^ Pursell, Lyle; Trimble, SY (1 января 1991 г.). «Ортогонализация Грама-Шмидта методом исключения Гаусса». The American Mathematical Monthly . 98 (6): 544–549. doi :10.2307/2324877. JSTOR  2324877.
  4. ^ Доран, Крис; Ласенби, Энтони (2007). Геометрическая алгебра для физиков . Cambridge University Press. стр. 124. ISBN 978-0-521-71595-9.
  5. ^ Pursell, Yukihiro; et al. (2011). "Расчеты электронных состояний кремниевой нанопроволоки с 100 000 атомов на компьютере K из первых принципов". Труды Международной конференции 2011 года по высокопроизводительным вычислениям, сетевым технологиям, хранению и анализу . С. 1:1–1:11. doi :10.1145/2063384.2063386. ISBN 9781450307710. S2CID  14316074.
  6. ^ Гретшель, Мартин ; Ловас, Ласло ; Шрийвер, Александр (1993), Геометрические алгоритмы и комбинаторная оптимизация, Алгоритмы и комбинаторика, том. 2 (2-е изд.), Springer-Verlag, Берлин, номер документа : 10.1007/978-3-642-78240-4, ISBN 978-3-642-78242-8, г-н  1261419

Примечания

  1. ^ В комплексном случае это предполагает, что скалярное произведение линейно по первому аргументу и сопряженно-линейно по второму. В физике более распространенным соглашением является линейность по второму аргументу, в этом случае мы определяем

Источники

Внешние ссылки