Библиотека для поиска любого решения любого числа линейных уравнений с любым количеством переменных
Я должен найти любое решение (может существовать много или ни одного) из любого числа заданных уравнений лайнера с любым числом переменных. На Яве. Какие библиотеки и метод используете? Что реализовать? Я хочу сделать это как минимум с работой, насколько это возможно.
3 ответа
Любое количество уравнений? Средства решения различаются в зависимости от того, как это соотносится с количеством неизвестных.
Если N(неизвестные) Если N(неизвестные) = N(уравнения), вы можете решить, используя LU-разложение с поворотом или разложение по сингулярному значению. Если N(неизвестные) > N(уравнения), вам нужно выполнить разложение по сингулярному значению, которое даст вам нулевое пространство и лучшее решение, которое он может. Если число уравнений очень велико, вам, возможно, придется подумать об использовании разреженности или записи матрицы на диск и ее постепенном решении. Библиотека Apache Commons Math содержит все это. Я рекомендую это, если вы пишете код на Java.
Попробуйте решатели Apache Commons Math http://commons.apache.org/math/userguide/linear.html
Существует порт Java для библиотек классической линейной алгебры BLAS, доступных на
Я не использовал это раньше, но похоже, что это может быть очень полезно.