Post Reply 
(28/48/49/50) Lerch Transcendent and Polylogarithm
10-20-2021, 03:57 PM (This post was last modified: 10-20-2021 04:05 PM by C.Ret.)
Post: #2
RE: (28/48/49/50) Lerch Transcendent and Polylogarithm

I confirmed that this code runs on a HP-28S.

Here is a simplification, the long IF SAME THEN ... END sequence is a way to leave the FOR / NEXT loop when convergence is achieved. A more academic way would have been to use a DO /UNTIL or WHILE /REPEAT loop structure. But this also add many instructions for increasing the k-indices.

The smarter way is to kept the FOR/NEXT structure in charge of increasing k indices number but with the flexibility of an DO/UNTIL or WHILE/REPEAT non deterministic loop using a tricky IFTE STEP instance:

« →  z  s  a
   «  a  s  ^  INV                             // Initialize      L( 0 ) = 1/a^s
     1. 9999. FOR k
          DUP                                  // Leave a copy of L(k-1) in the stack
          z  k  ^  k  a  +  s  ^  /  +         // Compute         L( k )= L(k-1) + k^z/(k+a)^s
          DUP  ROT  SAME  MAXR  1.  IFTE       // Test            L(k-1)==L(k)
     STEP » »                                  // Step k by 1 until  L(k-1) is numerically the SAME as L(k), then jump to infinity

By the way, I also remove OVER or SWAP stack operation in the computation. That why the local variables are for; avoid unnecessary obscure stack manipulations from any formulae.

From WolframAlpha: \( \varphi (0.6\:,3\:,1)= {\sum_{k=0}^{\infty }\frac{0.6^k}{(k+1)^3}}\simeq 1.0933375227216344720577686546855537153004593302300056675987 \) I found \( 1.0933752271 \) on my HP-28S in 0'03"68.

Please to share with you, I hope this details will help you in your number crunching applications.


EDIT: Correct a broken english style.
Find all posts by this user
Quote this message in a reply
Post Reply 

Messages In This Thread
RE: (28/48/49/50) Lerch Transcendent and Polylogarithm - C.Ret - 10-20-2021 03:57 PM

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