fortran66のブログ

fortran について書きます。

メモ帳:情報学会誌『情報処理』の Fortran 規格関係記事 

FORTRAN IV 言語の概略 1962年 Vol.3 No.3 西村恕彦
情報学広場:情報処理学会電子図書館

■ALGOLとFORTRANのJIS原案 1967年 Vol.8 No.1 井上謙蔵
情報学広場:情報処理学会電子図書館

FORTRAN 77 の特徴:JIS FORTRAN との非互換性の観点から 1979年 Vol.20 No.5  西村恕彦
情報学広場:情報処理学会電子図書館

プログラミング言語の最新の動向:3. FORTRAN 1981年 Vol.22 No.6  菅忠義
情報学広場:情報処理学会電子図書館

FORTRANの標準化 1983年 Vol.24 No.5  菅忠義  
情報学広場:情報処理学会電子図書館

*その他
■JIS FORTRAN の文に関する非局所的文法について 1970年 Vol.11 No.4  菅忠義
情報学広場:情報処理学会電子図書館

■Fortlan 8Xの概要の紹介 (情報処理学会研究報告プログラミング) 1986年 Vol.33  菅忠義
情報学広場:情報処理学会電子図書館
bit の記事に類似。手書き。

プログラミング言語の標準化の動向 (情報処理学会研究報告プログラミング) 1986年 Vol.33 中田育男
情報学広場:情報処理学会電子図書館
一部 Fortran に関する記述あり。

fortran66.hatenablog.com

Dijkstra の FORTRAN 評 (FORTRAN は解けない呪い!)

エドガー・W・ダイクストラ (Edsger W. Dijkstra)
1972年 ACM チューリング賞 受賞講演
The Humble Programmer

より
エドガー・W・ダイクストラ: 謙虚なるプログラマ (The Humble Programmer)

引用

ソフトウェア業界における 2つめの大きな発展は、FORTRAN の誕生です。 当時、このもくろみは向こう見ずなものととらえられており、 これに関わった人々は多大な尊敬を受けるべきです。これが広範に使われて 10年かそこらたったあとで初めて明らかになった欠点について、 彼らを批判するのはまったくフェアではありません。 10年先を見通せる人々の集団など、きわめて稀なのですから! 今からふりかえって、わたしたちFORTRAN を成功したコーディング技術と みなさなければなりませんが、概念化のためのツールがほとんどなく、 そういったツールが今やあまりにも深刻に不足しているため、 FORTRAN は時代遅れのものとみなす時が来てしまいました。 FORTRAN が存在していたということを忘れるのは早ければ早いほどよいのです、 なぜなら思考の道具としては、これはもはや適切ではないからです。 これは私たちの脳を浪費し、使うにはあまりにもリスキーで 高額なしろものとなってしまいました。FORTRAN の悲劇は広く知られるところと なっています。何千人というプログラマが過去の誤ちに精神的な鎖でつながれているのです。 私は同僚のプログラマたちが互換性の呪いから彼ら自身を解き放つ方法を 見つけられるようにと、毎日のように祈っています。

FORTRAN が存在していたということを忘れるのは早ければ早いほどよいのです』
(笑)

f:id:fortran66:20170926002002p:plain
The humble programmer
https://www.cs.utexas.edu/~EWD/transcriptions/EWD03xx/EWD340.html

ちなみに PL/I ユーザーは機能を果てしなく欲しがる麻薬中毒患者扱いですw

雑誌 bit に於ける FORTRAN 記事

FORTRAN の連載記事は、創刊当初から数多く載せられていたが、1979年をもって以後なくなる。この年には Backus のチューリング賞受賞講演の翻訳が載っている。また Ada や 4004/8080/Z80嶋正利氏のインタビューが出ている。

翌1980年には C の紹介、CRAY-1、8086、PET-2001の記事が出ている。さらに 1981年に入るとシリコンバレー便りなる連載が始まり、D.リッチーの C/UNIX 解説の翻訳記事が出ている。 

なお Pascal の紹介記事は 1976年に出ている。Pascal に関する連載は 1978年から。また 1977年ごろにはアメリカのマイコン・ショップ巡りやコンピュータ・ゲームの話が出ている。

参考:
bitのぺーじ - memo.ptie.org

fortran66.hatenablog.com

建築構造設計・解析入門 Fortran 解析プログラム付

建築構造設計・解析入門 Fortran 解析プログラム付

第3版 有限要素法による流れのシミュレーション OpenMPに基づくFortranソースコード付

第3版 有限要素法による流れのシミュレーション OpenMPに基づくFortranソースコード付

Fortran ハンドブック

Fortran ハンドブック

Fortran90/95による実践プログラミング

Fortran90/95による実践プログラミング

【遅報!】Modern Fortran Explained Appendix E, OO.F90 改訂される

いつのまにか Modern Fortran Explained の Appendix E の OO.F90 が今年に入ってからも改訂されていたようです。タイムスタンプしか見ておらず、内容を確認していません。

ftp://ftp.numerical.rl.ac.uk/pub/MRandC/
ftp://ftp.numerical.rl.ac.uk/pub/MRandC/oo.f90
2017/05/19 0:36:00

Modern Fortran Explained Appendix E のプログラム例題にはバグがあって動かなかったのですが、掲示板・ニューズグループで指摘があって改訂がなされました。

fortran66.hatenablog.com
fortran66.hatenablog.com

Modern Fortran Explained (Numerical Mathematics and Scientific Computation)

Modern Fortran Explained (Numerical Mathematics and Scientific Computation)

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入門

【メモ帳】Gustafson の浮動小数点数

浮動小数点数は実数の近似ですが、結合則や分配則が成り立たないなど、実数の性質を満たしません。そのため実数を前提とした等価な数式変形が同じ結果を与えないことがあり、等価な数式表現の内、一番適切なものを選ぶ必要があります。

土曜の午後の徒然に、結合則とかどうにかならんのかな?と浮動小数点数についてちょっと調べてみたところ、並列計算のグスタフソンの法則で有名な Gustafson が新しいフォーマットを提唱していることが分かりました。 Gustafson によると彼の新しい浮動小数点数フォーマットによれば、結合則も成り立ち様々な問題が解決するとのことです。
Dr. John L. Gustafson: Gustafson's Law

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

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

f:id:fortran66:20170924025545p:plain
かつては浮動小数点数といえば、各ベンダー・各機種毎に様々な フォーマット がありましたが、西暦1990年代中葉以降に Kahan が取りまとめた IEEE754 形式にほぼ一統されてゆきました。

もう少し調べてみると、Kahan が Gustafson にくそみそに 駄目出ししているようでした。
Prof. W. Kahan's web pages
Commentary on “THE END of ERROR — Unum Computing”
https://people.eecs.berkeley.edu/~wkahan/EndErErs.pdf
新しめの Kahan の書きものをみると、怒れる老人的な細かさとしつこさと力強さと~♪がある気がしますw

ふたりの直接対決w
www.youtube.com



さらに調べてみると、Gustafson はシンガポール国立大に職を得て、新たなフォーマットを付け加えているようです。
Youtube講演。(unum type1 → unum type2 → posit)

早口で話しています。後半 Julia による実演があります。
www.youtube.com
落ち着いて話しています。
www.youtube.com

Gustafson の問題提起などはとても納得のいくものですが、ちょっと見聞きしただけでは、これが良い解答なのかどうかは私の無知浅学では全く判断がつきません。