fortran66のブログ

fortran について書きます。

Gustafson vs Kahan

Gustafson と Kahan の論難

Kahan はケーハンではなく、カーンと発音するようです。
参考:An Energy Efficient and Massively Parallel Approach to Valid Numerics - YouTube


Gustafson のノリと相性が悪いのか、老人性の偏屈かw Kahan が Gustafson との e-mail 文通をやめて返事を出さなくなったあたりから、こじれていったようです。 

全編
www.youtube.com
各人の発表部分のみ 
www.youtube.com
www.youtube.com


シンポジウム・プログラム

the 23rd edition of the ARITH symposium
ARITH 23 - Program

発表スライド

  • John L. Gustafson

UNUM ARITHMETIC
POSITION STATEMENT
http://arith23.gforge.inria.fr/slides/Gustafson.pdf

  • William Kahan

A Critique of John L. Gustafson’s
THE END of ERROR — Unum Computation
and his
A Radical Approach to Computation with Real Numbers
http://arith23.gforge.inria.fr/slides/Kahan.pdf

Gustafson の浮動小数

今の浮動小数点数は、数直線上に有限個の点を取って 2 進表現を与えています。これらの点上の数値は厳密ですが、これらの点上に来ない大多数の実数は、近隣の点に丸められます。これによって、数直線上の点は、点上の厳密な数と近傍の区間の代表元としての二重の意味を持ちます。このため話がややこしくなってしまいます。

講演やスライドをながら見した私の理解 (間違ってたらゴメン)

posithub.org

Unum では、数直線上の点を取るほかに、点と点の間の開区間にも2進表現を与える数値フォーマットのようです。これにより、厳密な数値と区間の代表元を分けるようです。また開区間と閉区間を表せるなど面白いのですが、従来のものと変わりすぎていて、にわかには優劣の判断をしかねます。区間演算の一種ともみなせるようです。

Kahan は、結構致命的な指摘をしたようで、別のフォーマットを生み出すきっかけとなったようです。
Type1 のあと Type2 が新たに提案されたようですが、Gustafson は今年になってからさらに別の形式 Posit を推しています。

Posit は、Unum に比べると従来型の数に近く、極限では IEEE754 に近づく感じです。素朴に見れば浮動小数点の指数部を 2 の冪から、2^t の冪に動的に変えられるようにして、数値のダイナミックレンジを広げた模様です。こちらの方は、従来型の延長線上にあって理解しやすい気がします。しかしそうであれば、結合則不成立などの問題がゾンビのようによみがえるのではないかと思います。Gustafson は、その点について触れていません。

The End of Error: Unum Computing (Chapman & Hall/CRC Computational Science)

The End of Error: Unum Computing (Chapman & Hall/CRC Computational Science)

Elementary Functions: Algorithms and Implementation

Elementary Functions: Algorithms and Implementation

Software Manual for the Elementary Functions (Prentice-Hall series in computational mathematics)

Software Manual for the Elementary Functions (Prentice-Hall series in computational mathematics)

近似式のプログラミング

近似式のプログラミング

LAPACK/BLAS入門

LAPACK/BLAS入門