Ортогонализация Грама — Шмидта

Введите набор векторов и получите ортогональные векторы u₁, u₂, … процесса Грама — Шмидта в точных дробях, ортонормированные e₁, e₂, … и их длины. Если вектор линейно зависит от предыдущих, калькулятор сообщит об этом и пропустит его.

Векторы через точку с запятой, координаты — через пробел: 1 1 0; 1 0 1. Можно дроби 1/2 и десятичные 0,5.
Ортогональные векторы uu1 = (1; 1; 0) u2 = (1/2; -1/2; 1) u3 = (-2/3; 2/3; 2/3)
Ортонормированные векторы e = u / ‖u‖
e1 = (0,707107; 0,707107; 0) e2 = (0,408248; -0,408248; 0,816497) e3 = (-0,57735; 0,57735; 0,57735)
Длины ‖u‖
‖u1‖ = 1,41421 ‖u2‖ = 1,22474 ‖u3‖ = 1,1547
Независимых векторов (размерность оболочки)
3

Работает в браузере: всё, что вы вводите, никуда не отправляется.

Как пользоваться

  1. Введите векторы через точку с запятой: 1 1 0; 1 0 1; 0 1 1.
  2. Выберите, показывать ортогональные векторы дробями или десятичными.
  3. Посмотрите u₁, u₂, … (ортогональные), e₁, e₂, … (единичной длины) и длины.

Как это работает

Калькулятор берёт u₁ = v₁, а из каждого следующего вектора вычитает его проекции на все предыдущие ненулевые u:

uₖ = vₖ − Σ (vₖ·uⱼ / uⱼ·uⱼ) uⱼ

Проекции считаются в точных дробях, поэтому у ортогональных векторов нет ошибок округления. Ортонормированный вектор — eₖ = uₖ / ‖uₖ‖, где ‖uₖ‖ = √(uₖ·uₖ). Если uₖ получился нулевым, значит, vₖ — линейная комбинация предыдущих: он отмечается как зависимый и пропускается.

Пример

Возьмём v₁ = (1; 1; 0), v₂ = (1; 0; 1), v₃ = (0; 1; 1).

  • u₁ = (1; 1; 0), u₁·u₁ = 2.
  • v₂·u₁ = 1, поэтому u₂ = v₂ − ½u₁ = (1/2; −1/2; 1), u₂·u₂ = 3/2.
  • v₃·u₁ = 1 и v₃·u₂ = 1/2, поэтому u₃ = v₃ − ½u₁ − ⅓u₂ = (−2/3; 2/3; 2/3).

Длины равны 1,41421, 1,22474 и 1,1547, а ортонормированный базис — e₁ = (0,707107; 0,707107; 0), e₂ = (0,408248; −0,408248; 0,816497), e₃ = (−0,57735; 0,57735; 0,57735).

Советы и частые ошибки

  • Проверьте ортогональность: скалярное произведение любых двух векторов u должно быть равно 0.
  • Проецируйте на новые векторы u, а не на исходные v — это самая частая ошибка при ручном счёте.
  • Чтобы получить ортонормированный базис пространства столбцов матрицы, введите её столбцы как векторы.

Частые вопросы

Что делает процесс Грама — Шмидта?

Из линейно независимых векторов v₁, v₂, … он строит векторы u₁, u₂, …, которые порождают то же подпространство и попарно ортогональны. Если поделить каждый uₖ на его длину, получится ортонормированный базис e₁, e₂, …

Какая формула?

u₁ = v₁, а каждый следующий uₖ = vₖ минус его проекции на предыдущие u: uₖ = vₖ − Σ (vₖ·uⱼ / uⱼ·uⱼ) uⱼ. Затем eₖ = uₖ / ‖uₖ‖.

Почему ортонормированные векторы — десятичные?

Длины обычно иррациональны, например √2 у вектора (1; 1; 0), поэтому единичные векторы точно в дробях не записать. Ортогональные векторы остаются точными дробями: в проекциях есть только деление на скалярные произведения.

Важен ли порядок векторов?

Да. Первый вектор сохраняет направление, а каждый следующий подправляется по предыдущим, поэтому другой порядок даёт другой, но столь же верный ортогональный базис того же подпространства.

Ещё в разделе «Математика»

Все инструменты раздела: Математика ·Обновлено 4 ноября 2026 г.

Настройки конфиденциальности

Google Analytics показывает нам, какими инструментами пользуются и работают ли они. Он может ставить cookie. Ваш выбор сохраняется в этом браузере.