I have a logarithmic equation: $u = A\left(\ln(u)+1\right)$. I used MATLAB's symbolic toolbox to solve this equation for u.

syms u  A
solve(u == A*log(u+1),u)
ans = - A*wrightOmega(- log(-A) - 1/A) - 1

I looked up the Wright Omega function and wikipedia says it is defined by the Lambert W function. I was expecting the solution to the equation would have a Lambert W term. So, I am wondering if there is a relation that I can apply to write the solution with Lambert W instead of Wright Omega.

  • $\begingroup$ I've used the MathJax to write the equation but don't know how to format the code in MathJax $\endgroup$ – anikfaisal Mar 20 '19 at 0:32
  • $\begingroup$ Sorry I misunderstood the content. The convention is to have a code block by intending 4 spaces (necessary for each line). $\endgroup$ – Lee David Chung Lin Mar 20 '19 at 0:37
  • $\begingroup$ Thanks! I'll keep that in mind $\endgroup$ – anikfaisal Mar 20 '19 at 1:07

Taken directly from Wikipedia, the Wright Omega function, $\omega(z)$, is defined with respect to the Lambert W function, $W_k(z)$, for complex argument, $z$, as:

$$\omega(z) = W_{\big \lceil \frac{\mathrm{Im}(z) - \pi}{2 \pi} \big \rceil}(e^z) \Longleftrightarrow W_k(z) = \omega(\ln(z) + 2 \pi i k)$$

So, assuming that your parameter $A>0$ and is real, your function can be rewritten and simplified as:

$$-A W_{-1}\left(\frac{-e^{-1/A}}{A}\right)-1$$

or -A*lambertw(-1,-exp(-1/A)/A)-1 in Matlab.

Ultimately, the lesser-known Wright Omega function is a simpler function than the Lambert W function. You can evaluate it numerically in Matlab with my wrightOmegaq, which is available on Github and on the MathWorks File Exchange.

| cite | improve this answer | |

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.