Библиотека для поиска любого решения любого числа линейных уравнений с любым количеством переменных - PullRequest
6 голосов
/ 17 января 2011

Мне нужно найти любое решение (может существовать много или ни одного) из любого числа заданных уравнений линейного типа с любым числом переменных.На Яве.Какие библиотеки и метод используете?Что реализовать?Я хочу сделать это, по крайней мере, с работой, насколько это возможно.

Ответы [ 3 ]

4 голосов
/ 17 января 2011

Попробуйте решатели Apache Commons Math http://commons.apache.org/math/userguide/linear.html

3 голосов
/ 18 января 2011

Любое количество уравнений?Средство решения различается в зависимости от того, как оно сравнивается с числом неизвестных.

Если N (неизвестные)

Если N (неизвестные) = N (уравнения), вы можете решить, используя LU-разложение с поворотным или сингулярным разложением.

Если N (неизвестные)> N (уравнения), вам понадобитсявыполнить разложение по сингулярным числам, которое даст вам нулевое пространство и лучшее решение, которое он может.

Если число уравнений очень большое, вам, возможно, придется подумать об использовании разреженностиили записать матрицу на диск и решить ее пошагово.

Библиотека Apache Commons Math содержит все это.Я рекомендую его, если вы пишете код на Java.

3 голосов
/ 17 января 2011

Существует порт Java для библиотек классической линейной алгебры BLAS, доступных по адресу

http://icl.cs.utk.edu/f2j/

Я не использовал это раньше, но, похоже, это может быть очень полезно.

...