Polylogarithm
polylog
returns floating-point numbers or
exact symbolic results depending on the arguments you use.
Compute the polylogarithms of numeric input arguments. The
polylog
function returns floating-point numbers.
Li = [polylog(3,-1/2), polylog(4,1/3), polylog(5,3/4)]
Li = -0.4726 0.3408 0.7697
Compute the polylogarithms of the same input arguments by converting them to symbolic
objects. For most symbolic (exact) numbers, polylog
returns
unresolved symbolic calls.
symA = [polylog(3,sym(-1/2)), polylog(sym(4),1/3), polylog(5,sym(3/4))]
symA = [ polylog(3, -1/2), polylog(4, 1/3), polylog(5, 3/4)]
Approximate the symbolic results with the default number of 32 significant digits by
using vpa
.
Li = vpa(symA)
Li = [ -0.47259784465889687461862319312655,... 0.3407911308562507524776409440122,... 0.76973541059975738097269173152535]
The polylog
function also accepts noninteger values of the order
n
. Compute polylog
for complex
arguments.
Li = polylog(-0.2i,2.5)
Li = -2.5030 + 0.3958i
If the order of the polylogarithm is 0
,
1
, or a negative integer, then polylog
returns an explicit expression.
The polylogarithm of n = 1
is a logarithmic function.
syms x Li = polylog(1,x)
Li = -log(1 - x)
The polylogarithms of n < 1
are rational expressions.
Li = polylog(0,x)
Li = -x/(x - 1)
Li = polylog(-1,x)
Li = x/(x - 1)^2
Li = polylog(-2,x)
Li = -(x^2 + x)/(x - 1)^3
Li = polylog(-3,x)
Li = (x^3 + 4*x^2 + x)/(x - 1)^4
Li = polylog(-10,x)
Li = -(x^10 + 1013*x^9 + 47840*x^8 + 455192*x^7 + ... 1310354*x^6 + 1310354*x^5 + 455192*x^4 +... 47840*x^3 + 1013*x^2 + x)/(x - 1)^11
The polylog
function has special values for
some parameters.
If the second argument is 0
, then the polylogarithm is equal to
0
for any integer value of the first argument. If the second
argument is 1
, then the polylogarithm is the Riemann zeta function of
the first argument.
syms n Li = [polylog(n,0), polylog(n,1)]
Li = [ 0, zeta(n)]
If the second argument is -1
, then the polylogarithm has a special
value for any integer value of the first argument except 1
.
assume(n ~= 1) Li = polylog(n,-1)
Li = zeta(n)*(2^(1 - n) - 1)
To do other computations, clear the assumption on n
by recreating
it using syms
.
syms n
Compute other special values of the polylogarithm function.
Li = [polylog(4,sym(1)), polylog(sym(5),-1), polylog(2,sym(i))]
Li = [ pi^4/90, -(15*zeta(5))/16, catalan*1i - pi^2/48]
Plot the polylogarithms of the integer orders n
from -3 to 1 within the interval x = [-4 0.3]
.
syms x for n = -3:1 fplot(polylog(n,x),[-4 0.3]) hold on end title('Polylogarithm') legend('show','Location','best') hold off
Many functions, such as diff
and
int
, can handle expressions containing
polylog
.
Differentiate these expressions containing polylogarithms.
syms n x dLi = diff(polylog(n, x), x) dLi = diff(x*polylog(n, x), x)
dLi = polylog(n - 1, x)/x dLi = polylog(n, x) + polylog(n - 1, x)
Compute the integrals of these expressions containing polylogarithms.
intLi = int(polylog(n, x)/x, x) intLi = int(polylog(n, x) + polylog(n - 1, x), x)
intLi = polylog(n + 1, x) intLi = x*polylog(n, x)
polylog(2,x)
is equivalent to dilog(1 -
x)
.
The logarithmic integral function (the integral logarithm) uses the same notation, li(x), but without an index. The toolbox provides the logint
function to compute the logarithmic integral function.
Floating-point evaluation of the polylogarithm function can be slow for complex
arguments or high-precision numbers. To increase the computational speed, you can
reduce the floating-point precision by using the vpa
and digits
functions. For more
information, see Increase Speed by Reducing Precision.
The polylogarithm function is related to other special functions. For example, it can be expressed in terms of the Hurwitz zeta function ζ(s,a) and the gamma function Γ(z):
Here, n ≠ 0, 1, 2, ....
[1] Olver, F. W. J., A. B. Olde Daalhuis, D. W. Lozier, B. I. Schneider, R. F. Boisvert, C. W. Clark, B. R. Miller, and B. V. Saunders, eds., Chapter 25. Zeta and Related Functions, NIST Digital Library of Mathematical Functions, Release 1.0.20, Sept. 15, 2018.
dilog
| hurwitzZeta
| log
| logint
| zeta