Here are some notes from my program XPCalc - Extra Precision Floating-Point Calculator http://www.oocities.org/hjsmithh/download.html#XPCalc :

Lerch(x, s, a) = LerchPhi(x, s, a), preferred method:

The Lerch(x, s, a) function or Lerch transcendent is

where any term with a + k == 0 is excluded and |x| <= 1.

When a == 1, Polylog(s, x) = x * Lerch(x, s, 1).

When s == 2 and a = 1, Dilog(x) = Polylog(2, x) = x * Lerch(x, 2, 1).

When x == −1 and a == 1/2, Dirichlet Beta(s) = 2^−s * Lerch(−1, s, 1/2).

When x > 0.5, the convergence acceleration technique called Combined Nonlinear–Condensation Transformation (CNCT) is used. When x < −0.5, the delta transform is used to speed convergence.

This function is actually defined by analytic continuation for values less than −1 and the method used to speed convergence will give a result at reduced accuracy for these values. For example:

The correct answer is## Command: Lerch(-5, 2, 1) Lerch: No convergence within the maximum number of iterations = 320 Lerch: Results at iteration 78 had a relative error approximately = 2.57506,44951,20027E-41 (16) [16] Lerch: Iteration = 178 X = 5.49855,82521,21616,58005,11750,30752,53728,89904,73097,61E-1 (48) [56]

that is gotten by increasing the precision to 80 decimal digits.## X = 5.49855,82521,21616,58005,11750,30752,53728,89941,25006,55E-1,

LerchT(x, s, a) = LerchPhiT(x, s, a), traditional:

The LerchT(x, s, a) function or Lerch transcendent is

where |x| <= 1 and a != 0, −1, −2, ... .

When a == 1, Polylog(s, x) = x * LerchT(x, s, 1) = x * Lerch(x, s, 1).

When s == 2 and a == 1, Dilog(x) = Polylog(2, x) = x * LerchT(x, 2, 1).

When x == −1 and a == 1/2, Beta(s) = 2^−s * LerchT(−1, s, 1/2).

When x > 0.5, the convergence acceleration technique called Combined Nonlinear–Condensation
Transformation (CNCT) is used. When x < −0.5, the delta transform is used to speed convergence. See:

http://aksenov.freeshell.org/lerchphi/source/lerchphi.c and

http://www.mpi-hd.mpg.de/personalhomes/ulj/jentschura/Documents/lphidoc.pdf .

For example, Lerch(−0.5, 3, −4.5) = 2.32478,91995,91076,87837E−1 and

LerchT(−0.5, 3, −4.5) = −7.24071,26460,61940,35439E−1. The Lerch value
agrees with Mathematica but is not the traditional value.

This function can also get results at a reduced precision for x < −1.

Return to Number Theory, Algorithms, and Real Functions

Return to Harry's Home Page

This page accessed times since April 24, 2005.

Page created by: hjsmithh@sbcglobal.net

Changes last made on Monday, 06-Aug-07 20:47:24 PDT