# How do I analytically-continue the dilogarithm function?

Here's the dilogarithm definition:

$$\text{Li}_2(z)=\sum_{k=1}^{\infty} \frac{z^k}{k^2};\quad |z|<1$$

However, the function can be analytically-continued by several integral means for all $$z$$ with branch points at 0 and 1. The resulting continued function is similar to a logarithmic helix and so infinitely-valued. If I plot PolyLog[2,z], I get the principal-branch. Shown below is the imaginary surface:

p2 = ParametricPlot3D[{Re@z, Im@z, Im@PolyLog[2, z]} /.
z -> r Exp[I t], {r, 0, 3}, {t, 0, 2 Pi}];


The plot clearly shows the (principal) branch point and branch cut at z=1. Here is what Wikipedia says about the two branch-points of polylogarithm here: Polylogarithm

The polylogarithm has two branch points; one at z = 1 and another at z = 0. The second branch point, at z = 0, is not visible on the main sheet of the polylogarithm; it becomes visible only when the function is analytically continued to its other sheets.

I was wondering if there is an easy way to plot several other sheets in particular the sheet showing the branch point at z=0? I can, with a lot of effort, construct additional sheets by differentially-continuing the principal branch via: $$f(z)=\text{PolyLog[2,z]}$$ then $$\frac{df}{dt}=-1/2 \log(1-z)\frac{dz}{dt};$$ and then meticulously constructing the sheeting by running this DE and DE for $$\log(1-z)$$ hundreds of times and connecting them and generating the polygon surface. The plot shows two such continuations this way as the blue and red traces. However, to generate the whole sheet would take a lot more effort to perfect for me. Is there an easier way?

• I'd like to refer to the Maple documentation on this topic. I think so does Mathematica. Also consider the Riemann surface for PolyLog[2, z]. – user64494 Feb 27 at 13:51
• That pretty much does it. Thanks. If you wish you can answer it or wait for someone else if you wish. Otherwise, in a few days if no one does, I will post my code, base on the Maple description, for two additional branches for the contours I plotted above in the interest of completeness for others wishing to know. – Dominic Feb 27 at 14:15

Lewin's book gives a useful continuation formula:

$$\operatorname{Li}_n^{(k_0,\dots,k_{n-1})}(z)=\operatorname{Li}_n(z)+\frac1{(n-1)!}\sum_{m=0}^{n-1}k_m\binom{n-1}{m}(2\pi i)^{m+1}(\log z)^{n-m-1}$$

which can be used to visualize the Riemann surface of the dilogarithm:

With[{ε = 1*^-12},
GraphicsRow[{ParametricPlot3D[Flatten[Table[{r Cos[φ], r Sin[φ],
Re[PolyLog[2, r Exp[I φ]] +
2 I π (Log[r] + I φ) j - 4 π^2 k]},
{j, -2, 2}, {k, -2, 2}], 1],
{r, 0, 7}, {φ, ε, 2 π - ε},
BoxRatios -> {1, 1, 4}, Mesh -> None,
PlotRange -> {{-7, 7}, {-7, 7}, {-21, 21}},
PlotStyle -> Directive[Hue[0.56], Opacity[0.6]]],
ParametricPlot3D[Table[{r Cos[φ], r Sin[φ],
Im[PolyLog[2, r Exp[I φ]] +
2 I π (Log[r] + I φ) j]}, {j, -2, 2}],
{r, 0, 7}, {φ, ε, 2 π - ε},
BoxRatios -> {1, 1, 4}, Mesh -> None,
PlotRange -> {{-7, 7}, {-7, 7}, {-21, 21}},
PlotStyle -> Directive[Hue[0.56], Opacity[0.6]]]}]]


• Ok thanks J.M. I noticed you're using the Maple constructs and not the def above-or some variation of them. Also, some of the parametric plot table entries such as the first one do not plot anything, perhaps because complex. I'lll keep working at it and post anything that I think would be useful. – Dominic Feb 27 at 18:22
• @Dominic, it's not clear to me what you meant by "some of the parametric plot table entries such as the first one do not plot anything"; the code figure works fine when it was tested in 12.2. Also, I would guess the proposal used in the Maple docs ultimately came from Lewin's work, since it is his books that deal with the polylogarithm in detail. – J. M.'s torpor Feb 27 at 20:26
• It generates the plot but some of the table entries in ParametricPlot3D[Flatten[Table . . . ] generate no plot when I remove the table and plot them separately. For example, the first entry in the table: {r Cos[\[CurlyPhi]], r Sin[\[CurlyPhi]], 8 \[Pi]^2 + 4 \[Pi] (Im[Log[r]] + Re[\[CurlyPhi]]) + Re[PolyLog[2, E^(I \[CurlyPhi]) r]]}. Maybe because I'm running 12.0. But that's ok, I'm trying to plot them separately in the interval |z|<1 and |z|>1 to better understand the branching geometry. That works best for me. I'll post my results if it's useful. – Dominic Feb 27 at 20:48
• @Dominic, I get this in 12.2, so I'm not sure what's happening in version 12. (Note the range over the $z$-axis.) – J. M.'s torpor Feb 27 at 20:57
• Ok, thanks. It's working. Looks like curlyphi was being used and not phi. Same with the epsilon symbol. – Dominic Feb 27 at 21:33

I'd like to refer to the Maple documentation on this topic. I think so does Mathematica. Also consider the Riemann surface for PolyLog[2, z].

• Thanks. I don't see anywhere under PolyLog help which describes how to evaluate or plot PolyLog for other branches nor does Mathworld describe this. Can you direct me to that info? I understand it's a simple matter to add the log terms for the other branches described by Maple but I think would be a good idea if that were documented somewhere in the Mathematica literature although I could be missing something. – Dominic Feb 27 at 15:21
• Don't know it. Maybe. mi.fu-berlin.de/en/math/groups/ag-geom/publications/db/… would be useful to you. – user64494 Feb 27 at 15:39
• Thanks for your help! Very useful. Will work with it. – Dominic Feb 27 at 15:43