Lambert W / Product log function?

$\begingroup$

I would like to solve this equation:

$$n \cdot 2^n = 15000$$

And according to WolframAlpha

$$n=\frac{W(15000\log(2))}{\log(2)}, \text{ where }\log\text{ is ln}$$

Which shows that I need to use the product log function $W$ which I tried looking up on wikipedia. I don't need the complex numbers, just real numbers.

Additionally, are there ways of solving the original equation without the $W$ functions?

Can someone explain the rules and how to do this please?

I would eventually like to implement a way to find $n$ programmaticly (if possible-in python).

$\endgroup$ 7

1 Answer

$\begingroup$

You can use Newton's method for finding the root of $f(n) = n 2^n - 15000 = 0$: $$ n_{i+1} = n_i - \frac{f(n_i)}{f'(n_i)} = n_i - \frac{n_i 2^{n_i} - 15000}{2^{n_i} (1+n_i \log(2))} $$ and start with a suitable guess (look up the Wikipedia page on that). Here $n_0 = 1$ should do.You keep repeating the process for $i \ge 1$ until you reach a proper accuracy, i.e., you terminate at iteration $t$ when $n_{t} - n_{t-1} < \epsilon$ for some tiny $\epsilon$ you define.

Questions on exact implementation are more suitable question for SO; also scicomp.SE in case you're interested in details on appropriate numerical methods, and robust libraries.

$\endgroup$ 2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like