# Mathematica Not Evaluating Small Input

So I'm a bit confused. I asked Mathematica to evaluate

PolyLog[3, -4.900612445719819*^-15 + 8.488109744191103*^-15 I]


and it refused to do so

I assume it has something to do with the values being "too small", since It seems to work fine for other values, e.g.

Does anyone know how to make Mathematica evaluate this input?

• Do you get a warning that looks like "General::munfl: InternalAbsSquare[-8.94349*10^-198-1.75784*10^-198 I] is too small to represent as a normalized machine number; precision may be lost." ?
– JimB
Commented Aug 14, 2020 at 21:27
• Applying the definition almost directly: z = Rationalize[-4.900612445719819*^-15 + 8.488109744191103*^-15 I, 0]; n = 3; NSum[z^k/k^n, {k, 1, \[Infinity]}].
– JimB
Commented Aug 14, 2020 at 21:29

Clear["Global*"]


It's a precision issue, don't use machine precision.

Use Rationalize so that the calculation can be done with arbitrary-precision

N[
PolyLog @@
({3, -4.900612445719819*^-15 + 8.488109744191103*^-15 I} //
Rationalize[#, 0] &),
25]

(* -4.900612445719824749854156*10^-15 + 8.488109744191092161335110*10^-15 I )

% // N

(* -4.90061*10^-15 + 8.48811*10^-15 I *)


Alternatively, use SetPrecision

PolyLog @@
SetPrecision[
{3, -4.900612445719819*^-15 + 8.488109744191103*^-15 I},
25]

(* -4.900612445719825135980700*10^-15 + 8.488109744191092254166590*10^-15 I *)

% // N

(* -4.90061*10^-15 + 8.48811*10^-15 I *)