1 (define tolerance 0.00001)
2 (define (fixed-point f first-guess)
3 (define (close-enough? v1 v2)
4 (< (abs (- v1 v2)) tolerance))
6 (let ((next (f guess)))
7 (if (close-enough? guess next)
12 (define (average-damp f)
13 (lambda (x) (average x (f x))))
15 (fixed-point (average-damp (lambda (y) (/ x y)))
18 (fixed-point (average-damp (lambda (y) (/ x (square y))))
22 (/ (- (g (+ x dx)) (g x))
25 (define (newton-transform g)
27 (- x (/ (g x) ((deriv g) x)))))
28 (define (newtons-method g guess)
29 (fixed-point (newton-transform g) guess))
31 (newtons-method (lambda (y) (- (square y) x))
33 (define (fixed-point-of-transform g transform guess)
34 (fixed-point (transform g) guess))
36 (fixed-point-of-transform (lambda (y) (/ x y))
40 (fixed-point-of-transform (lambda (y) (- (square y) x))
44 (define (cube x) (* x x x))
45 (define (square x) (* x x))
52 (test-case (newtons-method (cubic 5 2 3) 1.0) -4.710623963172891)