from fractions import Fraction as F from math import log for T in [1,2,7,29]: ks=[sum((F(1,t) for t in range(s,T+1)),F(0)) for s in range(1,T+1)] h=sum((F(1,t) for t in range(1,T+1)),F(0)) assert sum(ks)==T assert sum(k*k for k in ks)==2*T-h assert sum((k-1)**2 for k in ks)==sum(k*k for k in ks)-T print('PASS: exact running-mean identities and normalized-weight variance-gap identity, T=1,2,7,29.') for c in [F(3,4),F(3,2),F(2),F(5)]: integ=(c/(c-1))**2*(1-2/c+1/(2*c-1)) assert integ==2*c/(2*c-1) print('PASS: exact recursive-kernel integral algebra at c=3/4,3/2,2,5; c=1 has log-square integral 2.') # Polynomial gains: online column-sum recurrence without O(T^2) storage. a,rho=0.8,0.75 for T in [100,1000,10000,100000]: gamma=[0.0]+[1.0]+[a*t**(-rho) for t in range(2,T+1)] f=0.0; ks=[0.0]*(T+1) for s in range(T,0,-1): f=1.0 if s==T else 1+(1-gamma[s+1])*f ks[s]=gamma[s]*f assert abs(sum(ks[1:])/T-1)<1e-10 gap=sum((k-1)**2 for k in ks[1:])/T assert gap>=0 print(f'T={T}: mean-square cumulative-weight gap={gap:.9g}, max-weight/sqrt(T)={max(ks[1:])/T**0.5:.9g}') print('PASS: polynomial-gain finite-T normalization and variance gaps, a=0.8, rho=0.75.') print('Scope: finite checks support identities but do not prove the asymptotic rate or reproduce the paper experiments.')