如果你有兴趣编写高精度的数值算法,作为进阶阅读,我强烈推荐 Nick Higham 写的《Accuracy and Stability of Numerical Algorithms》,这是一本非常全面且优秀的好书。正如这篇文章所说,大家总觉得浮点运算(floating-point arithmetic)神神秘秘的,但其实根本不是:它只是遵循着一套自身精确规定的……
If you are interested in writing accurate numerical algorithms, as further reading I highly recommend reading "Accuracy and Stability of Numerical Algorithms" by Nick Higham, which is a very good comprehensive book. Like this article says, floating-point arithmetic is often thought of as mysterious, but it really isn't: it just obeys its own precisely specified…
……想了解这方面的背景知识,可以去读 Goldberg 的论文《每个计算机科学家都该懂的浮点运算》(What Every Computer Scientist Should Know About Floating-Point Arithmetic)[1]。接下来值得深挖的好书是 Higham 的《Accuracy and Stability of Numerical Algorithms》[2]。这两份资料会告诉你该从哪些地方排查问题,并让你能更具体地分析算法中的浮点(floating point)问题。[1] https://docs.oracle.com/cd/E19957-01/800-7895/800-7895.pdf [2]……
…that provide good background for this stuff, read Goldberg's paper "What Every Computer Scientist Should Know About Floating-Point Arithmetic" [1]. The next good thing to dig through is Higham's book "Accuracy and Stability of Numerical Algorithms" [2] Those will give you lots of places to look for issues, and the ability to analyze algorithms more concretely for floating point issues. [1] https://docs.oracle.com/cd/E19957-01/800-7895/800-7895.pdf [2]…
……顺便介绍了一下动态缩放(dynamic scale),这大概在每门计算机体系结构课上都是用来引出浮点(floating point)概念的吧。这就是个浮点数啊。这家伙该翻翻书了。我推荐 Nick Higham 的《Accuracy and Stability of Numerical Algorithms》。
…with a dynamic scale is presented along the way motivating floating point in probably every computer architecture class. It’s a floating point. This guy needs to open a book. I recommend Nick Higham’s _Accuracy and Stability of Numerical Algorithms_.
……可能会有疏漏,但大体就是这么个意思。我工作时曾在一个复杂得多的例子上搞过这套,试了好几次才搞定。关于这个有一本不错的线性代数书,好像叫《Accuracy and Stability of Numerical Algorithms》(Nicholas Higham 著)。Pharr 等人写的那本著名的 PBR 图形学书也讲了误差估计技术。
…there could be mistakes but that’s the gist. I’ve had to do this for my work on a much more complicated example, and it took a few tries. There is a good linear algebra book about this, I think called Accuracy and Stability of Numerical Algorithms (Nicholas Higham). The famous PBR graphics book by Pharr et. al. also talks about error estimation techniques.
……http://lipforge.ens-lyon.fr/www/crlibm/documents/cern.pdf。浮点数(Floating point numbers)“并不是”区间。如果你仔细读过浮点数的任何正式定义(随便列举三个参考来源:IEEE 标准、TAoCP 第 4 章,或者 Higham 的《Accuracy and Stability of Numerical Algorithms》),就会发现根据定义,浮点数构成扩展实数线上的一个精确有理数子集。> 该范围内的所有数字都别名映射到同一个……
…http://lipforge.ens-lyon.fr/www/crlibm/documents/cern.pdf. Floating point numbers are _not_ intervals. If you read carefully any formal definition of floating point numbers (The IEEE standards, TAoCP Chapter 4, or Higham's _Accuracy and Stability of Numerical Algorithms_, to name just three possible references), you will see that floating point numbers by definition form an exact rational subset of the extended real line. > All numbers in that range alias to the same…
如果你有兴趣编写高精度的数值算法,作为进阶阅读,我强烈推荐 Nick Higham 写的《Accuracy and Stability of Numerical Algorithms》,这是一本非常全面且优秀的好书。正如这篇文章所说,大家总觉得浮点运算(floating-point arithmetic)神神秘秘的,但其实根本不是:它只是遵循着一套自身精确规定的……
If you are interested in writing accurate numerical algorithms, as further reading I highly recommend reading "Accuracy and Stability of Numerical Algorithms" by Nick Higham, which is a very good comprehensive book. Like this article says, floating-point arithmetic is often thought of as mysterious, but it really isn't: it just obeys its own precisely specified…
……想了解这方面的背景知识,可以去读 Goldberg 的论文《每个计算机科学家都该懂的浮点运算》(What Every Computer Scientist Should Know About Floating-Point Arithmetic)[1]。接下来值得深挖的好书是 Higham 的《Accuracy and Stability of Numerical Algorithms》[2]。这两份资料会告诉你该从哪些地方排查问题,并让你能更具体地分析算法中的浮点(floating point)问题。[1] https://docs.oracle.com/cd/E19957-01/800-7895/800-7895.pdf [2]……
…that provide good background for this stuff, read Goldberg's paper "What Every Computer Scientist Should Know About Floating-Point Arithmetic" [1]. The next good thing to dig through is Higham's book "Accuracy and Stability of Numerical Algorithms" [2] Those will give you lots of places to look for issues, and the ability to analyze algorithms more concretely for floating point issues. [1] https://docs.oracle.com/cd/E19957-01/800-7895/800-7895.pdf [2]…
……顺便介绍了一下动态缩放(dynamic scale),这大概在每门计算机体系结构课上都是用来引出浮点(floating point)概念的吧。这就是个浮点数啊。这家伙该翻翻书了。我推荐 Nick Higham 的《Accuracy and Stability of Numerical Algorithms》。
…with a dynamic scale is presented along the way motivating floating point in probably every computer architecture class. It’s a floating point. This guy needs to open a book. I recommend Nick Higham’s _Accuracy and Stability of Numerical Algorithms_.
……可能会有疏漏,但大体就是这么个意思。我工作时曾在一个复杂得多的例子上搞过这套,试了好几次才搞定。关于这个有一本不错的线性代数书,好像叫《Accuracy and Stability of Numerical Algorithms》(Nicholas Higham 著)。Pharr 等人写的那本著名的 PBR 图形学书也讲了误差估计技术。
…there could be mistakes but that’s the gist. I’ve had to do this for my work on a much more complicated example, and it took a few tries. There is a good linear algebra book about this, I think called Accuracy and Stability of Numerical Algorithms (Nicholas Higham). The famous PBR graphics book by Pharr et. al. also talks about error estimation techniques.
他还写了《Accuracy and Stability of Numerical Algorithms》,这书算是该领域的传世经典之一了。
He also wrote "Accuracy and Stability of Numerical Algorithms" which is part of the canon of the field.
……http://lipforge.ens-lyon.fr/www/crlibm/documents/cern.pdf。浮点数(Floating point numbers)“并不是”区间。如果你仔细读过浮点数的任何正式定义(随便列举三个参考来源:IEEE 标准、TAoCP 第 4 章,或者 Higham 的《Accuracy and Stability of Numerical Algorithms》),就会发现根据定义,浮点数构成扩展实数线上的一个精确有理数子集。> 该范围内的所有数字都别名映射到同一个……
…http://lipforge.ens-lyon.fr/www/crlibm/documents/cern.pdf. Floating point numbers are _not_ intervals. If you read carefully any formal definition of floating point numbers (The IEEE standards, TAoCP Chapter 4, or Higham's _Accuracy and Stability of Numerical Algorithms_, to name just three possible references), you will see that floating point numbers by definition form an exact rational subset of the extended real line. > All numbers in that range alias to the same…