Fortran ハンドブック

書籍の概要

この本の概要

数値計算に最適なソフトウェアFortran 95の基礎から実践までの知識がこの1冊で身に付く!本書はFortran文法とプログラムの書き方を解説した基礎編,さまざまな数値計算法を解説した実践編の2部構成になっています。「第I部 Fortran 基礎編」では,Fortranプログラミングの基本から,汎用性の高い便利な文法や配列計算式など,幅広く解説してあります。「第II部 Fortran 実践編」では,さまざまな数値計算法を題材にした例題を豊富に収録。例題にはそれぞれ解答プログラム例を示し,数値計算アルゴリズムについて詳細に解説してあります。初歩的なものから実用的なものまで,数多くの数値計算アルゴリズムが本書1冊に収録されています。

こんな方におすすめ

  • 理工系学生,研究者などのFortranユーザ

目次

第I部 Fortran基礎編
第1章 Fortranプログラミングの基本

  • 1.1 メインプログラムの開始と終了
  • 1.2 代入文と演算の書式
  • 1.3 数値の型
  • 1.4 変数の宣言
  • 1.5 組み込み関数
  • 1.6 print文による簡易出力
  • 1.7 配列
  • 1.8 継続行,複文,コメント文

第2章 手順のくり返しと条件分岐

  • 2.1 手順のくり返し --- do文
  • 2.2 条件分岐 --- if文
  • 2.3 無条件ジャンプ --- goto文,exit文,cycle文

第3章 サブルーチン

  • 3.1 サブルーチンの宣言と呼び出し
  • 3.2 ローカル変数と引数
  • 3.3 配列を引数にする場合
  • 3.4 関数副プログラム
  • 3.5 モジュールを使ったグローバル変数の利用
  • 3.6 サブルーチンや関数副プログラムを引数にする手法

第4章 データ出力とデータ入力

  • 4.1 データ出力先の指定
  • 4.2 配列の出力,do型並び
  • 4.3 出力における書式指定
  • 4.4 データ入力
  • 4.5 書式なし入出力文によるバイナリ形式の利用
  • 4.6 ファイルのオープンとクローズ

第5章 知っておくと便利な文法

  • 5.1 拡張宣言文による変数の属性指定
  • 5.2 数値型の精度指定
  • 5.3 do while文と無条件do文
  • 5.4 ネームリストを用いた入力
  • 5.5 配列の動的割り付け
  • 5.6 include文
  • 5.7 乱数発生用サブルーチン

第6章 文字列

  • 6.1 文字列定数と文字列変数
  • 6.2 部分文字列と文字列演算
  • 6.3 出力における文字列の利用
  • 6.4 数値・文字列変換
  • 6.5 文字列に関する組み込み関数

第7章 配列計算式

  • 7.1 基本的な配列計算式
  • 7.2 部分配列
  • 7.3 where文による条件分岐
  • 7.4 配列構成子
  • 7.5 配列に関する組み込み関数

第Ⅱ部 Fortran実践編
第1章 連立1次方程式の直接解法

  • 1.1 2元連立1次方程式の解法
  • 1.2 3元連立1次方程式の解法
  • 1.3 一般の連立1次方程式の解法1 -ガウスの消去法-
    • Key Elements 1.1 行列式の計算量
  • 1.4 一般の連立1次方程式の解法2 -ピボット選択付きガウスの消去法-
  • 1.5 逆行列計算 -LU分解-
  • 1.6 対称帯行列の連立1次方程式の解法 -修正コレスキー分解-
  • 1.7 3重対角連立1次方程式の解法 -ガウスの消去法-
  • 1.8 ブロック3重対角連立1次方程式の解法 -ブロック巡回縮約法-
    • Key Elements 1.2 直接解法の計算量

第2章 非線形方程式の解法

  • 2.1 2次方程式の解法1
  • 2.2 2次方程式の解法2 -判別式に応じた解の計算-
  • 2.3 非線形方程式の反復解法1 -逐次代入法-
  • 2.4 非線形方程式の反復解法2 -2分法-
    • Key Elements 2.1 中間値の定理
  • 2.5 非線形方程式の反復解法3 -割線法と2分法の併用-
  • 2.6 非線形方程式の反復解法4 -ニュートン法-
    • Key Elements 2.2 収束の速さ
  • 2.7 複素非線形方程式の反復解法 -ニュートン法-
    • Key Elements 2.3 複素非線形方程式の解周辺の挙動
  • 2.8 多項式の解を全て計算する方法 -DKA法-

第3章 行列の固有値と固有ベクトル

  • 3.1 2次の正方行列の固有値と固有ベクトル
  • 3.2 3次の正方行列の固有値と固有ベクトル
    • Key Elements 3.1 実数対称行列の固有値と固有ベクトル
  • 3.3 べき乗法
  • 3.4 逆べき乗法
  • 3.5 ヤコビ法
    • Key Elements 3.2 行列の相似変換
  • 3.6 ハウスホルダー変換による対称行列の3重対角化
  • 3.7 2分法による3重対角行列の固有値計算,および逆べき乗法による
  • 固有値の精度向上と固有ベクトルの計算

第4章 数値積分

  • 4.1 台形公式
  • 4.2 シンプソンの公式
  • 4.3 複素関数の周回積分 -留数計算-
    • Key Elements 4.1 数値積分の精度
  • 4.4 ルジャンドル・ガウス積分公式
  • 4.5 ラゲール・ガウス積分公式 -半無限区間の積分-
  • 4.6 エルミート・ガウス積分公式 -全無限区間の積分-
    • Key Elements 4.2 ガウス型積分公式の一般論
  • 4.7 2重指数関数型積分公式
  • 4.8 長方形領域の重積分の計算
  • 4.9 モンテカルロ法による立体の体積計算
    • Key Elements 4.3 モンテカルロ法の精度

第5章 補間と最小2乗法

  • 5.1 線形補間
  • 5.2 3次補間
  • 5.3 3次スプライン補間
    • Key Elements 5.1 ラグランジュの補間公式とニュートンの補間公式
  • 5.4 有理関数近似
  • 5.5 チェビシェフ近似
    • Key Elements 5.2 クレンショーの漸化公式
  • 5.6 多項式適合法による平滑化
  • 5.7 最小2乗法

第6章 特殊関数

  • 6.1 誤差関数
  • 6.2 正規分布関数の逆関数
  • 6.3 ガンマ関数
  • 6.4 フレネル積分
    • Key Elements 6.1 連分数の計算方法
  • 6.5 整数次第1種ベッセル関数
  • 6.6 整数次第2種ベッセル関数
    • Key Elements 6.2 ミラーの方法
  • 6.7 整数次第1種変形ベッセル関数
  • 6.8 整数次第2種変形ベッセル関数
  • 6.9 第1種完全楕円積分
  • 6.10 ヤコビの楕円関数

第7章 常微分方程式の解法

  • 7.1 初期値問題の解法 -オイラー法-
  • 7.2 連立常微分方程式の初期値問題の解法 -オイラー法-
    • Key Elements 7.1 数値微分と近似精度
  • 7.3 精度の高い初期値問題の解法 -ルンゲ・クッタ法-
  • 7.4 自動刻み幅調節計算 -ルンゲ・クッタ・フェールベルグ法-
  • 7.5 硬い方程式の解法 -陰解法-
    • Key Elements 7.2 常微分方程式における数値計算の安定性
  • 7.6 保存性を保証する運動方程式の解法 -シンプレクティック法-
    • Key Elements 7.3 シンプレクティック法の保存量
  • 7.7 2点境界値問題の解法 -差分化による解法-
  • 7.8 2点境界値問題の解法 -シューティング法-

第8章 偏微分方程式の解法

  • 8.1 1次元熱伝導方程式の解法1 -陽解法-
  • 8.2 1次元熱伝導方程式の解法2 -陰解法-
  • 8.3 陰解法による非線形熱伝導方程式の解法
    • Key Elements 8.1 熱伝導方程式における解の挙動
  • 8.4 1次元移流方程式の解法1 -1次風上差分-
  • 8.5 1次元移流方程式の解法2 -2段階ラックス・ウェンドロフ法-
  • 8.6 1次元移流方程式の解法3 -TVD法-
    • Key Elements 8.2 TVD条件
  • 8.7 2次元ポアソン方程式の反復解法1 -ヤコビ法-
  • 8.8 2次元ポアソン方程式の反復解法2 -ガウス・ザイデル法+SOR-
  • 8.9 2次元ポアソン方程式の反復解法3 -ICCG法-
    • Key Elements 8.3 共役勾配法

第9章 離散フーリエ変換とその応用

  • 9.1 離散フーリエ変換
  • 9.2 高速フーリエ変換
  • 9.3 実関数の高速フーリエ変換
  • 9.4 カオスのパワースペクトル
    • Key Elements 9.1 ロジスティック写像
  • 9.5 窓関数と短時間フーリエ変換
  • 9.6 連続ウェーブレット変換
    • Key Elements 9.2 たたみ込み積分,自己相関関数,パワースペクトル
  • 9.7 スペクトル法による非線形偏微分方程式の解法
    • Key Elements 9.3 サンプリング定理とエイリアス誤差

第10章 プログラミングミニパーツ

  • 10.1 組み立て除法
  • 10.2 データの並べ替え1 -バブルソート-
  • 10.3 データの並べ替え2 -ヒープソート-
  • 10.4 データのシャッフル
  • 10.5 ヒストグラム
    • Key Elements 10.1 正規乱数の生成法
  • 10.6 連結リスト
  • 10.7 黄金分割法による極大点の探索
  • 10.8 等積分点の計算
  • 10.9 整数係数連立1次方程式の厳密解法 -合同式の応用-
    • Key Elements 10.2 中国剰余定理
  • 10.10 通し番号付き文字列の生成

付録

  • A gfortranを用いたコンパイルから実行までの手順
  • B コンピュータで表現可能な数値の大きさ
  • C 数値計算プログラムを書く時の注意点
  • D ASCIIコード

参考文献