多倍長数の逆数計算


逆数は、ニュートン法で求められる。

1/xの微分=-1/x^2

  f(x)=1/x−A=0

  f’(x)=-1/x^2

したがって、逆数のニュートン法の漸化式は

  Xn+1 :=Xn-(f(Xn)/f’(Xn))
       =Xn-(1/Xn−A)/(-1/Xn^2)
       =Xn+(Xn−A・Xn^2)
       =2・Xn−A・Xn^2
       =(2−A・Xn)・Xn

例) 多倍長でない場合の例           十進BACIC
!
!逆数を求める場合のニュートン法
!Xn+1 := 2・Xn−A・Xn^2
!

OPTION ARITHMETIC DECIMAL_HIGH
LET A=3 ! 1/3の場合
LET x=0.4 ! 初期値

FOR J=1 TO 5
LET x=2*x-A*x^2
NEXT J

PRINT "x=";x

END

結果: 1/3= .33333333333333333333331901677568