2011-01-17 2 views
6

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

ответ

3

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

Если N (неизвестных) < N (уравнения), вам нужно выполнить решение наименьших квадратов для получения коэффициентов.

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

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

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

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

3

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

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

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

Смежные вопросы