イントロダクション

履修人数にもよるが、 この講義では出席を電子メールにて送信する。

毎回レポートがあるので、 レポートを電子メールにて提出する。

変数

x, y, ... などの、アルファベットの後半からの文字は、 変数として使われることが多い。変数とは、方程式で値を仮置きしておくものである。

方程式の次元

変数 x により変化する値を関数 f(x) と呼ぶ。 関数 f(x) が について比例の関係であるとき、この関数を線形と呼び、 x について 1 次という。 f(x) のもっとも高次の次数 n をとり n 次関数と呼ぶ。

Ruby 言語

本学学部 2 年次で Ruby 言語の習得をしているため、 Ruby あるいは Fortran を比較しながら講義をすすめる。 Ruby はインタプリタ型の言語である。 最近は Web 上でよく使われる言語であるが、 数学者が開発に加わっていることもあり、 比較的数字にも強い。ファイル名は example.rb


#!/usr/koeki/bin/ruby

total = 0
for i in 0..9
     puts total += i
end

実行は Kterm で chmod +x example.rb ののち、./example.rb で実行する。

コメントは # を使用する。

Fortran のプログラム例

Fortran は、C 言語の開発前から存在する言語で、 大型計算機のプログラムはこれで書かれている割合が高いという調査もある。

ファイル名は本学の環境では example.f とし、


      program example
      implicit none
      integer i, total
      total = 0
      do i = 0,9
         total = total + i
      end do
      write(*,*) total
      end program 

実行は Kterm で gfortran example.f とし、できあがったバイナリファイル ./a.out を実行して調べる。

Fortran 95

Fortran 77 から規格が変更され、 近年の言語で便利な機能を取り入れるようになった。

Fortran でのきまりごと

program ファイル名 -- end program でファイルの開始と終了。 ファイル名は .f の前の部分とする。

命令は必ず 6 文字以上空ける。 6 文字より前は、FORTRAN などの古い時代の行番号が含まれた部分である。 使うと見やすい場合があるので、便宜上今でも空けておく。 Emacs では、TAB キーを押すと自動的に空けることができる。

コメントは ! を使用する。

implicit none は、Fortran の予約された変数の型を無効にする。

Fortran での変数と型

変数には、文字や数値が入る。文字や数値を代入するとき、変数を型によって区別する。

integer, real, complex, string, logical などの型がある。 文字や数値を代入する際に、適切な型宣言を行なった変数に代入する。 数値の場合は、実数が倍精度型実数になるように設定する。

d0 = 100 と読み替える。

有効数字

1.0d0 = 0.10d1である。左から読んで数字の始まる前の桁までのゼロは、有効数字に数えない。 数字が始まり、d0(d1) までの数が、有効数字の桁数で、この場合はどちらも 2 桁となる。 d0(d1) を忘れると、精度が低下する処理系も存在する。 real の場合は単精度型となり、 小数桁が 6 桁程度だけ正しいだけであるが、倍精度型 real(8) では、15 桁程度正しく計算される。 以降倍精度型を常に使うことにする。 倍精度と単精度の演算は、単精度になる。

除算での注意

除算は、整数型で割ると、小数点以下を切り捨ててしまう。 まずは実数値で計算させ、結果を型変換の組み込み関数 nint などを使って、 結果を得るとよい。

Ruby 言語では整数値で割る場合に、to_i がついてしまうので、 小数値をつけて割るか、to_f 変換して、指示指定子を工夫することで乗り切った。