数値計算のための Fortran 90/95 プログラミング入門

著者牛島 省
発行所森北出版
刊行2007/07/27、刷:2016/08/31(第1版第8刷)
入手九大生協で購入
読了2019/02/08
参考 web pages著者による補足ページ

Fortran 90/95 の学習本。去年と今年、3年生に勉強させるのに使ってみた。Fortran は理系研究者の間では根強く使われているものの、 世間的には使用者が少ないために教科書もそれほど多くは出ていない。本書は、その中でも最も学習に適した本であると思う。

本書の特徴は、偏微分方程式の数値計算を目標にして、 それに便利な機能を重点的に取り上げていることだ。特徴としては:

が挙げられる。授業に利用するという意味での特徴としては:

ということがある。あと、細かく気づいた点として覚えていることとしては:

がある。

全体的に見ると、私が見た Fortran 90/95 の日本語の教科書の中では、Fortran 90/95 の特徴を活かして偏微分方程式の数値計算のようなことをすることを目標にするならば、 最も良い選択であると思う。

他の教科書との比較

3年生の勉強に他の教科書を使ったこともあるので、それら他の教科書の特徴も以下に書いておく。ただし、 あまりちゃんと覚えているわけではなくて、今覚えている範囲でということで。

戸川隼人「ザ・Fortran 90/95」(サイエンス社)
この教科書は、薄いのが特徴で、1セメスターで余裕を持って全部終わらせたいという意味では良い。 反面、書いてないことも多い。とくに実際的に困ることは、ファイルからの入出力が書かれていないことである。 授業で使うとすると、この点の補足がほぼ必須である。
Fortran 77 の色が濃くて、モジュールは構造体のところで少し取り上げられているだけである。 副プログラムは、基本的には外部副プログラムのみとしている。 副プログラムでは interface ブロックの使用を必須としているのが、やや煩わしい。 主プログラムの最後には end 文、副プログラムの最後に return 文を必ずつけてあるのも Fortran 77 っぽい。
冨田博之・齋藤泰洋「[改訂新版] Fortran 90/95 プログラミング」(培風館)
この教科書は、(牛島本が偏微分方程式を目指しているのに対して)数値計算一般の立場から書かれている。 そのため、たとえばソートの問題のような、よく計算アルゴリズムで取り上げられるけれども、微分方程式を解くのには要らないような問題も 取り上げられている。
言語仕様の説明は、牛島本よりも網羅的である。do while, where, forall などの構文が取り上げられている。 編集記述子の説明も一通りある。
問題数は多くて、アルゴリズム的に難しいものもある。牛島本のように簡単な行列計算ばかりではなくて、いろいろな 題材が扱われており、その意味では面白いけれども、難しくてついていけなくなる学生もいるだろう。
この本も Fortran 77 色が残存しており、モジュール、構造型、ポインタはまとめて最後の9章で取り上げられているだけである。 モジュールの使用法としては、グローバル変数と構造型(構造体)を主としており、副プログラムでの使用はほんの少し書いてあるだけである。 副プログラムの使用法は Fortran 77 に近くて、外部副プログラムが基本で、interface ブロックの使用は必須としていない (なので、Fortran 90/95 っぽい引数の使用はあまりしない)。さらに、external 文の説明もある(これは interface ブロックを必須とすれば、不要になる)。 Fortran 77 式の構文の説明も「COMMON 文 [旧]」のような形で [旧] という印をつけてなされている。
Larry Nyhoff, Sanford Leestma「入門 Fortran 90」(ピアソン・エデュケーション)
これはずいぶん前に買ったもので、今では売られておらず、学生の教育に使ったことはないのであまりおぼえていない (たぶんほとんどちゃんと読んでもいない)。比較的分厚く、わりと何でも書いてあるようである。ただ、その分、強調点がわかりづらい。 たとえば、モジュールや interface ブロックの使い方をまとめてあるところはなくて、どういう御利益があるのかはわかりにくい。 副プログラムの章の後に配列の章が来ているのもひとつの原因であろう。