IPB
ЛогинПароль:

> Компиляция правил для данного раздела

1. Заголовок темы должен быть информативным. В противном случае тема закрывается и удаляется ...
2. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
3. Одна тема - один вопрос (задача)
4. Спрашивайте и отвечайте четко и по существу!!!

> Проблема с вычислением обратной матрицы, Как бороться в нулями на главной диагонали?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Необходимо решить систему нелинейных уравнений. Я это делаю через метод Ньютона, в процессе вычисляя обратную матрицу.
Я вычисляю обратную матрицу Lu методом, приведением матрицы к верхнетреугольной. На этом месте получается затык потому, что на главной диагонали получаются нули или очень малые значения. Эта матрица имеет решение, но нужны какие-то методы, чтобы обойти этот ступор.
Ранее , на этомфоруме, я встречал совет прибавлять к строке, в которой на главной диагонали образовался ноль, все нижестоящие - это неверный путь. Таким образом не находятся даже обратные матрицы, которые без труда вычислялись. Я просто суммировал 2 произвольные строки. В прямой матрице также делал эту операцию (и не делал тоже), при перемножении прямой и обратной матриц единичной не получалось.
Может кто знает как решить эту проблему?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

Группа: Пользователи
Сообщений: 20
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Весьма полезный ресурс
http://matclub.ru/lec1/
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


ПРоблема в сингулярности матрицы, т.е. система имеет множество решений (детерминант матрицы равен нулю). Пока не найду путей обхода этого. Возможно и есть какие-то выходы , путём добавление в систему уравнений фиктивных переменных , а потом вычисление и основных.
Я вот экпериментировал, посмотрите. что вышло
Есть система уравнеий
x1+ 2*x2 +3*x3 + 4*x4 = 30
5*x1+ 6*x2 +7*x3 + 8*x4 = 70
9*x1+ 10*x2 +11*x3 + 1*x4 = 66
x1+ 1*x2 +1*x3 + 2*x4 = 14

Вектор свободных членов V={30,70,66,14}
матрица D=
1 2 3 4
5 6 7 8
9 10 11 1
1 1 1 2

детерминант det(D) =0,
но система имеет решения при x1=1, x2=2, x3=3, x4=4, а также при
x1=-2, x2=8, x3=0, x4=4, и при многих других.
ПРи введении фиктивного члена x5=1 система приобретает вид
x1+ 2*x2 +3*x3 + 4*x4 +x5= 31
5*x1+ 6*x2 +7*x3 + 8*x4 +x5= 71
9*x1+ 10*x2 +11*x3 + 1*x4 +x5= 67
x1+ 1*x2 +1*x3 + 2*x4 +x5= 15
x2+x5 = 3
Матрица D1=
1 2 3 4 1
5 6 7 8 1
9 10 11 1 1
1 1 1 2 1
0 1 0 0 1
детерминант det(D1) =-88,
и система имеет одно решение при x1=1, x2=2, x3=3, x4=4, x5=1
Но мне нужно работать с огромным массивом чисел, и понять как вводить фиктивную переменную и сколько их нужно для единственного решения - это я не могу пока.

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата(vly67 @ 16.07.2007 14:21) *

ПРоблема в сингулярности матрицы, т.е. система имеет множество решений (детерминант матрицы равен нулю). Пока не найду путей обхода этого. Возможно и есть какие-то выходы , путём добавление в систему уравнений фиктивных переменных , а потом вычисление и основных.
Я вот экпериментировал, посмотрите. что вышло
Есть система уравнеий
x1+ 2*x2 +3*x3 + 4*x4 = 30
5*x1+ 6*x2 +7*x3 + 8*x4 = 70
9*x1+ 10*x2 +11*x3 + 1*x4 = 66
x1+ 1*x2 +1*x3 + 2*x4 = 14

Вектор свободных членов V={30,70,66,14}
матрица D=
1 2 3 4
5 6 7 8
9 10 11 1
1 1 1 2

детерминант det(D) =0,
но система имеет решения при x1=1, x2=2, x3=3, x4=4, а также при
x1=-2, x2=8, x3=0, x4=4, и при многих других.
ПРи введении фиктивного члена x5=1 система приобретает вид
x1+ 2*x2 +3*x3 + 4*x4 +x5= 31
5*x1+ 6*x2 +7*x3 + 8*x4 +x5= 71
9*x1+ 10*x2 +11*x3 + 1*x4 +x5= 67
x1+ 1*x2 +1*x3 + 2*x4 +x5= 15
x2+x5 = 3
Матрица D1=
1 2 3 4 1
5 6 7 8 1
9 10 11 1 1
1 1 1 2 1
0 1 0 0 1
детерминант det(D1) =-88,
и система имеет одно решение при x1=1, x2=2, x3=3, x4=4, x5=1
Но мне нужно работать с огромным массивом чисел, и понять как вводить фиктивную переменную и сколько их нужно для единственного решения - это я не могу пока.

Что-то такое детерминант матрицы ?
Если определитель матрицы равен нулю, то обратной матрицы не существует.
Если система имеет множество решений, то система имеет множество решений. smile.gif С этим ничего не поделаешь. vly67, ты же вроде решаешь методом Ньютона ? Вычисление обратной матрицы есть на форуме. Да сам метод есть у меня. Ты хоть расскажи, что надо сделать, как и каким методом.

 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Цитата(Гость @ 17.07.2007 2:04) *

Что-то такое детерминант матрицы ?
Если определитель матрицы равен нулю, то обратной матрицы не существует.
Если система имеет множество решений, то система имеет множество решений. smile.gif С этим ничего не поделаешь. vly67, ты же вроде решаешь методом Ньютона ? Вычисление обратной матрицы есть на форуме. Да сам метод есть у меня. Ты хоть расскажи, что надо сделать, как и каким методом.


Ты вообще мало что понял из того , что я изложил.Если сказать точнее - ты вообще ничего не понял. В общем это пустая трата времени.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 19.04.2024 6:31
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name