# StirlingCoefficients.frink

``` /** This reproduce the additional Stirling coefficients for Stirling's     approximation to the factorial funcion from: Nemes,Gergő, On the coefficients of the asymptotic expansion of n!, Journal of Integer Sequences 13 (2010), no. 6, Article 10.6.6, 5 pp.      http://www.cs.uwaterloo.ca/journals/JIS/VOL13/Nemes/nemes2.pdf     This requires use of the generalized binomial theorem with rational     numbers (instead of integers) as arguments.  This can be obtained using     the result that binomial[r, k] = fallingFactorial[r, k] / k!     Note that, from     https://en.wikipedia.org/wiki/Stirling%27s_approximation     "As n → ∞, the error in the truncated series is asymptotically equal to the      first omitted term. This is an example of an asymptotic expansion. It is      not a convergent series; for any particular value of n there are only so      many terms of the series that improve accuracy, after which accuracy      worsens." */ // Used for calculating falling factorial. use Pochhammer.frink /** This calculates StirlingCoeffient a_k.  This will be the term in the sum     a_k / n^k     For example, the coefficients are     (1 + 1/(12 n) + 1/(288 n^2) ... )     This implements equation 5 in Nemes */ StirlingCoefficient[k] := {    ak = (2k)!/(2^k k!)    sum1 = 0    for i = 0 to 2k    {       sum2 = 0       sum1a = generalizedBinomial[k+i-1/2, i] generalizedBinomial[3k + 1/2, 2k-i] 2^i        for j = 0 to i          sum2 = sum2 + binomial[i,j] (-1)^j j! S[2k + i + j, j] / (2k + i + j)!       sum1 = sum1 + sum1a * sum2    }    return sum1 * ak } /** This is the equation after (5) in Nemes. */ S[p,q] := {    s = 1/q!    sum = 0    for l = 0 to q       sum = sum + (-1)^l binomial[q, l] (q-l)^p    return s * sum } /** Testing */ /*for k = 0 to 8    println["\$k\t" + StirlingCoefficient[k]] */```

This is a program written in the programming language Frink.
For more information, view the Frink Documentation or see More Sample Frink Programs.

Alan Eliasen was born 18868 days, 2 hours, 31 minutes ago.