2.1 数値計算のアルゴリズム
反復による平方根の計算
ルート2を求めるプログラムとしてpythonで擬似コードを再現したのが以下のプログラムです.
実行結果では, とても長い回数の計算が行なわれていることがわかります.以下の実行結果はプログラムを実行したばかりのものと終わりの部分だけを掲載しています.
二分法による平方根の計算
ルート2を求めるプログラムとしてpythonで擬似コードを再現したのが以下のプログラムです.
実行結果からアルゴリズムにより計算回数が減ったことがわかります.
ニュートン・ラフソン法による平方根の計算
このアルゴリズムは図のように, 曲線上でa=yにおける接線を求め, その接線とb=xとの交点を求めます. その位置を新たなyとして曲線上の点での接線を求め, そこでの接線とb=xとの交点を求めるという処理を, 赤線部分(もとのyと交点の新しいyとの差分)が, 決められた値より小さくなるまで同じ作業を繰り返します.
ルート2を求めるプログラムとしてpythonで擬似コードを再現したのが以下のプログラムです.
実行結果からアルゴリズムによりさらに計算回数が減ったことがわかります.