unwindK - Maple Help

Wrightomega

Wright omega function

unwindK

unwinding number

 Calling Sequence Wrightomega(x) unwindK(x) The short form omega( x ) (or $\mathrm{\omega }\left(x\right)$) can be used by first issuing the command alias(omega=Wrightomega).

Parameters

 x - algebraic expression

Description

 • The Wright omega function is a single-valued (but discontinuous) variant of the Lambert W function. It is defined by

$\mathrm{\omega }\left(z\right)=\mathrm{LambertW}\left(\mathrm{unwindK}\left(z\right),{ⅇ}^{z}\right)$

 • The unwinding number is defined by

 $\mathrm{unwindK}\left(z\right)$ = $⌈\frac{\mathrm{\Im }\left(z\right)-\mathrm{\pi }}{2\mathrm{\pi }}⌉$ = $\frac{-\frac{I}{2}\left(z-\mathrm{ln}\left({ⅇ}^{z}\right)\right)}{\mathrm{\pi }}$.

 • The complete solution of $y+\mathrm{ln}\left(y\right)=z$ is

$y=\left\{\begin{array}{cc}\mathrm{No solution}& z=t-I\mathrm{\pi }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{and}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}t\le -1\\ \left\{\mathrm{\omega }\left(z\right),\mathrm{\omega }\left(z-2I\mathrm{\pi }\right)\right\}& z=t+I\mathrm{\pi }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathbf{and}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}t\le -1\\ \mathrm{\omega }\left(z\right)& \mathrm{otherwise}\end{array}\right\$

 • The Wright omega function is discontinuous on the half-lines $t±I\mathrm{\pi }$ , which are called the "doubling line" and its "reflection", respectively.
 • The Maple solve command does not yet know about Wrightomega.
 • The asymptotic behavior of omega at complex infinity outside the strip bounded by the discontinuities is given by

$\mathrm{\omega }\left(x\right)\sim x-\mathrm{log}\left(x\right)+\left(\sum _{n=0}^{\mathrm{\infty }}\phantom{\rule[-0.0ex]{0.4em}{0.0ex}}\sum _{m=0}^{\mathrm{\infty }}\frac{c\left(m,n\right){\mathrm{log}\left(x\right)}^{m+1}}{{x}^{m+n+1}}\right)$

 Here $\mathrm{log}\left(x\right)$ denotes the principal branch of the logarithm, and the $c\left(m,n\right)$ are constants known in terms of Stirling numbers: $c\left(m,n\right)=\frac{{\left(-1\right)}^{m}\mathrm{Stirling1}\left(m+n,n\right)}{n!}$ .
 • That expansion for omega is not valid for $z=x+I\mathrm{\theta }$ tending to $-\mathrm{\infty }$ in the strip between the doubling line and its reflection, where instead

$\mathrm{\omega }\left(z\right)=\sum _{n=1}^{\mathrm{\infty }}\frac{{\left(-n\right)}^{n-1}{ⅇ}^{nz}}{n!}$

 but the asymptotic series holds otherwise for large z.
 • The Wright omega function is defined in terms of the Lambert W function, but that definition is not convenient for numerical computation for large arguments, because if z is moderately large (if IEEE floats are used, "moderately large" means about 800), then ${ⅇ}^{z}$ is very large and may overflow, whereas LambertW(exp(z)) is asymptotic to z.  Direct computation is much more satisfactory than computation via LambertW.
 • The branching behavior of the Wright omega function is also much simpler than that of the Lambert W function, being single-valued.  In fact, we have the following simple explanation of the branching behavior of the Lambert W function, in terms of the Wright omega function:

$\mathrm{LambertW}\left(k,z\right)=\mathrm{Wrightomega}\left(\mathrm{ln}\left(z\right)+2I\mathrm{\pi }k\right)$

 This relationship can be used to allow analytic continuation of LambertW in the (otherwise discrete) branch index.
 • To use the short form omega( x ) (which can also be written as $\mathrm{\omega }\left(x\right)$), first issue the command alias(omega=Wrightomega).

Examples

 > $\mathrm{alias}\left(\mathrm{\omega }=\mathrm{Wrightomega}\right):$
 > $\mathrm{\omega }\left(1\right)$
 ${1}$ (1)
 > $\mathrm{\omega }\left(2+\mathrm{ln}\left(2\right)\right)$
 ${2}$ (2)
 > $\mathrm{\omega }\left(-1+I\mathrm{\pi }\right)$
 ${-1}$ (3)
 > $\mathrm{\omega }\left(-1-I\mathrm{\pi }\right)$
 ${-1}$ (4)
 > $\mathrm{evalf}\left(\mathrm{\omega }\left(-2+\mathrm{ln}\left(2\right)+I\mathrm{\pi }\right)\right)$
 ${-0.406375740261207}{+}{0.}{}{I}$ (5)
 > $\mathrm{evalf}\left(\mathrm{\omega }\left(-2+\mathrm{ln}\left(2\right)-I\mathrm{\pi }\right)\right)$
 ${-2.}$ (6)
 > $\mathrm{evalf}\left(\mathrm{\omega }\left(-\frac{1}{2}+\mathrm{ln}\left(\frac{1}{2}\right)+I\mathrm{\pi }\right)\right)$
 ${-0.5000000000}$ (7)
 > $\mathrm{evalf}\left(\mathrm{\omega }\left(-\frac{1}{2}+\mathrm{ln}\left(\frac{1}{2}\right)-I\mathrm{\pi }\right)\right)$
 ${-1.75643120964798}{-}{0.}{}{I}$ (8)
 > $\mathrm{Digits}≔200:$
 > $z≔\frac{\mathrm{rand}\left(\right)}{1.×{10}^{12}}$
 ${z}{≔}{0.395718860534}$ (9)
 > $f≔\mathrm{\omega }\left(z\right)$
 ${f}{≔}{0.72176899849709435880390368898143781707409072236332022551390612942823006335652369004031054189713513797027153554286420070656918958595620907956913410782714907308412366814842550749346948498331209418466008}$ (10)
 > $f+\mathrm{ln}\left(f\right)-z$
 ${0.}$ (11)
 > $z≔'z'$
 ${z}{≔}{z}$ (12)
 > $\mathrm{diff}\left(\mathrm{\omega }\left(z\right),z\right)$
 $\frac{{\mathrm{\omega }}{}\left({z}\right)}{{1}{+}{\mathrm{\omega }}{}\left({z}\right)}$ (13)
 > $\mathrm{int}\left({\mathrm{\omega }\left(z\right)}^{3},z\right)$
 $\frac{{{\mathrm{\omega }}{}\left({z}\right)}^{{4}}}{{4}}{+}\frac{{{\mathrm{\omega }}{}\left({z}\right)}^{{3}}}{{3}}$ (14)
 > $\mathrm{series}\left(\mathrm{\omega }\left(z\right),z=1\right)$
 ${1}{+}\frac{{1}}{{2}}{}\left({z}{-}{1}\right){+}\frac{{1}}{{16}}{}{\left({z}{-}{1}\right)}^{{2}}{-}\frac{{1}}{{192}}{}{\left({z}{-}{1}\right)}^{{3}}{-}\frac{{1}}{{3072}}{}{\left({z}{-}{1}\right)}^{{4}}{+}\frac{{13}}{{61440}}{}{\left({z}{-}{1}\right)}^{{5}}{+}{O}{}\left({\left({z}{-}{1}\right)}^{{6}}\right)$ (15)
 > $\mathrm{convert}\left(\mathrm{\omega }\left(z\right),\mathrm{LambertW}\right)$
 ${\mathrm{LambertW}}{}\left(⌈\frac{{\mathrm{\Im }}{}\left({z}\right){-}{\mathrm{\pi }}}{{2}{}{\mathrm{\pi }}}⌉{,}{{ⅇ}}^{{z}}\right)$ (16)
 > $\mathrm{convert}\left(\mathrm{LambertW}\left(k,z\right),\mathrm{\omega }\right)$
 ${\mathrm{\omega }}{}\left({\mathrm{ln}}{}\left({z}\right){+}{2}{}{I}{}{\mathrm{\pi }}{}{k}\right)$ (17)

References

 Corless, R.M., and Jeffrey, D.J. "On the Wright omega function." In Proceedings of AISC '02 and Calculemus '02. Edited by Jacques Calmet, Belaid Benhamou, Olga Caprotti, Laurent Henocque, and Volker Sorge. Springer, 2002: 76-90.
 Also available as ORCCA Technical Report TR-00-12, February 2000.