SingularMatrixException при решении системы линейных уравнений
Я использую EJML для решения системы линейных уравнений.
EJML использует двойники. Мои входы (и ожидаемые выходы) являются целыми числами. Я опущу.000 из toString().
Моя матрица А выглядит следующим образом (хотя это ~1000x1000):
1 0 0 0 0
1 -1 1 0 0
0 1 -1 1 0
0 0 1 -1 1
0 0 0 0 1
Мой b - просто вектор со значением в первом и последнем индексе, остальное - 0.
{-10 0 0 0 10}'
Для размера 5x5 я могу использовать EJML просто отлично, но для моей матрицы 1000x1000 я получаю Solution contains uncountable numbers
-Ошибка.
Результат выглядит так:
{NaN NaN NaN ... NaN -Infinity -Infinity 1}'
Мой код выглядит следующим образом (матрицы правильные, я проверял это с помощью Sysout и Debugger):
// Setup A
// Setup b
SimpleMatrix x = A.solve(b);
Теперь я предполагаю, что моя Система как-то плохо себя ведет. К сожалению, я не очень разбираюсь в матрицах, поэтому я предполагаю, что, возможно, я использую неправильные методы для решения этой конкретной проблемы. Другая вещь, о которой я могу думать, - это то, что двойная точность мешает мне.
Могу ли я что-нибудь сделать или EJML просто не подходит?