21.9 Zum Weiterlesen
Die Java-Bibliothek bietet, abgesehen von den Klassen zur Unterstützung großer Wertebereiche, kaum weitere Algorithmen, wie sie oft für mathematische Probleme benötigt werden. Zu den wenigen Methoden gehören solveCubic(…) und solveQuadratic(…) aus den Klassen CubicCurve2D und QuadCurve2D, und selbst die sind nicht fehlerfrei.[ 280 ](http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4645692)
Auf dem (freien) Markt gibt es aber eine große Zahl an Erweiterungen, etwa für Brüche, Polynome und Matrizen. Eine kleine Auswahl:
Eclipse January (http://projects.eclipse.org/proposals/january): Junges Projekt der Eclipse Foundation für große n-dimensionale Felder und Matrizen. Bildet die unter Python bekannte NumPy-Bibliothek nach. Das Ziel ist die Definition von Standardschnittstellen.
Commons Math: The Apache Commons Mathematics Library (http://commons.apache.org/proper/commons-math): Enthält unter anderem Statistik, lineare Algebra, komplexe Zahlen sowie Brüche.
Ein weiteres Problemfeld sind die Rechenungenauigkeiten, die jedoch einfach in der Natur der Sache liegen. Doch auch andere Probleme bestehen, die das Paper »How Java’s Floating-Point Hurts Everyone Everywhere« (http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf) sehr genau behandelt – allerdings wurde es vor der Einführung des Schlüsselwortes strictfp veröffentlicht, sodass nicht mehr jeder Punkt gültig ist.