18.8 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.[224](http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4645692)
Auf dem (freien) Markt gibt es aber eine große Anzahl an Erweiterungen, etwa für Brüche, Polynome, Matrizen und so weiter. Eine kleine Auswahl:
- Commons-Math: Jakarta Mathematics Library (http://jakarta.apache.org/commons/math/). Enthält unter anderem Statistik, lineare Algebra, komplexe Zahlen, Brüche.
- JScience (http://jscience.org/). Enthält lineare Algebra mit Matrizen und Vektoren sowie LU-Zerlegung, Brüche, Polynome.
- JAMA: A Java Matrix Package (http://math.nist.gov/javanumerics/jama/). Bietet Eigenwerte berechnen, Lösen nichtsingulärer Systeme, Determinate ...
Eine Liste weiterer Bibliotheken bietet http://math.nist.gov/javanumerics/.
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üsselworts strict veröffentlicht, sodass nicht mehr jeder Punkt gültig ist.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.