函数方程$f(x) = f(x/2) + 1$的解的刻画
咱们来好好梳理一下这个定义域为$(0, +\infty)$、值域为$\mathbb{R}$的函数方程的所有解~
首先,最直观的解确实和以2为底的对数脱不开关系。比如所有形如$x \mapsto 1 + g(\log_2 x)$的函数都是解,这里的$g: \mathbb{R} \to \mathbb{R}$需要满足两个条件:$g(0)=0$,以及对任意实数$t$都有$g(t-1)=g(t)-1$。
举几个常见的例子:
- 如果$g(t)=t$(恒等函数),那$f(x)=1+\log_2 x$,代入方程验证一下:$f(x/2)=1+\log_2(x/2)=1+\log_2x -1=\log_2x$,加1正好等于$f(x)$,完美符合;
- 如果$g(t)=\lfloor t \rfloor$(向下取整函数),那$f(x)=1+\lfloor \log_2 x \rfloor$,同样验证:$f(x/2)=1+\lfloor \log_2(x/2) \rfloor=1+\lfloor \log_2x -1 \rfloor=1+\lfloor \log_2x \rfloor -1=\lfloor \log_2x \rfloor$,加1后就是$f(x)$;
- 向上取整函数$g(t)=\lceil t \rceil$也适用,甚至你可以构造介于取整函数之间的$g$,只要满足那两个条件就行。
不过要想彻底刻画所有解,得看到这个方程的核心约束:函数$f$的定义域被划分成了互不相交的等价类,每个等价类的形式是$M(a) = { a2^k \mid k \in \mathbb{Z} }$,其中$a$是任意正实数。简单来说,每个等价类里的数都是某个正实数$a$乘以2的整数次幂得到的——比如$a=1.5$的话,这个类里就有$0.75, 1.5, 3, 6,...$这些数。
在同一个等价类里,$f$的取值是相互约束的,但不同等价类之间的取值完全独立!这就意味着我们可以构造出更“怪异”的解:
比如,我们把每个等价类中属于$[1,2)$的元素作为代表元,然后给每个代表元随便赋一个实数值——比如对无理数的代表元赋值0,对有理数的代表元赋值1;接着对等价类里的任意元素$x=a2^k$($a∈[1,2)$),定义$f(x)=f(a)+k$。这样构造出来的函数完全满足原方程,而且它和对数函数没有任何直接关联,是不是很有意思?
总结一下所有解的通用刻画:
所有满足$f(x)=f(x/2)+1$的函数,都可以通过以下方式构造:
- 将$(0,+\infty)$划分为等价类$M(a)={a2^k \mid k∈\mathbb{Z}}$($a>0$);
- 给每个等价类的任意一个代表元(比如$[1,2)$中的元素)赋予任意实数值;
- 对等价类中的任意元素$x=a2^k$,令$f(x) = f(a) + k$。
或者用对数形式表述:$f(x)=g(\log_2 x)$,其中$g$是满足$g(t-1)=g(t)-1$的任意实函数(和原例子里的$1+g(\log_2x)$本质一致,只是$g$的定义稍有调整)。
备注:内容来源于stack exchange,提问作者Electro




