:: алгоритмы  и методы :: :: олимпиадные задачи :: :: связь :: :: о сайте ::
Путь: Математика » Линейная алгебра » Системы векторов
  Ортогонализация и выделение максимальной линейно-независимой подсистемы




  Алгоритм выделения из системы векторов эквивалетной ей. линейно-независимой подсистемы векторов.



Вход: система векторов a1..an.
Выход: система векторов ai1..air - линейно-независимая подсистема. Линейные оболочки систем равны: L(a1..an)=L(ai1..air)

Алгоритм:

Запишем систему векторов B={a0}, R={a0}.
Положим s=2.
Найдём вектор t = as - СУММА(От i=1 до i=s-1) λibi,
bi - i-ый вектор в B, λi=(as,bi) / (bi,bi).
если t ≠ 0, то добавим t в B, as добавим в R.
если s ≠ n, то s=s+1, переходим к пункту 3.
R - результат.

  Алгоритм преобразования системы векторов в эквивалентную ей линейно-независимую систему ортогональных векторов.



Вход: система векторов a1..an.
Выход: система векторов b1..br - линейно-независимая, ортогональная. Линейные оболочки систем равны: L(a1..an)=L(b1..br)

Алгоритм:

Запишем систему векторов B={a0}.
Положим s=2.
Найдём вектор t = as - СУММА(От i=1 до i=s-1) λibi, bi - i-ый вектор в B, λi=(as,bi) / (bi,bi).
если t ≠ 0, то добавим t в B.
если s ≠ n, то s=s+1, переходим к пункту 3.
B - результат.