Калькулятор ортогонализации Грама-Шмидта
Преобразуйте любой набор линейно независимых векторов в ортогональный или ортонормированный базис с помощью процесса Грама-Шмидта.
Введите векторы ниже, по одному в строке, разделяя компоненты запятыми или пробелами. Калькулятор применит процесс Грама-Шмидта и построит как ортогональный базис, так и ортонормированный базис.
Калькулятор ортогонализации Грама-Шмидта
Преобразуйте любой набор линейно независимых векторов в ортогональный или ортонормированный базис с помощью процесса Грама-Шмидта.
О калькуляторе Грама-Шмидта
Процесс Грама-Шмидта — один из важнейших алгоритмов линейной алгебры. Для заданного набора линейно независимых векторов он систематически строит новый набор попарно ортогональных векторов, которые порождают то же подпространство. Если затем каждый из этих ортогональных векторов разделить на его длину и получить единичный вектор, результат называется ортонормированным базисом. Ортонормированные базисы считаются золотым стандартом в линейной алгебре, потому что они упрощают почти все вычисления, связанные с проекциями, вращениями, отражениями и разложениями.
Алгоритм работает индуктивно. Первый выходной вектор — это просто первый входной вектор без изменений. Второй выходной вектор равен второму входному вектору минус его проекция на первый выходной вектор — это обеспечивает перпендикулярность второго первому. Третий выходной вектор — это третий входной вектор с вычтенными проекциями на первые два выходных вектора. В общем случае k-й выходной вектор равен k-му входному вектору минус сумме его проекций на все предыдущие выходные векторы. Формула проекции вектора v на уже ортогонализованный вектор u выглядит так: (v·u / u·u) × u, где · обозначает скалярное произведение.
Если в процессе после вычитания всех проекций получается нулевой вектор, значит входной вектор линейно зависим от предыдущих и просто отбрасывается. Калькулятор делает это автоматически и сообщает ранг входного набора — то есть число действительно независимых векторов. На практике используется небольшой числовой порог, чтобы улавливать векторы, почти равные нулю из-за округления с плавающей точкой.
Ортонормированный базис получается делением каждого ортогонального выходного вектора на его евклидову норму (квадратный корень из скалярного произведения вектора на самого себя). В результате получается набор единичных векторов длины ровно 1, направленных во взаимно перпендикулярные стороны. Этот ортонормированный набор образует так называемый ортонормированный каркас для подпространства, натянутого исходными векторами.
Области применения процесса Грама-Шмидта охватывают практически все количественные дисциплины. В численной линейной алгебре он лежит в основе QR-разложения, используемого для решения задач наименьших квадратов и вычисления собственных значений. В обработке сигналов он применяется для построения ортогональных фильтробанков и разделения независимых компонент сигнала. В квантовой механике пространство состояний квантовой системы — это гильбертово пространство, а физические наблюдаемые соответствуют ортонормированным базисам собственных векторов. В статистике и машинном обучении метод главных компонент (PCA) можно понимать как поиск ортонормированного базиса, выровненного по направлениям максимальной дисперсии в наборе данных. В компьютерной графике построение камеры или системы координат объекта требует трёх взаимно перпендикулярных единичных векторов, и процесс Грама-Шмидта естественно решает эту задачу.
Этот калькулятор принимает векторы любой размерности, корректно обрабатывает линейно зависимые входные данные и выводит промежуточные ортогональные векторы и финальные ортонормированные векторы рядом, чтобы вы могли видеть каждый шаг преобразования.
Примеры Грама-Шмидта
Три подробных примера, показывающих процесс ортогонализации в 2D, 3D и для зависимого набора.
| Векторы ввода | Ортонормированный базис | Примечания |
|---|---|---|
| v1 = (1, 0), v2 = (1, 1) | e1 = (1, 0), e2 = (0, 1) | Стандартный случай в 2D. v2 минус его проекция на v1 даёт (0,1), что уже является единичным вектором. |
| v1 = (1, 1, 0), v2 = (1, 0, 1), v3 = (0, 1, 1) | e1 ≈ (0.707, 0.707, 0), e2 ≈ (0.408, −0.408, 0.816), e3 ≈ (−0.577, 0.577, 0.577) | Классическая 3D-ортонормализация. Все три входных вектора независимы, поэтому получается полный ортонормированный базис для ℝ³. |
| v1 = (1, 2, 3), v2 = (2, 4, 6), v3 = (1, 0, 0) | e1 ≈ (0.267, 0.535, 0.802), e2 ≈ (0.964, −0.148, −0.222) | v2 является скалярным кратным v1 (линейно зависим) и поэтому отбрасывается. Ранг равен 2, а не 3. |
| v1 = (3, 1), v2 = (2, 2) | e1 ≈ (0.949, 0.316), e2 ≈ (−0.316, 0.949) | 2D-пример с нецелыми компонентами. Выходные векторы — взаимно перпендикулярные единичные векторы. |
Как пользоваться калькулятором Грама-Шмидта
- Введите векторы в текстовое поле, по одному в строке, разделяя компоненты запятыми или пробелами (например, '1, 2, 3' или '1 2 3').
- Убедитесь, что у всех векторов одинаковое число компонент — размерность определяется автоматически по первой строке.
- Нажмите «Вычислить базис». Калькулятор применит процесс Грама-Шмидта и покажет ортогональный и ортонормированный базисы.
- Проверьте ранг, указанный в результатах. Если он меньше числа входных векторов, некоторые входы были линейно зависимыми и были пропущены.
- Используйте кнопку «Сбросить», чтобы очистить ввод и начать новый расчёт.
FAQ по калькулятору Грама-Шмидта
Что такое процесс Грама-Шмидта?
Процесс Грама-Шмидта — это алгоритм, который берёт набор линейно независимых векторов и строит набор попарно ортогональных векторов, порождающих то же подпространство. При желании каждый ортогональный вектор можно нормировать до единичной длины, чтобы получить ортонормированный базис.
В чём разница между ортогональным и ортонормированным?
Ортогональный набор — это набор векторов, попарные скалярные произведения которых равны нулю, то есть векторы перпендикулярны друг другу. Ортонормированный набор дополнительно требует, чтобы длина каждого вектора была равна 1 (единичный вектор). Каждый ортонормированный набор ортогонален, но не наоборот.
Что будет, если мои входные векторы линейно зависимы?
Когда вектор линейно зависит от предыдущих, вычитание его проекций даёт нулевой вектор, который нельзя нормировать. Калькулятор обнаруживает это и исключает такой вектор. Показанный ранг будет меньше числа входных векторов.
Что такое QR-разложение и как оно связано?
QR-разложение раскладывает матрицу A в произведение Q·R, где Q имеет ортонормированные столбцы, а R является верхнетреугольной. Процесс Грама-Шмидта — один из классических способов вычисления Q. Такое разложение широко используется для решения задач наименьших квадратов и в численных алгоритмах поиска собственных значений.
Сколько размерностей можно использовать?
У калькулятора нет жёсткого ограничения по размерности, кроме ограничений памяти и точности чисел с плавающей точкой. Поддерживаются векторы с 2, 3, 4 и более компонентами. Вводите каждый вектор в отдельной строке с одинаковым числом компонент.
Почему результаты немного отличаются от ручных вычислений?
Калькулятор использует двоичную арифметику IEEE-754 двойной точности, которая может вносить крошечные ошибки округления. Для отображения результаты округляются до фиксированного числа знаков после запятой. Для точных символьных ответов используйте систему компьютерной алгебры, например Wolfram Alpha, или символьную Python-библиотеку.