Analytic Continuation of DiLog in Mathematica

  • Context: Graduate 
  • Thread starter Thread starter CAF123
  • Start date Start date
  • Tags Tags
    Mathematica Output
Click For Summary

Discussion Overview

The discussion revolves around the interpretation and evaluation of the dilogarithm function, specifically the DiLog function in Mathematica. Participants explore its analytic continuation, branch cuts, and numerical evaluation methods, addressing both theoretical and practical aspects of using the function in different contexts.

Discussion Character

  • Exploratory
  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant seeks clarification on interpreting the DiLog function, particularly regarding the limit process involving the parameter α and its implications for different ranges of x.
  • Another participant suggests using complex analysis and contour integration to handle the multi-valued nature of the dilogarithm, proposing a specific integral representation for numerical evaluation.
  • A participant notes that for x < 1, the functions DiLog[x, α] and PolyLog[2, x] coincide, while for x > 1, they discuss the evaluation involving branch cuts and the limit process.
  • One participant emphasizes the importance of analytic continuation to avoid issues with branch cuts, proposing a contour integration approach to evaluate Li₂(z) for z > 1.
  • There is mention of discrepancies in the imaginary components of results obtained through numerical integration versus those from Mathematica's built-in PolyLog function, highlighting potential differences in branch choices.
  • Participants express a desire to understand the derivation of certain expressions and the implications of their evaluations in different contexts.

Areas of Agreement / Disagreement

Participants express differing views on the best approach to handle the dilogarithm function, particularly regarding the use of analytic continuation versus direct evaluation methods. There is no consensus on the implications of branch cuts or the correctness of specific evaluations, indicating ongoing debate and exploration of the topic.

Contextual Notes

Participants acknowledge limitations related to the definitions of the dilogarithm function, the dependence on branch choices, and the unresolved nature of certain mathematical steps in their evaluations.

CAF123
Gold Member
Messages
2,918
Reaction score
87
I have obtained the Dilog function in some output and was just wondering if anyone knew how to interpret its meaning. The mathematica notes tell me that

##\text{DiLog}(x,\alpha)## gives the dilogarithm function, which for real ##x>1## evaluates on the side of the branch prescribed by $$\text{lim}_{\epsilon \rightarrow 0^+} \text{Li}_2(x+i\alpha\epsilon)$$

I'm just wondering how to proceed with this prescription - should I first check whether my ##\alpha## is positive or negative in which case the expression becomes $$\text{lim}_{\epsilon \rightarrow 0^+} \text{Li}_2(x\pm i\epsilon),$$ with ##\pm## for positive/negative ##\alpha## respectively. I believe it's ok to absorb ##\alpha## into ##\epsilon## here as the latter is infinitesimal, but please correct if I'm mistaken in any of my thoughts, I don't have much familiarity with polylogs. I believe I can then write
$$\text{lim}_{\epsilon \rightarrow 0^+} \text{Li}_2(x \pm i\epsilon) = -\left(\text{Li}_2(x) \mp i\pi \ln x \right)$$
I've seen this last display in some literature but I have not yet understood it's derivation. Mathematica tells me (from the above) that it holds only for ##x>1## which might not be the case for me, so I'm not sure either how to deal with the case ##x>0,x<1##.

Thanks for any comments!
 
Physics news on Phys.org
You can approach this from complex analysis and contour integration over multi-valued functions. That gives you precise control over this function. Consider the analytic continuation of the function defined as:

##\displaystyle \text{Li}_2(z)=-\int _0^z \frac{\log(1-z)}{z}dz##

That is not a difficult integral to numerically solve in Mathematica and once you understanding how to do it, you have precise (numerical) control over the value of the function and no ambiguity about branch cuts or alpha or anything else. If you're interested, the following Mathematica code implements the process for z=2+2i and then compares the result to the built-in PolyLog function:
Code:
thez[t] = t + I t;
tstart = 0.00001;
tend = 2;
wDeriv = w'[t] == (-1/(1 - z) D[thez[t], t]) /. {z -> thez[t]}
mySol = First[NDSolve[{wDeriv, w[0] == 0}, w, {t, tstart, tend}]]
myTrace[t_] := Evaluate[Flatten[w[t] /. mySol]];
NIntegrate[-myTrace[t]/thez[t] (1 + I), {t, tstart, tend}]
N[PolyLog[2, 2 + 2 I]]
 
Last edited:
Hi @aheight thanks for reply,
My mathematica output was originally a DiLog which I've interpreted in terms of the usual mathematica function PolyLog using the mathematica help notes online. Since the branch cut of the dilog, as can be seen through your given integral representation, is from (1,infty) , I believe for x<1, the mathematica functions DiLog[x,alpha] and PolyLog[2,x] coincide. For x>1, I think the correct evaluation is the last display in my post, if you agree that what I did with the alpha is correct. Once these basic things are understood, I will look at what you did in your code. Thanks!
 
CAF123 said:
Hi @aheight thanks for reply,
My mathematica output was originally a DiLog which I've interpreted in terms of the usual mathematica function PolyLog using the mathematica help notes online. Since the branch cut of the dilog, as can be seen through your given integral representation, is from (1,infty) , I believe for x<1, the mathematica functions DiLog[x,alpha] and PolyLog[2,x] coincide. For x>1, I think the correct evaluation is the last display in my post, if you agree that what I did with the alpha is correct. Once these basic things are understood, I will look at what you did in your code. Thanks!

Hi caf,

I don't have a DiLog function in my version of Mathematica 11.2. In my opinion, the best way to handle multi-valued functions is through analytic continuation. This eliminates completely the frequent problems one encounters dealing with branch cuts: To evaluate ##\text{Li}_2(z)## for z>1, we integrate over an analytically continuous path from ##0+\epsilon## , preferably around the singular point at z=1, and end at z. And since we do so over a domain in which the function is analytic, we have independence of path: For ##\text{Li}_2(2)##, we can go over the contour z=1+e^{it} to z=2 or first go to z=2i then straigh-line down to z=2 and get the same answer. However, Mathematica may use a different implied branch over which to evaluate PolyLog. Consider ##\text{Li}_2(2)## over the contour z(t)=1+e^{it} for t ranging from ##\pi## to zero:
Code:
In[109]:= thez[t_] = 1 + Exp[I t];
tstart = \[Pi];
tend=0;
wDeriv = w'[t] == (-1/(1 - z) D[thez[t], t]) /. {z -> thez[t]};
mySol = First[
   NDSolve[{wDeriv, w[tstart] == N[Log[1 - thez[tstart]]]},
    w, {t, tstart, tend}]];
myTrace[t_] := Evaluate[Flatten[w[t] /. mySol]];
NIntegrate[-myTrace[t]/thez[t] D[thez[t], t], {t, tstart, tend}]
N[PolyLog[2, 2]]
Out[114]= 2.4674 + 2.17759 I
Out[115]= 2.4674 - 2.17759 I

Note the different imaginary component between the built-in PolyLog and numerical integration: Mathematica is using a different branch surface to determine PolyLog: Had I integrated from pi to 2pi, I would get the same answer as Mathematica. And it is precisely these types of ambiguities, and our analysis and resolution of them, that cultivates a better understanding of dealing with these types of problems. Try plotting the function and analyzing exactly what is going on with these results.

In order to be successful at working with contour integration over multi-valued functions, I have found approaching them from this perspective of analytic-continuation is the best way.
 
Last edited:

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 8 ·
Replies
8
Views
3K
  • · Replies 0 ·
Replies
0
Views
4K
  • · Replies 2 ·
Replies
2
Views
2K