| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Построение ортогонального дополнения |
| Автор: comcon1 25.3.2008, 12:36 |
| Дана матрица NxM (N<M), представляет из себя N векторов (линейно независимых). Как найти оставшиеся N-M векторов так чтобы каждый был ортогонален предыдущим N векторам? Задача построения ортогонального дополнения. Можете послать меня на соответствующий учебник линала - я просто щас вот ничего не нашел. Помню, что делал когда-то. |
| Автор: maxim1000 25.3.2008, 13:27 |
| я уже не помню, как нам рассказывали на линейной алгебре, так что, возможно, моё решение не самое оптимальное, но можно попробовать: 1. ортогонализируем имеющиеся вектора 2. по одному начинаем добавлять базисные вектора (0,...,0,1,0,...0), при каждом добавлении ортогонализируем его со всеми предыдущими какие-то вектора уйдут в ноль (иначе получили бы N+M линейно независимых векторов), их нужно убрать, оставшиеся, начиная с N+1-го, - базис дополнения |
| Автор: comcon1 25.3.2008, 20:59 | ||||
| Я, пока катался в метро, придумал алгоритм. В нем не нужно менять предыдущие вектора (ортогонализовывать). Хочется услышать комментарии, не через ж*пу ли алгоритм. Допустим есть 3 вектора в 7мерном пространстве. Нужно найти четвертый, так чтобы он был ортогонален предыдущим трём. Для этого будем искать его числа, решая систему уравнений:
Находим в матрице 7x3 3 столбца таким образом, чтобы они образовывали невырожденную матрицу. Допустим, это столбцы 1,4 и 7. Присваиваем x2,x3,x5,x6 по единице (например).
Решаем методом крамера. все. вектор готов. |
| Автор: maxim1000 25.3.2008, 21:24 |
| если вспомнить, что алгоритм Гаусса - практически дословное описание алгоритма ортогонализации, то сведение к системе линейных уравнений, по сути, делает то же самое только тут Крамер вместо Гаусса как по мне, так лучше Гаусс - в общем случае он удобнее, а то для метода Крамера определители считать придётся |
| Автор: comcon1 25.3.2008, 22:04 |
| Меня какбы это не напрягает, потомукмо я юзаю линал-библотеки.)) А в жизни всегда предпочитал Крамера юзать, кстати. |