Как стать автором
Обновить

Комментарии 6

Если это лабораторная в институте, то вопросов нет. Если нужно для реальной работы с линейными уравнениями, вы не смотрели библиотеки вроде

math.nist.gov/javanumerics/jama
commons.apache.org/math
ojalgo.org
hubris.ucsd.edu/sstj
code.google.com/p/matrix-toolkits-java
code.google.com/p/efficient-java-matrix-library
la4j.org
?
Спасибо за ссылки. Не все доступны, вот рабочая ссылка для библиотеки matrix-toolkits-java — github.com/fommil/matrix-toolkits-java
jblas забыли
Эм…
А как он, например, разделяет случай, когда у уравнения бесконечно много решений и нет решений?
Почему именно такой, а не диагональный или с поиском максимального элемента по модулю?

Ну а про дженерики. У меня где-то валялся обобщенный класс матриц и для него математические штуки… там в любом случае все печально выглядит.
Так же, написанный вами метод, скорее всего, упадет на матрице вида:
1 0 0 0 0 1 0 1 0
Хотя у нее есть одно решение.

Ну и немного по коду…
throws NullPointerException, ArithmeticException

Не делайте так. Обе эти ошибки являются runtime exception и не предназначены для отлова. Если они так нужны в том месте, лучше написать свою или использовать new Exception(«Text»).

Так же в этом случае лучше не делать это через дженерики, потому что у примитивов существует boxing/un-boxing, который достаточно весомый. Куда эффективнее сделать просто для float.
спасибо за советы, постараюсь исправить недочеты
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории