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