У первой матрицы детерминант -
.
Т.е. матрица плохо обусловленная
Строго говоря -- не "т.е.".
Хотя, конечно, если элементы матрицы порядка единицы, то малость детерминанта влечёт за собой и большое значение числа обусловленности.
Но в данном случае про обусловленность говорить вообще не приходится:
Код:
>> 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
Все численные значения противоречат друг другу (особенно приятно наблюдать отрицательное собственное число матрицы
). А это означает, что конкретно эта матрица
в точности вырожденная (в пределах погрешностей округления, естественно).
Как контролировать рост элементов в матрице при обращении?
(При обращении используется LU -разложение с последующем решением треугольных систем)
Задать порог, ниже которого ведущий элемент считается нулевым -- и, значит, сама матрица формально считается вырожденной.