Is there any "superlogarithm" or something to solve an equation like this:
$$x^x = 10?$$
Mathematics Stack Exchange is a question and answer site for people studying math at any level and professionals in related fields. It only takes a minute to sign up.
Sign up to join this communityIs there any "superlogarithm" or something to solve an equation like this:
$$x^x = 10?$$
What you're looking for is the Lambert $W$ function. This is the function such that: $$W(xe^x) = x$$
It does not have a "simple" or explicit form.
To solve your equation, we follow this process: $$x^x = 10$$ $$x\ln x = \ln10$$ $$e^{\ln x}\ln x = \ln10$$ $$W(e^{\ln x}\ln x) = W(\ln10)$$ $$\ln x = W(\ln10)$$ $$x = e^{W(\ln10)}$$
Yes - it's called the Lambert W Function. Scroll down and take a look at Example 2.
The Lambert $W$ function is technically a multi-valued function. Equations such as yours can also be solved with a simpler single valued function, the Wright $\omega$ function (see also Corless & Jeffrey 2002), which is defined with respect to the Lambert $W$. The Lambert $W$ by it's definition is the natural choice for exponential functions like yours, while the Wright $\omega$ is better suited to logarithmic ones (e.g., $z = \omega+\text{ln}(\omega)$), but one can often transform between the two. In your case, the two are equivalent via:
$$x^x = a \rightarrow x = \frac{\ln a}{W_0(\ln a)} = \frac{\ln a}{\omega(\ln(\ln a))}$$
for $a \in \mathbb{Z}$ and where $W_0$ is the upper (principal) branch of the Lambert $W$ function.
If you happen to need numeric values, the Wright $\omega$ function may be easier and more efficient to calculate. For $z = \ln(\ln 10)) \approx 0.834032...$ (and real $z \in [-1, 2]$), the following is an approximation for $\omega(z)$:
$$\omega(z) \approx 1 + \frac{1}{2}(z−1) + \frac{1}{16}(z−1)^2 − \frac{1}{192}(z−1)^3 − \frac{1}{3072}(z−1)^4 + \frac{13}{61440}(z−1)^5...$$
Matlab's Symbolic Toolbox has builtin support via wrightOmega
, as does Maple with Wrightomega
. Additionally, I've implemented the Wright $\omega$ function for complex double-precision evaluation in Matlab based on a 2012 paper by Lawrence, Corless, and Jeffrey – it's 3 to 4 orders of magnitude faster than performing variable precision/symbolic calculations.