li
-
constexpr Complex li(const Complex &z) noexcept
Evaluates the logarithmic integral [1] for a complex input.
Parameters
- const Complex &z
A complex number.
Returns
- type Complex
A complex number.
The logarithmic integral is defined as:
\[\DeclareMathOperator\li{li}
\li(z) = \int_{0}^{z}\frac{dt}{\ln t}\]
However, \(1/\ln(t)\) has a singularity at \(t = 1\). This may be avoided by using the offset logarithmic integral, defined as:
\[\DeclareMathOperator\Li{Li}
\DeclareMathOperator\li{li}
\Li(z) = \int_{2}^{z}\frac{dt}{\ln t} = \li(z) - \li(2)\]
And it thereby follows that:
\[\DeclareMathOperator\Li{Li}
\DeclareMathOperator\li{li}
\li(z) = \Li(z) - \li(2)\]
Example
Complex z = 1.0 + 1_j;
std::cout << li(z) << "\n";
Output:
0.613912 + 2.05958j
References