Post Reply 
(28/48/49/50) Lerch Transcendent and Polylogarithm
10-20-2021, 01:52 PM (This post was last modified: 10-20-2021 01:53 PM by John Keith.)
Post: #1
(28/48/49/50) Lerch Transcendent and Polylogarithm
This program computes the Lerch transcendent Phi(z, s, a).The arguments may be real or complex. The program is a straightforward implementation of the function definition and it converges fairly quickly if |z| is not close to 1. The execution time rises and accuracy decreases as |z| approaches 1, so this is not an efficient algorithm for the Zeta function. The number 9999 for the maximum number of iterations may be lowered to improve speed at the cost of accuracy for values of |z| close to 1.

The polylogarithm Li_s(z) is defined as z*Phi(z, s, 1). If the program is named LERCH, with s on level 2 and z on level 1, the polylogarithm can be implemented as DUP ROT 1 LERCH *.

Several other useful identities are listed at the Wikipedia links above, and at the Mathworld pages for the Lerch transcendent and the polylogarithm.

Code:

\<< \-> z s a
  \<< a s ^ INV 1. 9999.
    FOR k DUP k z OVER ^ SWAP a + s ^ / + DUP ROT
      IF SAME
      THEN 9999. 'k' STO
      END
    NEXT
  \>>
\>>
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
(28/48/49/50) Lerch Transcendent and Polylogarithm - John Keith - 10-20-2021 01:52 PM



User(s) browsing this thread: 1 Guest(s)