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 просто не подходит?

0 ответов

Другие вопросы по тегам