wrightomega

constexpr Complex wrightomega(const Complex &z) noexcept

Evaluates the Wright omega function [1] for a complex input.

Parameters

const Complex &z

A complex number.

Returns

type Complex

A complex number.

The Wright omega function is defined as the inverse of the following function:

\[f(z) = z + \log(z)\]

For \(\omega = \omega(z)\), where \(\omega(z)\) is the Wright omega function, then it holds that:

\[\begin{split}\begin{flalign} z &= \omega + \log(\omega) \\ 0 &= \omega + \log(\omega) - z \end{flalign}\end{split}\]

Thus, a numerical approximation of the Wright omega function can be found by using Newton’s method [2] to root-find the above equation.

Example

Complex z = 1.0 + 1_j;
std::cout << wrightomega(z) << "\n";

Output:

0.937208 + 0.505421j

References