# Solving numerical equation with PolyLog function

I am trying to solve numerically some equations involving the PolyLog function, for example:

NSolve[-PolyLog[2, -z] == 10^5, z, Reals]

However, I encounter the error:

NSolve::nsmet: This system cannot be solved with the methods available to NSolve.

I tried using a series approximation to PolyLog, and it works, but the answer is not well-behaved in the number of terms (i.e., it changes dramatically if I change the approximation order).

How do I solve this? Thanks.

• The NSolve work fine in v13.3.1 Aug 24, 2023 at 8:02
• As well in 13.3.0 on Windows 10. Aug 24, 2023 at 9:05

The LHS slowly tends to infinity as

Asymptotic[-PolyLog[2, -z], z -> Infinity]


Log[z]^2/2

shows. Now we estimate the location of the root by

Solve[Log[z]^2/2 == 10^5&&z>=1, z, Reals]


{{z -> E^(200 Sqrt[5])}}

Finally, indicating the range,

NSolve[-PolyLog[2, -z] == 10^5 && z >= E^(200 Sqrt[5])/2 &&
z <= 2*E^(200 Sqrt[5]), z, Reals]


{{z -> 1.66264*10^194}}

does the work. The result is not from real world.

• It should be noticed FunctionDomain[-PolyLog[2, -z], z] results in z >= -1. Aug 24, 2023 at 6:12

Use Solve instead of NSolve.

Solve[-PolyLog[2, -z] == 10^5, z, Reals]


• A spot on the Sun: Solve[Log[Log[Log[z]]] == 10^5, z, Reals] results in {}. Aug 24, 2023 at 8:51
• [CASE:5069610] has been submitted by me. Aug 24, 2023 at 9:01