2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 Re: Нахождение обратной матрицы
Сообщение13.03.2010, 08:13 
Заслуженный участник


04/05/09
4587
У первой матрицы детерминант - $3\cdot 10^{-16}$.
Т.е. матрица плохо обусловленная: http://www.statsoft.ru/home/portal/glossary/glossarytwo/M%5CMatrixIllConditioning.htm

 Профиль  
                  
 
 Re: Нахождение обратной матрицы
Сообщение13.03.2010, 12:32 
Заслуженный участник


11/05/08
32166
venco в сообщении #297142 писал(а):
У первой матрицы детерминант - $3\cdot 10^{-16}$.
Т.е. матрица плохо обусловленная

Строго говоря -- не "т.е.".
Хотя, конечно, если элементы матрицы порядка единицы, то малость детерминанта влечёт за собой и большое значение числа обусловленности.

Но в данном случае про обусловленность говорить вообще не приходится:

Код:
>> eig(A*A')
ans =
   -1.179611963664229e-016
    6.732649963569620e-001
    1.000000000000001e+000

>> sqrt(abs(eig(A*A')))
ans =
    1.086099426233266e-008
    8.205272672842519e-001
    1.000000000000000e+000

>> cond(A)
ans =
    1.352684370782016e+015

>> det(A)
ans =
    6.118780016153565e-016

>> det(A*A')
ans =
     0

Все численные значения противоречат друг другу (особенно приятно наблюдать отрицательное собственное число матрицы $A\cdot A^T$). А это означает, что конкретно эта матрица в точности вырожденная (в пределах погрешностей округления, естественно).

vitaly333 в сообщении #297089 писал(а):
Как контролировать рост элементов в матрице при обращении?
(При обращении используется LU -разложение с последующем решением треугольных систем)

Задать порог, ниже которого ведущий элемент считается нулевым -- и, значит, сама матрица формально считается вырожденной.

 Профиль  
                  
 
 Re: Нахождение обратной матрицы
Сообщение13.03.2010, 16:32 
Заблокирован


12/11/09

92
vitaly333 писал(а):
Пытаюсь обратить след матрицу:
.............................................
В результате получаются громадные числа:
.............................................
Если исходную матрицу округлить скажем до 3 знака:
............................................
то результат получается совсем другой:
............................................
В чем дело? Почему такие разные результаты?

А Вы посмотрите, с какой точностью первая строка является линейной комбинацией двух последующих строк до округления и после округления и все поймете.

 Профиль  
                  
 
 Re: Нахождение обратной матрицы
Сообщение14.03.2010, 16:22 


26/11/06
76
Цитата:
эта матрица в точности вырожденная (в пределах погрешностей округления, естественно).

Как же её обратить?

 Профиль  
                  
 
 Re: Нахождение обратной матрицы
Сообщение14.03.2010, 18:35 
Заслуженный участник


15/05/05
3445
USA
vitaly333 в сообщении #297558 писал(а):
Цитата:
эта матрица в точности вырожденная (в пределах погрешностей округления, естественно).
Как же её обратить?
Мне это напомнило "Понедельник" Стругацких:
"- Я и сам знаю, что задача не имеет решения! Меня интересует как ее решить!"

Иногда, в зависимости от конкретной задачи, вместо обратной матрицы можно использовать псевдообратную:
А. Алберт. Регрессия, псевдоинверсия и рекуррентное оценивание. Наука. 1977.
Ключевые слова: псевдоинверсия, псевдообращение, pseudoinverse, generalized inverse.

 Профиль  
                  
 
 Re: Нахождение обратной матрицы
Сообщение14.03.2010, 20:15 


26/11/06
76
Цитата:
Иногда, в зависимости от конкретной задачи

В каких случаях это возможно?

 Профиль  
                  
 
 Re: Нахождение обратной матрицы
Сообщение15.03.2010, 10:23 
Заслуженный участник


11/05/08
32166
Yuri Gendelman в сообщении #297658 писал(а):
Ключевые слова: псевдоинверсия, псевдообращение, pseudoinverse, generalized inverse.

Ещё одно ключевое сочетание: "нормальное псевдорешение".

vitaly333 в сообщении #297722 писал(а):
В каких случаях это возможно?

Возможно -- всегда, а нужно или нет -- зависит от конкретной задачи.

Умножение правой части системы на псевдообратную матрицу даёт вектор, если и не удовлетворящий системе (когда это невозможно), то, во всяком случае, минимизирующий "невязку" -- разность между левой и правой частями системы (в квадратичной норме). А если таких векторов много (как для квадратной матрицы и будет) -- то конкретно наименьший из них по норме.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 37 ]  На страницу Пред.  1, 2, 3

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group