import numpy as np from lib import kappa def best(R,n=1600,kmult=np.linspace(1,12,23)): k,L=kappa(R-2); d=R/n; u=-R/2+d*(np.arange(n)+.5) K=np.maximum(1-np.abs(u[:,None]-u[None,:]),0)*d*d S=u[:,None]+u[None,:] E=((np.abs(S-2)=2 B=None for km in kmult: z=np.linalg.solve(np.eye(n)*d-K+km*k*E,np.ones(n)); h=z/(z.sum()*d) gh=np.convolve(h,h)*d g0=(h.sum()*d)**2; gh0=np.sum(h*h)*d; inner=np.sum(gh*np.maximum(1-np.abs(a),0))*d gmax=max(gh[out].max(),0) if out.any() else 0. tot=(gh0-inner+k*gmax)/g0 if B is None or tot={1-t:.4%} gain={0.0677147-t:+.6f} gmax={gm:.2e} asym={asym:.1e}")