ニュートン法は、グラフの接線を利用して方程式の解の近似値を求める、効率のよい方法です。これについては前の記事があります。
www.omoshiro-suugaku.com
このときは具体的にプログラムを書いて解を求めて……とはやりませんでした。今回は実験してみましょう。
図はy=f(x)のグラフです。

点(p,q)で接線を引き、x軸との交点を求めます。接線の方程式は

ですから、y=0とおくと

これが接線とx軸の交点の座標です。この点での接線をまた引き、同じことを繰り返します。図を見ると分かりますが、何回かで接線とx軸の交点はかなりグラフとx軸の交点に近づきます。手で計算すると大変ですから、もちろんコンピュータでやります。ここではf’(x)を通常の導関数の計算で求めるのではなく、近似値で代用します。この近似値は前に使った方法で求めます。
では、例によってPythonで。√2を求めてみます。
import sys
def f(x):
return x *x - 2
def g(p): # x = p での微分係数(導関数の値)を求める
return (f(p + d) - f(p))/d
#
x = 2 #xの初期値
d = 0.0001 #微分係数を求めるためのxの増分
#
#xのところで接線を引き、x軸との交点を求める。
#その交点の座標を改めてxとおき、繰り返す。
for i in range(100):
x = x - f(x) / g(x)
#
print('解の近似値 x = ', x)
sys.exit()実行結果は以下の通り。
解の近似値 x = 1.414213562373095
この方法(グラフの傾きを近似値で求める)なら、相手にする方程式によって導関数を入れ直す、という作業は不要です。
方程式は、解の公式があるものなど本当にわずかです。ほぼないと言ってもよいでしょう。しかし実用では困りません。コンピュータを使えば近似値を求めることができるからです。