定制类型的函数的定点组合器?

时间:2010-07-13 21:25:04

标签: math functional-programming clojure lazy-evaluation fixed-point

大多数使用定点组合器的例子涉及将整数取整数的函数(例如阶乘)。在许多情况下,函数对实数的固定点最终会成为任意理性或非理性数(一个着名的例子是逻辑映射http://en.wikipedia.org/wiki/Logistic_map)。在这些情况下,固定点可能无法用原始类型表示(请注意,Clojure确实支持比率)。我有兴趣了解可以计算这些“异国情调”类型的函数的固定点的定点组合器(及其实现!)。因为非理性数字之类的东西将十进制表示为无限序列,所以似乎必须懒惰地计算这个计算。这些(推定的)惰性评估中的任何一个是否会产生与真实固定点的良好近似值?我的目标语言是Python和Clojure,但我当然不介意看到任何OCaml或Haskell实现。)

1 个答案:

答案 0 :(得分:2)

你会发现在Andrej Bauer的博客上计算固定点的功能;例如seemingly impossible programsinfinite search in finite time。这是针对固定点实际上处于“有限距离”的情况,以便达到它。

你所谈论的一些固定点不属于这种类型,因为它们确实是“无限远”。这些是Computable Analysis中使用的固定点类型。基本上,所有关于如何获得固定点的良好近似的理论。