Tôi đang bối rối về điều gì đó. Tôi muốn tạo ra một ví dụ (trong Clojure) cho thấy một bộ kết hợp điểm cố định có thể được sử dụng như thế nào để đánh giá điểm cố định của một chuỗi mà hội tụ toán học sau một số lượng ứng dụng vô hạn nhưng trên thực tế, hội tụ sau một số bước hữu hạn đến độ chính xác hữu hạn của các điểm nổi. Tôi dường như thiếu một cái gì đó ở đây.Sử dụng bộ kết hợp điểm cố định? Tại sao tràn ngăn xếp ở đây?
(defn Y [r]
((fn [f] (f f))
(fn [f]
(r (fn [x] ((f f) x))))))
(defn simple-convergent [func]
(fn [x]
(if (zero? x)
0.0
(* 0.5 (func x)))))
Sau đó tôi có thể nhận được
user=> ((Y simple-convergent) 0.)
0.0
user=> ((Y simple-convergent) 0.2)
java.lang.StackOverflowError (NO_SOURCE_FILE:0)
Tôi không hiểu chồng tràn này. Nói chung, liên quan đến bài trước của tôi, tôi tự hỏi nếu ai đó có thể trình bày một phiên bản "chính xác" của một bộ kết hợp điểm cố định có thể được sử dụng để ước tính các điểm cố định của chuỗi trong thời trang này.
Dòng cuối cùng có lẽ là '(func (* 0.5 x))' không? Dường như nó lặp lại với cùng một x mãi mãi. –