問題3.65 – SICP(計算機プログラムの構造と解釈)その156
2009年04月18日
問題3.65
(define (log-summands n) (cons-stream (/ 1.0 n) (stream-map - (log-summands (+ n 1))))) (define log-stream (partial-sums (log-summands 1)))
それぞれの収束の速さの違いが一目瞭然。
partial-sums
手続きを使った場合
(stream-head log-stream 10) gosh> 1.0 0.5 0.8333333333333333 0.5833333333333333 0.7833333333333332 0.6166666666666666 0.7595238095238095 0.6345238095238095 0.7456349206349207 0.6456349206349207 done
euler-transform
手続きを使った場合
(stream-head (euler-transform log-stream) 10) gosh> 0.7 0.6904761904761905 0.6944444444444444 0.6924242424242424 0.6935897435897436 0.6928571428571428 0.6933473389355742 0.6930033416875522 0.6932539682539683 0.6930657506744464 done
タブロー(tableau)を使った場合
(stream-head (accelerated-sequence euler-transform log-stream) 10) gosh> 1.0 0.7 0.6932773109243697 0.6931488693329254 0.6931471960735491 0.6931471806635636 0.6931471805604039 0.6931471805599445 0.6931471805599427 0.6931471805599454 done
計算機プログラムの構造と解釈
posted with amazlet at 08.11.07
ジェラルド・ジェイ サスマン ジュリー サスマン ハロルド エイブルソン
ピアソンエデュケーション
売り上げランキング: 6542
ピアソンエデュケーション
売り上げランキング: 6542