在纯 Java中实现数值算法有哪些好的资源可供阅读?
我对 JVM 和 GC 的交互一无所知,并且很想了解更多。
我喜欢Didier Besset的面向对象的数值方法实现。老实说,我几乎只使用 C++,但仍然觉得这本书很有趣。然而,它并不总是使用最好的算法来完成这项工作。
我还将向您介绍 Golub & Van Loan 的Matrix Computations。无论如何都不是关于 Java 的,而是任何从事该领域工作的人的必读文本。
数字:http : //math.nist.gov/javanumerics/ GC 介绍:http ://www.ibm.com/developerworks/java/library/j-jtp11253/
拿起一份 C++ 中的数值食谱。NR 并不总是包含解决问题的最佳算法,它是一个教学文本,而不是优化代码库。但是解释通常很好,主题范围很广。通过选择 C++ 版本,您可以在翻译代码的同时学习一些 Java。还可以选择一本关于浮点算术和数值分析基础的好书。
Java Number Cruncher是一个好的开始。不过,我不认为它处理 GC 问题。无论如何,浮点精度问题通常与数值算法更相关。这本书确实证明了在某些情况下doubles
实际上可能不如。floats
Apache Commons Math 有一些不错的线性代数库,等等。
线性代数是许多重要数值工作的基础(例如,固体和流体力学和热传递问题的有限差分、有限元和边界元公式)。AFAIK,大部分工作仍然由用 FORTRAN 编写的商业和内部包完成。当我以它们为生时,Java 甚至 C++ 和 C 在这些事情上都被认为不够高性能。如果情况发生了变化,我会感到惊讶。