In mathematics, a functional square root (sometimes called a
half iterate) is a square root of a function with respect to
the operation of function composition. In other words, a
functional square root of a function g is a function f
satisfying f(f(x)) = g(x) for all x.
For your example of f(f(x)) = e^x, that would be the https://en.wikipedia.org/wiki/Half-exponential_function with a=1 and b=e. Unfortunately there's no simple arithmetic representation of f(x). Find all increasing functions f : N -> N such that f(f(x)) = 3x f(f(f(y))) = 3f(y)
so f(3y) = 3f(y)
This suggests a linear solution but then you get f(x)=sqrt(3)x which doesn't work since it's N -> N.If we discard the requirement to be an increasing function, one recursively defined solution takes f(3x + 1) = 3x + 2, f(3x + 2) = 3 * (3x + 1), and f(3x) = 3f(x), with f(0) = 0.
Or analogously for any way of splitting the positive integers not divisible by 3 into ordered pairs (a, b). Then define f(3^n a) = 3^n b and f(3^n b) = 3^(n + 1) a. This is the general form of the solutions.
assume f exists
increasing requires that x < f(x) < f(f(x))
f(f(0)) = 3*0 = 0 ≮ 0
therefore f does not exist, qed
So there is at least one solution.
The point about sqrt(3) not working for the naturals is a valid point, however.
Headdesk Yes, that's correct; I misparsed "increasing functions f" as "functions f that increase [the value passed through them]" and then got distracted by the discrete vs continuous confusion.
Edit: derp, it's ℕ, not ℤ⁺.
For a strictly increasing function change <= to <.
Your argument fails because you drop the antecedent in: x < f(x) => f(x) < f(f(x)). If f(0) = 0, you don’t have 0 < f(0) so can’t require that f(f(0))<f(0).
Note however that it is easy to show that f must be strictly increasing if it is increasing for if x is not y and f(x) = f(y) then 3x = f(f(x)) = f(f(y)) = 3y which cannot be the case.