tail_check.py

back to table · edit · history · where entries came from · files · download

1576 bytes, as of the version from 2026-11-02 15:29 (current). Recorded here, not run.

"""Independent conifold sums from gamma-ratio asymptotics; heuristic, not certified.

c_n=P n^-e exp(sum L_k n^-k). The logarithmic coefficients are
Bernoulli-polynomial differences. Differentiating all upper and denominator
parameters together leaves e fixed and yields the coefficients of c_n h_n.
Each inverse-power tail is summed with Hurwitz zeta. Adapted from T679's
conifold period check, extended here to the first logarithmic solution.
"""
from mpmath import mp


def conifold_tail(alpha,beta=None,N=1400,K=130):
    if beta is None:beta=[mp.mpf(1)]*len(alpha)
    exponent=sum(beta)-sum(alpha)
    L=[mp.mpf(0)];D=[mp.mpf(0)]
    for k in range(1,K+1):
        L.append((-1)**(k+1)*(sum(mp.bernpoly(k+1,a) for a in alpha)-sum(mp.bernpoly(k+1,b) for b in beta))/(mp.mpf(k)*(k+1)))
        D.append((-1)**(k+1)*(sum(mp.bernpoly(k,a) for a in alpha)-sum(mp.bernpoly(k,b) for b in beta))/k)
    E=[mp.mpf(1)]
    for n in range(1,K+1):E.append(sum(k*L[k]*E[n-k] for k in range(1,n+1))/n)
    H=sum(mp.digamma(b) for b in beta)-sum(mp.digamma(a) for a in alpha)
    B=[H*E[n]+sum(D[k]*E[n-k] for k in range(1,n+1)) for n in range(K+1)]
    c=mp.mpf(1);h=mp.mpf(0);F=mp.mpf(0);G=mp.mpf(0)
    for n in range(N):
        F+=c;G+=c*h
        c*=mp.fprod(a+n for a in alpha)/mp.fprod(b+n for b in beta)
        h+=sum(1/(a+n) for a in alpha)-sum(1/(b+n) for b in beta)
    P=mp.fprod(mp.gamma(b) for b in beta)/mp.fprod(mp.gamma(a) for a in alpha)
    Z=[mp.zeta(exponent+k,N) for k in range(K+1)]
    return F+P*sum(e*z for e,z in zip(E,Z)),G+P*sum(b*z for b,z in zip(B,Z))