最近看到一类有趣的问题:如何求解 f(f(x)) = g(x) ?我在网上简单搜索了一下,发现这里面真是大有文章。最先对这个问题进行系统研究的应该是 Hellmuth Kneser ,他把函数迭代的次数扩展到了非整数的情况,求解 f(f(x)) = g(x) 就可以更简单地说成是求解 g(x) 迭代 1/2 次后的结果,更形象的说法就是 g(x) 的“平方根”。 Hellmuth Kneser 还对 f(f(x)) = e^x 的解进行了研究,从之后的数学论文发表情况来看,这也是数学家们最关心的问题。
e^x 的“平方根”究竟是什么样的呢?不妨假设满足要求的 f(x) 也是一个连续递增的函数,那么它的增长速度必然超过一切多项式函数(否则迭代的结果还是多项式),同时也必然小于一切指数形式的函数。而事实上,求解一个满足要求的 f(x) 并不难;稍作思考,我们就能够给出一个看似有些平凡的答案。
取任意一个负数,记作 a 。选取任意一个在 (-∞, a] 上单调递增的函数,使得当 x 从 -∞ 增加到 a 时,函数值也从 a 增加到 0 。这样一来,当 x 趋于负无穷时, f(x) 趋于 a , f(f(a)) 就正好趋于 0 了。但 f(a) = 0 ,那么 f(0) 就必须是 e^a ;而考虑到 f(0) = e^a ,那么 f(e^a) 便只能取 1 了。同理,f(1) = e^(e^a),而 f(e^(e^a)) 就等于 e 。以此类推,我们便得到了一连串满足要求的点。我们可以从 (-∞, a] 上的其它点出发,用同样的方法填充上述“端点值”之间的部分,得到满足要求的 f(x) 。
根据这个思想,我们可以构造出一个具体的 f(x) 来。取 a = -1,在 (-∞, -1] 上定义 f(x) = e^(x+1) – 1,它的函数值正好从 -1 变到了 0 。在 (-1, 0] 上,则有 f(x) = e^(f-1(x)) = e^(ln(x + 1) – 1) = (x + 1)/e 。对于其它的 x ,则递归地定义为 f(x) = e^(f(ln(x))) 。由此我们便得到一个分段函数,正是这个分段的办法才让它夹在了多项式增长和指数级增长之间:
Read more…