「C & Fortran 演習で学ぶ数値計算」 読者のページ

本ページは、片桐孝洋、大島聡史 共著、「C&Fortran 演習で学ぶ数値計算」、共立出版 (2022年3月19日出版) の、正誤表と情報交換のページです。
この度は本書をお買い上げ、誠にありがとうございました。著者一同、御礼申し上げます。

初版における、現在把握している誤り、修正点、情報は、以下になります。ご迷惑をお掛けして、申し訳ございません

-------------------------------------

●2022年4月21日:
配布中のFortran90コードについて、GNU gfortran以外のコンパイラ(Intelコンパイラ、富士通コンパイラ)でもコンパイル可能なコードを配布中です。また、以下のコード上の誤りのいくつかを修正しています。詳しくは、出版社のページのPDFをご覧ください。


●現在判明の正誤表について
・pp. 9 のdouble型説明文
【誤】 ・・・ × ^{指数部-1023} ×・・・
【正】 ・・・ × 2^{指数部-1023} ×・・・  

・pp. 12、式(1.5)の分子
【誤】 - 2 a
【正】 - 2 c

・pp. 21、ソースコードC1.4、12行目
【誤】 x = (-2.0 * a) / ・・・
【正】 x = (-2.0 * c ) / ・・・

・pp. 22、ソースコードF1.4、10行目
【誤】 x = (-2.0 * a) / ・・・
【正】 x = (-2.0 * c ) / ・・・

・pp. 22、実行結果
Cの出力例:
【誤】
 Improved x = -3.333333e-31
 a x*x + b x + c = 1.000000e-15
【正】
 Improved x = -6.666667e-31
 a x*x + b x + c = 0.000000e+00


Fortranの出力例も、上記と同様の誤りがあります。

・pp. 40 の 式 (3.9)
【誤】 ・・・ \sum_{ k = 0}^N
【正】 ・・・ \sum_{ j = 0}^N

・pp. 44 の 式 (3.12)
【誤】 ・・・ + d
【正】 ・・・ + d_ j

・pp. 49 の 式 (3.40)の下の節
【誤】 ・・・ スカラ \sum_{i=1}^{M} a_i^* を求めることができる.
【正】 ・・・ スカラ a_i^*, i = 1, 2, ..., M を求めることができる.

・pp.62 のソースコードC35(続き)
【追加】 47行、48行の間 u[N]=0.0;

・pp.64のソースコードF3.5(続き)
【追加】 53行、54行の間 u(N) =0.0

・pp.72の5行目
【誤】 T_0 = (b-a) / (f(a)+ ...
【正】 T_0 = (b-a) * (f(a)+ ...

・pp. 75 の 1行目
【誤】 ・・・ ただし,S_{n+1} は
【正】 ・・・ ただし,S_n

・pp. 118 の式(6.12)
【誤】 ・・・ -ωA_U)
【正】 ・・・ -ωA_U) / ω

・pp. 120 の 式(6.16)
【誤】 ・・・ = M^{-1} N e_k
【正】 ・・・ = M^{-1} N e_{k-1}

・pp. 120 の 式(6.16)の下
【誤】 k = 0, 1, ...., k-1
【正】 k は k-1, k-2, ..., 0

・pp. 164 の 式(7.2)
【誤】 lim_{h→∞}
【正】 lim_{h→0}

・pp.165、式(7.9)
【誤】 ・・・ + h f (x_i, y_i )
【正】 ・・・ + h f (x_{i-1}, y_{i-1})

・pp. 172、 式(7.22)
【誤】  ・・・ = y^(1) (x_{i-1}) + h f_1 (x_i, y_i^{(1)}, y_i^{(2)})
【正】  ・・・ = y_i ^(1) (x_{i-1}) + f_1 (x _{i-1}, y_i^{(1)}(x_{i-1}), y_i^{(2)}(x_{i-1}))

・pp. 172、 式(7.22)
【誤】  ・・・ = y_2 (x_{i-1}) + h f_2 (x_i, y_i^{(1)}, y_i^{(2)})
【正】  ・・・ = y_i ^(2) (x_{i-1}) + f_2 (x _{i-1}, y_i^{(1)}(x_{i-1}), y_i^{(2)}(x_{i-1}))


●その他の情報
・pp. 10 (例)の説明の後、以下の文章を追加:
 「なお,以上の例ではαを∞とおいている点に注意する.ランダウの記号は,αを-∞や+∞とおいて利用されることが多い.

・pp.21-22の問題2.1の修正(上記のpp.12の式(1.5)の誤り)をしたコードが提供されています(2022年3月28日現在)。

・pp. 44 、下から2行目
原文: 以上を u_{j+1} とおくと・・・
追加: 式(3.20) を u_{j+1} とおくと・・・

・pp.192-193 のソースコード C7.4 7_4_PoissonGS.f、 および pp.194-195 ソースコード F7.4 7_4_PoissonGS.f
   ローカル変数dmaxを初期化せずに用いていますが、実際には適当な数値(1.0 など)での初期化が必要です。
また、関数CalcErrは初回は実行不要のため if ( i > 0 ) などの条件分岐が必要です。
いずれもWebで配布しているソースコードでは修正済です。


--------------------------------------
更新日時: 2022年6月3日