« 読売の記事から | トップページ | 多倍長計算, FFT »

2006年8月31日 (木)

#Calc 1.1.4 その 3

今日は正数の自然対数を求めるルーチンを実装。自然対数の計算は逆双曲線正接の計算に帰着させるので、そのルーチンも実装した。

アルゴリズムの概略:

  • tanh-1(x) = x1/1 + x3/3 + x5/5 + x7/7 + …
  • log(x) = 2 tanh-1((x - 1) / (x + 1))
  • 以下の公式を利用して、実際に対数を求める値を 1 に近付け、収束を速くする:
    • log(x * 10y) = log(x) + y * log(10)
    • log(x * 2y) = log(x) + y * log(2)
  • log(10) と log(2) の値は何度も使うのでキャッシュしておく。ただし、直接求めると収束が遅いので以下の公式を使う:
    • log(2) = log(1.024) + 3 * log(1.25)
    • log(10) = 3 * log(1.024) + 10 * log(1.25)

|

« 読売の記事から | トップページ | 多倍長計算, FFT »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/169172/11707688

この記事へのトラックバック一覧です: #Calc 1.1.4 その 3:

» #Calc 1.1.4 その 4 [まじかんと雑記]
今日は、「その 3」で作った逆双曲線正接を、絶対値が一未満の全ての実数に適用でき [続きを読む]

受信: 2006年9月 2日 (土) 23時27分

» #Calc 1.1.4 その 5 [まじかんと雑記]
今日は実数を引数とする指数関数を実装した。 [続きを読む]

受信: 2006年9月 3日 (日) 23時35分

« 読売の記事から | トップページ | 多倍長計算, FFT »