ゴールドシュミット法

 投稿者:しばっち  投稿日:2012年 7月28日(土)14時08分53秒
  !'ゴールドシュミット法(Gold schmidt)
OPTION ARITHMETIC DECIMAL_HIGH
INPUT  PROMPT "A=":A !'(※ここでは A=3072は収束しない。A=5120以上では発散する)
LET X=A/32/32
LET Y=A/32/32
DO
   LET Z=(3-X)/2
   LET X=X*Z*Z
   LET Y=Y*Z
   PRINT Y*32
LOOP UNTIL ABS(X-1)<1E-990
PRINT
PRINT SQR(A)
END

----------------------------------------------

OPTION ARITHMETIC DECIMAL_HIGH
LET A=PI
LET X=A
LET Y=A
LET Z=.564189583547756  !'Z=SQR(1/PI) 初期値を与える
DO
   LET X=X*Z*Z
   LET Y=Y*Z
   LET Z=(3-X)/2 !'上のプログラムと計算順序を入れ替えている
   PRINT Y
LOOP UNTIL ABS(X-1)<1E-990
PRINT
PRINT SQR(PI)
END

----------------------------------------------

INPUT  PROMPT "A=":A
INPUT  PROMPT "n乗根=":N
LET X=A
LET Y=A
LET K=2^N
LET X=X/K^N
LET Y=Y/K^N
DO
   LET Z=(N+1-X)/N
   LET X=X*Z^N
   LET Y=Y*Z^(N-1)
   PRINT Y*K
LOOP UNTIL ABS(X-1)<=1E-13
PRINT Y*K;A^(1/N)
END
 

戻る