みなさ〜ん、数値計算、してますか〜?
数値計算とは
\(\)コンピューターを使って、代数的または解析的に解くことが困難な問題、または手計算では不可能な計算量が膨大な問題を解くこと。
デジタル大辞泉
ニュートン法
ニュートン法とはある関数fにおいて$$f(x)=0$$を満たすxを求めるアルゴリズムです。
このfは単調増加かつ2回微分可能で上(または下)に凸であることが(もちろんf(x)=0 が解を持つことも)必要です。
そして、解を求める漸化式は下のように表されます。
$$x_{i+1}=x_{i}-\frac{f(x_i)}{f'(x_i)}$$
それでは実際に求めてみましょう。
今回は√5の値を求めていきます。
$$f(x)=x^2-5,f'(x)=2x$$であるので
$$x_{i+1}=x_{i}-\frac{x_i^2-5}{2x_i}$$となり、この数列は√5に収束します。
実際にPythonコードを書くと下のようになります。
#2乗根を求めるpythonプログラム
a = 5 #初期値
e = 0.00001 #誤差
x = (1+a)/2
while ((x-e)**2 > a):
x = x-(x**2-a)/(2*x)
print(x)
#結果:2.2360688956433634
実際に2.2360688956433634^2≒5です。