Article 130FE Dilogarithm, polylogarithm, and related functions

Dilogarithm, polylogarithm, and related functions

by
John
from John D. Cook on (#130FE)

The functions dilogarithm, trilogarithm, and more generally polylogarithm are meant to be generalizations of the logarithm. I first came across the dilogarithm in college when I was evaluating some integral with Mathematica, and they've paid a visit occasionally ever since.

Unfortunately polylogarithms are defined in several slightly different and incompatible ways. I'll start by following An Atlas of Functions and then mention differences in A&S, SciPy, and Mathematica.

Polylogarithms

According to Atlas,

Polylogarithms are themselves special cases of Lerch's function. Also known as Jonquiire's functions (Ernest Jean Philippe Fauque de Jonquiires, 1820-1901, French naval officer and mathematician), they appear in the Feynman diagrams of particle physics.

The idea is to introduce an extra parameter I in the power series for natural log:

polylog.png

When I = 1 we get the ordinary logarithm, i.e. polyln1 = log. Then polyln2 is the dilogarithm diln, and polyln3 is the trilogarithm triln.

One advantage of the definition in Atlas is that the logarithm is a special case of the polylogarithm. Other conventions don't have this property.

Other conventions

The venerable A&S defines dilogarithms in a way that's equivalent to the negative of the definition above and does not define polylogarithms of any other order. SciPy's special function library follows A&S. SciPy uses the name spence for the dilogarithm for reasons we'll get to shortly.

Mathematica has the function PolyLog[I, x] that evaluates to

Mathematica_polylog.png

So polylnI above corresponds to -PolyLog[I, -x] in Mathematica. Matlab's polylog is the same as Mathematica's PolyLog.

Relation to other functions

Spence's integral is the function of x given by the integral

spence.png

and equals diln(x). Note that the SciPy function spence returns the negative of the integral above.

The Lerch function mentioned above is named for Mathias Lerch (1860-1922) and is defined by the integral

lerch_integral.png

The connection with polylogarithms is easier to see from the series expansion:

lerch_series.png

The connection with polylogarithms is then

lerch_polyln.png

Note that the Lerch function also generalizes the Hurwitz zeta function, which in turn generalizes the Riemann zeta function. When x = 1, the Lerch function reduces to I(I, u).

h_vJe4uh-2w
External Content
Source RSS or Atom Feed
Feed Location http://feeds.feedburner.com/TheEndeavour?format=xml
Feed Title John D. Cook
Feed Link https://www.johndcook.com/blog
Reply 0 comments