Поиск:

Ответ в темуСоздание новой темы Создание опроса
> решение системы линейных уравнений 
:(
    Опции темы
Ivanich
Дата 22.3.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 24.2.2007

Репутация: нет
Всего: нет



Посоветуйте метод для решения  системы линейных алгебраических уравнений. Совсем забыл написать, что СЛАУ мне надо решеть однородные. 

Это сообщение отредактировал(а) Ivanich - 23.3.2007, 14:59
PM MAIL   Вверх
skyboy
Дата 22.3.2007, 23:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



метод Крамера
метод обратной матрицы
метод Гаусса
это то, что пришло в голову сходу. а вообще, я бы не гнушался воспользоваться поиском в Wikipedia(результаты поиска "системы линейных уравнений")
PM MAIL   Вверх
cardinal
Дата 23.3.2007, 00:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Вручную больше не решаю... smile

А вообще, если тривиальная система, то можно и без методов, а просто "подставленим одного в другое"...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Ivanich
Дата 23.3.2007, 14:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 24.2.2007

Репутация: нет
Всего: нет



Цитата(cardinal @ 23.3.2007,  00:07)
Вручную больше не решаю... smile


вот и я не хочу, мне надо написать программу. Писать буду на С++, теорию уже почитал и знаю что метод Гаусса и Крамера для этого мне не подойдут. Как я понял мне надо использовать итерационный метод(уже разобрался с методом простых итераций, но он не подходит, так как решать системы мне надо однородные). Подскажите начинающему smile 

Это сообщение отредактировал(а) Ivanich - 23.3.2007, 14:56
PM MAIL   Вверх
skyboy
Дата 23.3.2007, 18:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Ivanich, т.е. ссылки на список из 9 методов - слишком мало?!  smile 
Цитата

Прямые методы

    * Метод Гаусса
    * Метод Жордана-Гаусса
    * Метод Крамера
    * Матричный метод
    * Метод прогонки - Для трехдиагональных матриц

Приближенные методы

    * Метод Якоби (метод итераций)
    * Метод Зейделя
    * Метод релаксации
    * Многосеточный метод


PM MAIL   Вверх
SoWa
Дата 23.3.2007, 19:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 6
Всего: 74



Цитата(Ivanich @  23.3.2007,  14:32 Найти цитируемый пост)
Как я понял мне надо использовать итерационный метод(уже разобрался с методом простых итераций, но он не подходит, так как решать системы мне надо однородные). Подскажите начинающему

Ой-ли? А тот же метод Жордано-Гаусса не подходит? Не верю!
Чтобы на Cи такую программу написать, много времени не надо.

Это сообщение отредактировал(а) SoWa - 24.3.2007, 07:51


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
sergejzr
Дата 23.3.2007, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Гаусс - молодец был smile И чем он не подходит?


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ivanich
Дата 24.3.2007, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 24.2.2007

Репутация: нет
Всего: нет



Цитата

И чем он не подходит?

Так метод Гаусса же дает серьезную погрешность, в отличии от методов итерации при вычисление СЛАУ на ЭВМ. Или я ошибаюсь?
PM MAIL   Вверх
sergejzr
Дата 24.3.2007, 13:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 4
Всего: 360



Смотря как вычисляешь. если сохранять дроби, то погрешности не будет.


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
esperanto
Дата 24.3.2007, 15:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 31.5.2003

Репутация: 2
Всего: 4



Цитата(Ivanich @ 24.3.2007,  12:07)
Цитата

И чем он не подходит?

Так метод Гаусса же дает серьезную погрешность, в отличии от методов итерации при вычисление СЛАУ на ЭВМ. Или я ошибаюсь?

Ошибаешься. Есть системы для которых гаус вообще не дает погрешности. Есть системы для которых итеративные методы не сходятся.
--------------------
B.Sc ->M.Sc.->Microsoft SDE-> (Ph.D. student + Intel SDE + psyсhology B.A) - > Skype SDET
PM MAIL   Вверх
Joss
Дата 25.3.2007, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 103
Регистрация: 19.3.2006

Репутация: нет
Всего: 1



Цитата

Совсем забыл написать, что СЛАУ мне надо решеть однородные.


Однородная СЛАУ имеет либо единственное тривиальное решение, либо бесконечное множество решений. Во втором случае описанные методы вообще неприменимы
PM MAIL   Вверх
skyboy
Дата 25.3.2007, 22:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Цитата(Joss @  25.3.2007,  21:14 Найти цитируемый пост)
Во втором случае описанные методы вообще неприменимы 
почему же "неприменимы"? например, метод Крамера.
если "общий" определитель равен нулю и все "частные" определители тоже равны 0, то решений - бесконечное множество. 
если "общий" определитель равен нулю и хотя бі один частній определитель не  равен нулю, то решений нет; система несовместна
если "общий" определитель не равен нулю, то решение есть и оно единственно.
------------
единственное базовое ограничение для (известных мне) численных методов: количество переменных == количество уравнений в системе.
PM MAIL   Вверх
Artemios
Дата 26.3.2007, 00:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 1
Всего: 50



Ээ...
Сведение матрицы СЛАУ к ступенчатой форме хоть Гауссом, хоть итерационным каким методом...
В случае однородности СЛАУ некоторые строки -- нулевые; соответствующие этим строкам переменные выбираем в качестве свободных переменных, остальные строки дадут зависимости несвободных от свободных.


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Ivanich
Дата 26.3.2007, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 24.2.2007

Репутация: нет
Всего: нет



Цитата

если "общий" определитель равен нулю и все "частные" определители тоже равны 0, то решений - бесконечное множество. 
если так, то тогда как мне найти хотя бы одно нетривиальное решение?
Цитата

если "общий" определитель не равен нулю, то решение есть и оно единственно.
и это тривиальное решение!
Цитата

Сведение матрицы СЛАУ к ступенчатой форме хоть Гауссом, хоть итерационным каким методом...
а что это за итерационные методы приведения матрицы СЛАУ к ступенчатой форме? (я пока знаю только про метод Гаусса)
Цитата

В случае однородности СЛАУ некоторые строки -- нулевые; соответствующие этим строкам переменные выбираем в качестве свободных переменных, остальные строки дадут зависимости несвободных от свободных.
если не трудно, можно пример(не совсем понял)
PM MAIL   Вверх
Artemios
Дата 26.3.2007, 18:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 1
Всего: 50



Цитата(Ivanich @  26.3.2007,  17:39 Найти цитируемый пост)
а что это за итерационные методы приведения матрицы СЛАУ к ступенчатой форме? (я пока знаю только про метод Гаусса)

Ну да, немного попутал: в голове перемешалось с итерационными методами сведения матрицы (не СЛАУ) к треугольной/диагональной форме в задаче поиска собственных значений. Хотя, и те методы, в немного урезанном варианте, кажется, должны быть применимы: там же обнуляет элементы одно преобразование (строк например), а второе преобразование (столбцов) является компенсирующим для сохранения подобности матриц. А при решении СЛАУ подобности матриц не требуется, но требуется неизменность порядка столбцов, то есть компенсирующее преобразование можно опустить...
Цитата(Ivanich @  26.3.2007,  17:39 Найти цитируемый пост)
Цитата
В случае однородности СЛАУ некоторые строки -- нулевые; соответствующие этим строкам переменные выбираем в качестве свободных переменных, остальные строки дадут зависимости несвободных от свободных.
если не трудно, можно пример(не совсем понял) 

например получили такую треугольную матрицу:
1 1 1 0
0 1 0 1
0 0 0 0
0 0 0 0
Из последних 2-х уравнений -- x_3 и x_4 -- свободные переменные, 
из 2-го сверху уравнения x_2 = -x_4,
из 1-го x_1 = -x_2 - x_3, а с учетом того, что по x_2 уже решено, то x_1 = x_4 - x_3.
Таким образом, решение системы -- 2-мерная плоскость в 4-мерном пространстве: {x_2 = -x_4, x_1 = x_4 - x_3}
А чтобы не гадать, по каким переменным уже разрешено, а по каким еще нет, лучше сразу приводить максимальный ненулевой минор матрицы к диагональному виду:
1 0 1 -1
0 1 0  1
0 0 0  0
0 0 0  0

Кстати,
Цитата(Ivanich @  24.3.2007,  13:07 Найти цитируемый пост)
Так метод Гаусса же дает серьезную погрешность, в отличии от методов итерации при вычисление СЛАУ на ЭВМ. Или я ошибаюсь? 
Цитата(sergejzr @  24.3.2007,  14:30 Найти цитируемый пост)
Смотря как вычисляешь. если сохранять дроби, то погрешности не будет. 


Так как писать собрался на C/C++ , ничего не может быть проще, чем скачать библиотеку на длинную арифметику:  gmp (советую), и проводить вычисления в дробях произвольной длины с абсолютной точностью.


Это сообщение отредактировал(а) Artemios - 26.3.2007, 18:27


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1332 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.