理系学生日記

おまえはいつまで学生気分なのか

問題1-35

黄金比\phiに対して、
1+\frac 1{\phi}=1+\frac 1{\frac{1+\sqrt 5}2}=1+\frac 2{1+\sqrt 5}=1-\frac{1-\sqrt 5}2=\frac{1+sqrt 5}2=\phi
よって、黄金比\phiは変換x\mapsto 1+\frac 1xの不動点。


で、不動点を求める以下の手続きを使って、\phiを計算する。

(define (close-enough? x y)
  (< (abs (- x y)) 0.001))

(define tolerance 0.00001)

(define (fixed-point f first-guess)
  (define (close-enough? v1 v2)
    (< (abs (- v1 v2)) tolerance))
  (define (try guess)
    (let ((next (f guess)))
      (if (close-enough? guess next)
	  next
	  (try next))))
  (try first-guess))
gosh> (fixed-point (lambda (x) (+ 1 (/ 1 x))) 1.0)
1.6180327868852458