A useful property of the logarithm is that it can "convert" multiplication into addition, as in

$\ln(a)+\ln(b)=\ln(ab) \text{ for all } a, b \in \mathbb{R}^+$

Does there exist a function $f$, which holds a similar property for exponentiation?

$f(a)+f(b)=f(a^b) \text{ for all } a, b \in \mathbb{R}^+$

If so, are there any closed-form expressions for such a function?

  • 29
    $\begingroup$ It can't exist as $f(a)+f(b)$ is symmetrical with respect to swap of $a$ and $b$, while $f(a^b)$ is not. $\endgroup$
    – user700480
    Jun 19, 2022 at 8:02
  • 3
    $\begingroup$ E.g. $f(x)=f(x^1)=f(x)+f(1)=f(1)+f(x)=f(1^x)=f(1)$ so $f$ is constant, $f(x)=c$ and then $c=f(1)=f(1^1)=f(1)+f(1)=c+c$, i.e. $c=0$. $\endgroup$
    – user700480
    Jun 19, 2022 at 8:08
  • 3
    $\begingroup$ (so, technically speaking it does exist - a constant function $f(x)=0$ - but I doubt that is what you are looking for.) $\endgroup$
    – user700480
    Jun 19, 2022 at 11:28
  • $\begingroup$ I thought a little about your question, and asked a follow-up here: mathoverflow.net/questions/425061/… $\endgroup$
    – Jojo
    Jun 19, 2022 at 18:38
  • 2
    $\begingroup$ Viewed in another way, the difference is that multiplication is commutative while exponentiation isn't. $\endgroup$
    – Oliphaunt
    Jun 19, 2022 at 20:53

2 Answers 2


As Stinking Bishop mentions in the comments, if $f(a)+f(b)=f(a^b)$, then it follows (by interchanging $a$ and $b$) that $f(b)+f(a)=f(b^a)$. Hence, $f(a^b)=f(b^a)$ for all $a,b\in\mathbb R^+$. Setting $b=1$, we see that $f(a)=f(1)$ for all $a\in\mathbb R^+$. Now $f(1)+f(1)=f(1^1)$, so $f(1)=0$. Hence, the only function $\mathbb R^+\to\mathbb R$ with the desired property is the zero function.


While your question as stated has been answered, I'd like to give a satisfying answer to a slight alteration of your question. To avoid the issue of commutivity, we can instead look at commutative hyperoperations $F_n(a,b)$. A few of them are:

\begin{align*} F_1(a,b)&=a+b=b+a\\ F_2(a,b)&=ab=ba\\ F_3(a,b)&=a^{\ln b}=b^{\ln a}\\ \end{align*}

Define $\ln^{(k)}(x):=\underbrace{\ln(\ln(\dots\ln(x)))}_{k\text{ times}}$. It is true that, in general:


for all integers $n\geq 1$ and $0\leq k < n$.

In other words, if we want to "go down" $k$ operations, then we need to use the $\ln$ function $k$ times.

Indeed, this aligns with the standard rule that $\ln(ab)=\ln a +\ln b$, or in our commutative hyperopration notation, $\ln(F_2(a,b)) = F_1(\ln a,\ln b)$.

So, for (my slight alteration of) your question, we want a function $f$ that satisfies

$$f(F_3(a,b))=f(a^{\ln b})=f(a)+f(b)=F_1(f(a),f(b)).$$

Here, $k=2$, so we can set $f(x)=\ln^{(2)}(x)=\ln(\ln(x))$.

$$\ln(\ln(a^{\ln b}))=\ln(\ln(a)\cdot\ln(b))=\ln(\ln(a))+\ln(\ln(b))$$

Proof of $(*)$:

The commutative hyperoperations are defined recursively by

$$F_n(a, b) = \exp(F_{n-1}(\ln(a), \ln(b))).$$


$$F_n(a, b) = \exp^{(k)}(F_{n-k}(\ln^{(k)}(a), \ln^{(k)}(b))).$$


$$\ln^{(k)}(F_n(a, b)) = F_{n-k}(\ln^{(k)}(a), \ln^{(k)}(b)).$$


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .