Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > Оценка точности вычисления обратной матрицы на C


Автор: CMos111 28.6.2006, 23:23
Доброго времени суток!
Проблема вот в чем:
есть два метода нахождения обратной матрицы. (матрица размером N на N, элементы числа типа float)
Естественно ни один из них абсолютно точного ответа не дает.
При перемножении исходной и обратной матрицы получается не точно единичная, а что то типа

(1        0         0)
(0     0,99       0)
(0   -0,00(0)1  1)
Как можно оценить точность вычисления? 

Автор: bsa 1.7.2006, 19:43
Например, найди определители произведения прямой и обратной матриц и сравнить модули их отклонения от 1:
Код
a1 = A^(-1)
det1 = det(A*a1)
d1 = 1 - |det1|

a2 = A^(-1)
det2 = det(A*a2)
d2 = 1 - |det2|

if |a1| < |a2| then
      print "Метод №1 лучше";
else if |a1| = |a2| then
      print "Оба методы одинакого точные";
else
      print "Метод №2 лучше";
 

Автор: MFSham 1.7.2006, 23:11
Вычислить норму и число обусловленности матрицы. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)