在纯java中实现数值算法的优点是什么?
我对JVM和JVM的交互一无所知。 GC,并希望了解更多。
答案 0 :(得分:2)
我很喜欢Didier Besset的Object Oriented Implementation of Numerical Methods。说实话,我几乎完全使用C ++,但仍然觉得这本书既有趣又有趣。但是,它并不总是使用最佳算法。
我还会指向Golub&amp ;; Matrix Computations。范贷款。无论如何不是Java,而是任何在这个领域工作的人的强制性文本。
答案 1 :(得分:1)
Numerics:http://math.nist.gov/javanumerics/ GC简介:http://www.ibm.com/developerworks/java/library/j-jtp11253/
答案 2 :(得分:1)
在C ++中挑选一个Numerical Recipes。 NR并不总是包含解决问题的最佳算法,它是一个教学文本而不是优化代码库。但解释一般都很好,主题范围很广。通过学习C ++版本,您可以在翻译代码时学习一些Java。还要学习一本关于浮点运算和数值分析基础的好书。
答案 3 :(得分:0)
Java Number Cruncher是一个好的开始。不过,我认为它不涉及GC问题。无论如何,通常,浮点精度问题很可能在数值算法中更具相关性。 这本书证明doubles
在某些情况下实际上可能不如floats
。
答案 4 :(得分:0)
Apache Commons Math有一些不错的线性代数库。
线性代数是许多严肃数值工作的基础(例如,有限差分,有限元和边界元素公式,用于固体和流体力学和热传递中的问题)。 AFAIK,大部分工作仍由FORTRAN编写的商业和内部包完成。 Java,甚至C ++和C都没有被认为足够高效,因为当我为了生计而做这些事情时。如果发生了变化,我会感到惊讶。