![]() |
|
|
![]()
|
|
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Дана матрица NxM (N<M), представляет из себя N векторов (линейно независимых). Как найти оставшиеся N-M векторов так чтобы каждый был ортогонален предыдущим N векторам?
Задача построения ортогонального дополнения. Можете послать меня на соответствующий учебник линала - я просто щас вот ничего не нашел. Помню, что делал когда-то. |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
я уже не помню, как нам рассказывали на линейной алгебре, так что, возможно, моё решение не самое оптимальное, но можно попробовать:
1. ортогонализируем имеющиеся вектора 2. по одному начинаем добавлять базисные вектора (0,...,0,1,0,...0), при каждом добавлении ортогонализируем его со всеми предыдущими какие-то вектора уйдут в ноль (иначе получили бы N+M линейно независимых векторов), их нужно убрать, оставшиеся, начиная с N+1-го, - базис дополнения Это сообщение отредактировал(а) maxim1000 - 25.3.2008, 13:28 -------------------- qqq |
|||
|
||||
| comcon1 |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Я, пока катался в метро, придумал алгоритм. В нем не нужно менять предыдущие вектора (ортогонализовывать). Хочется услышать комментарии, не через ж*пу ли алгоритм.
Допустим есть 3 вектора в 7мерном пространстве. Нужно найти четвертый, так чтобы он был ортогонален предыдущим трём. Для этого будем искать его числа, решая систему уравнений:
Находим в матрице 7x3 3 столбца таким образом, чтобы они образовывали невырожденную матрицу. Допустим, это столбцы 1,4 и 7. Присваиваем x2,x3,x5,x6 по единице (например).
Решаем методом крамера. все. вектор готов. |
||||
|
|||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 33 Всего: 110 |
если вспомнить, что алгоритм Гаусса - практически дословное описание алгоритма ортогонализации, то сведение к системе линейных уравнений, по сути, делает то же самое
только тут Крамер вместо Гаусса как по мне, так лучше Гаусс - в общем случае он удобнее, а то для метода Крамера определители считать придётся -------------------- qqq |
|||
|
||||
| comcon1 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 11.6.2005 Где: Москва ДАС-МГУ Репутация: нет Всего: 17 |
Меня какбы это не напрягает, потомукмо я юзаю линал-библотеки.))
А в жизни всегда предпочитал Крамера юзать, кстати. |
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |