nDot.io physics
07-ilang-weight / 06-inertia-of-pair
06inertia of pairverified

Determines the inertia of a pair bound through the field against the inertias of its bodies and its cost, and whether weight over inertia of the pair equals that of a single body.

Code of version 3

check_inertia.py20 KB · raw
"""Check of item 2 of 07-ilang-weight/06-inertia-of-pair (and of the numbers of items 1, 3, 5).

Two Model D bodies (one clock level each: half-gap M_i, branch sigma_i), N_f = 1 field object
on a ring of L places, couplings (a) and (c).  The exact sector contract H(P) of bodies and
field (body 1 at place 0 as representative) is continued to real P; the curvature of the
exact bound level at P = 0 is compared with (6.6) evaluated on the band contract at order
tau^2 (second-order Schrieffer-Wolff on the tau = 0 levels), and with mu_1 + mu_2.
Also: the ring remainder against its bound (6.16), the inverse-expansion quantities of B2 (x_bar, A_0),
the gaps delta_1, delta of R1 from the held-sector spectra (Step 7), and the leading-order sign rule
(6.17) on a long line chain.  Only the selected level (one-signed, s_beta = +1) is treated.
Branch basis (|+>, i|->): the motion term is real, -i sigma_1 -> J.
"""
import json
from pathlib import Path

import numpy as np

OUT = Path(__file__).parent / "output"
J = np.array([[0.0, 1.0], [-1.0, 0.0]])
SG = np.array([1.0, -1.0])  # branch index 0: sigma = +1, 1: sigma = -1


def bidx(sig):
    return 0 if sig > 0 else 1


def ground(h):
    w, v = np.linalg.eigh(h)
    g = v[:, 0]
    return w[0], g * np.sign(g.sum())


def field_hop(L, tf):
    h = np.zeros((L, L))
    for y in range(L):
        h[y, (y + 1) % L] = h[(y + 1) % L, y] = -tf
    return h


# ---------------------------------------------------------------- one body + field, sector
def body_sector(L, tf, b, cpl):
    cc = 1.0 if cpl == "c" else 0.0
    n = 2 * L
    ix = lambda s, y: s * L + y
    H0 = np.zeros((n, n)); B = np.zeros((n, n))
    hf = field_hop(L, tf)
    for s in range(2):
        H0[s * L:(s + 1) * L, s * L:(s + 1) * L] += hf
        for y in range(L):
            a = ix(s, y)
            H0[a, a] += SG[s] * b["M"] * (1 + b["gam"] * (y == 0))
            f = 1 + cc * b["gam"] * 0.5 * ((y == 0) + (y == 1))
            for sp in range(2):  # right hop 0 -> 1, frame shift y -> y-1, phase e^{-iP}
                B[ix(sp, (y - 1) % L), a] += 0.5 * b["tau"] * J[sp, s] * f
    return H0, B


def curvature(H0, B, sel_vec, mode):
    """E''(0) of the eigenvector of H(0)=H0+B+B^T selected by overlap with sel_vec (G-weight)."""
    H = H0 + B + B.T
    w, v = np.linalg.eigh(H)
    gw = np.abs(sel_vec.T @ v) ** 2 if sel_vec.ndim == 1 else (np.abs(sel_vec.T @ v) ** 2).sum(0)
    cand = np.where(gw > 0.5)[0]
    k = cand[np.argmin(w[cand])] if mode == "low" else cand[np.argmax(w[cand])]
    H1 = -1j * (B - B.T)
    H2 = -(B + B.T)
    x = v[:, k]
    d = w[k] - w
    d[k] = np.inf
    m1 = v.conj().T @ (H1 @ x)
    E2 = (x @ H2 @ x) + 2 * np.sum(np.abs(m1) ** 2 / d)
    return w[k], E2.real, v[:, k], gw[k]


def sw_scalar(H0, V, gvec):
    """Second-order SW energy of the single G state gvec (V complex allowed)."""
    w, U = np.linalg.eigh(H0)
    a = np.argmax(np.abs(U.T @ gvec))
    Vt = U.T @ V @ U
    d = w[a] - w
    d[a] = np.inf
    return w[a] + np.sum(np.abs(Vt[:, a]) ** 2 / d)


def body_data(L, tf, b, cpl):
    H0, B = body_sector(L, tf, b, cpl)
    s = bidx(b["sig"])
    hf = field_hop(L, tf); hf0 = hf.copy(); hf0[0, 0] += b["sig"] * b["gam"] * b["M"]
    e0, Om = ground(hf0)
    g = np.zeros(2 * L); g[s * L:(s + 1) * L] = Om
    E0, E2, _, gw = curvature(H0, B, g, "low" if b["sig"] > 0 else "high")
    # band contract (order tau^2): kappa_bar from P = 0 and P = pi/2
    Hs = lambda P: sw_scalar(H0, np.exp(-1j * P) * B + np.exp(1j * P) * B.T, g)
    kbar = (Hs(0.0) - Hs(np.pi / 2)).real / 4
    eps = lambda gg: np.linalg.eigvalsh(hf + np.diag([gg] + [0] * (L - 1)))[0]
    R = b["M"] + 0.5 * (eps(b["gam"] * b["M"]) - eps(-b["gam"] * b["M"]))
    c2 = b["tau"] ** 2 * (1 + (b["gam"] / L if cpl == "c" else 0.0)) ** 2
    return dict(E0=E0, mu=1 / E2, mubar=-1 / (8 * kbar), kbar=kbar, R=R, c2=c2, gw=gw)


# ---------------------------------------------------------------- two bodies + field, sector
def pair_sector(L, tf, b1, b2, cpl):
    cc = 1.0 if cpl == "c" else 0.0
    n = 4 * L * L
    ix = lambda s1, r, s2, y: ((s1 * L + r) * 2 + s2) * L + y
    H0 = np.zeros((n, n)); B1 = np.zeros((n, n)); V2 = np.zeros((n, n))
    for s1 in range(2):
        for r in range(L):
            for s2 in range(2):
                for y in range(L):
                    a = ix(s1, r, s2, y)
                    H0[a, a] += SG[s1] * b1["M"] * (1 + b1["gam"] * (y == 0)) \
                        + SG[s2] * b2["M"] * (1 + b2["gam"] * (y == r))
                    H0[ix(s1, r, s2, (y + 1) % L), a] += -tf
                    H0[ix(s1, r, s2, (y - 1) % L), a] += -tf
                    for t in range(2):
                        f = 1 + cc * b2["gam"] * 0.5 * ((y == r) + (y == (r + 1) % L))
                        V2[ix(s1, (r + 1) % L, t, y), a] += 0.5 * b2["tau"] * J[t, s2] * f
                        f = 1 + cc * b2["gam"] * 0.5 * ((y == (r - 1) % L) + (y == r))
                        V2[ix(s1, (r - 1) % L, t, y), a] += 0.5 * b2["tau"] * J[s2, t] * f
                        f = 1 + cc * b1["gam"] * 0.5 * ((y == 0) + (y == 1))
                        B1[ix(t, (r - 1) % L, s2, (y - 1) % L), a] += 0.5 * b1["tau"] * J[t, s1] * f
    return H0, B1, V2, ix


def pair_block(L, tf, b1, b2, cpl, par):
    """Restrict to the block of (-1)^r s1 s2 containing the band G (branches sig_i, r = par mod 2).
    Returns H0, B1, V2 on the block, the tau=0 eigenbasis U0 (block by block in (s1, r, s2)),
    its eigenvalues w0, the columns gi of U0 that form G (field ground, positive), and rs."""
    H0, B1, V2, ix = pair_sector(L, tf, b1, b2, cpl)
    pi0 = (-1) ** par * b1["sig"] * b2["sig"]
    trip = [(s1, r, s2) for s1 in range(2) for r in range(L) for s2 in range(2)
            if (-1) ** r * SG[s1] * SG[s2] == pi0]
    keep = np.array([ix(s1, r, s2, y) for (s1, r, s2) in trip for y in range(L)])
    sub = lambda A: A[np.ix_(keep, keep)]
    H0b, B1b, V2b = sub(H0), sub(B1), sub(V2)
    n = len(keep)
    U0 = np.zeros((n, n)); w0 = np.zeros(n)
    s1g, s2g = bidx(b1["sig"]), bidx(b2["sig"])
    rs, gi = [], []
    for t, (s1, r, s2) in enumerate(trip):
        sl = slice(t * L, (t + 1) * L)
        w, v = np.linalg.eigh(H0b[sl, sl])
        v[:, 0] *= np.sign(v[:, 0].sum())
        U0[sl, sl] = v; w0[sl] = w
        if (s1, s2) == (s1g, s2g):
            rs.append(r); gi.append(t * L)
    order = np.argsort(rs)
    rs = [rs[i] for i in order]; gi = np.array([gi[i] for i in order])
    return H0b, B1b, V2b, U0, w0, gi, rs


def band_contract(U0, w0, gi, V):
    """Second-order SW band contract on the G columns gi of the tau=0 eigenbasis U0."""
    mask = np.ones(len(w0), bool); mask[gi] = False
    Vgc = U0[:, gi].T @ V @ U0[:, mask]
    Ea, Ec = w0[gi], w0[mask]
    A = Vgc / (Ea[:, None] - Ec[None, :])
    Heff = np.diag(Ea).astype(complex) + 0.5 * (A @ Vgc.conj().T + Vgc @ A.conj().T)
    return Heff, Ea


def ell(r, L):
    r = np.mod(r, L)
    return (L * L - 1) / (12 * L) - r * (L - r) / (2 * L)


def band_data(L, tf, b1, b2, cpl, par, mode):
    """Band contract at order tau^2 at P = 0: relative level f, bonds b, kappa_i(rho), m(rho)."""
    H0, B1, V2, U0, w0, gi, rs = pair_block(L, tf, b1, b2, cpl, par)
    K1, _ = band_contract(U0, w0, gi, B1 + B1.T)
    K2, Ea = band_contract(U0, w0, gi, V2)
    K1 = (K1 - np.diag(Ea)).real; K2 = (K2 - np.diag(Ea)).real
    w, v = np.linalg.eigh(np.diag(Ea) + K1 + K2)
    k = 0 if mode == "low" else -1
    f = v[:, k]
    nr = len(rs)
    nb = lambda A: np.array([A[j, (j + 1) % nr] for j in range(nr)])  # bond (r_j, r_j + 2)
    k1, k2 = nb(K1), nb(K2)
    b = np.array([f[j] * f[(j + 1) % nr] for j in range(nr)])
    rho = np.array(rs) + 1
    return dict(H0=H0, B1=B1, V2=V2, U0=U0, w0=w0, gi=gi, rs=rs, K1=K1, K2=K2, Ea=Ea, f=f, eps=w[k],
                b=b, k1=k1, k2=k2, m=-1 / (8 * k1) - 1 / (8 * k2), rho=rho)


def mark_formula(L, tf, b1, b2, cpl, d1, d2, rho):
    """s_c (c1^-2 + c2^-2) Mbar2(rho), with M2(r) = -(2 n g1 g2 / t_f) ell(r) (quoted (4.3))."""
    n = 1.0 / L
    g1, g2 = b1["sig"] * b1["gam"] * b1["M"], b2["sig"] * b2["gam"] * b2["M"]
    M2 = lambda r: -(2 * n * g1 * g2 / tf) * ell(r, L)
    M2bar = 0.25 * (M2(rho + 1) + 2 * M2(rho) + M2(rho - 1))
    sc = 1.0 if cpl == "a" else -1.0
    return sc * (1 / d1["c2"] + 1 / d2["c2"]) * M2bar


def run_case(L, tf, b1, b2, cpl, par, mode):
    bd = band_data(L, tf, b1, b2, cpl, par, mode)
    H0, B1, V2, U0, gi = bd["H0"], bd["B1"], bd["V2"], bd["U0"], bd["gi"]
    G = U0[:, gi]
    # exact bound level and its curvature: H(P) = H0 + V2 + e^{-iP}B1 + e^{iP}B1^T (body 1 as representative)
    Eb, Ebpp, _, gw = curvature(H0 + V2, B1, G, mode)
    def lev(P):  # finite-difference cross-check of the continuation in P
        w, v = np.linalg.eigh(H0 + V2 + np.exp(-1j * P) * B1 + np.exp(1j * P) * B1.T)
        c = np.where((np.abs(G.T @ v) ** 2).sum(0) > 0.5)[0]
        return w[c].min() if mode == "low" else w[c].max()
    h = 2e-3
    Ebpp_fd = (lev(h) - 2 * lev(0.0) + lev(-h)) / h ** 2
    # curvature of the band-contract level on the ring (same continuation)
    def band_lev(P):
        hP, _ = band_contract(U0, bd["w0"], gi, np.exp(-1j * P) * B1 + np.exp(1j * P) * B1.T + V2)
        e = np.linalg.eigvalsh(hP)
        return e[0] if mode == "low" else e[-1]
    Epp_band = (band_lev(h) - 2 * band_lev(0.0) + band_lev(-h)) / h ** 2
    # (6.6): sum_rho b/m plus the ring term Phi'(0)^2 d^2 eps / dPhi^2
    b, m, k1, k2 = bd["b"], bd["m"], bd["k1"], bd["k2"]
    Epp_66 = np.sum(b / m)
    h0 = np.diag(bd["Ea"]) + bd["K1"] + bd["K2"]
    nr = len(bd["rs"])
    def eF(F):
        hF = h0.astype(complex); hF[nr - 1, 0] *= np.exp(1j * F); hF[0, nr - 1] *= np.exp(-1j * F)
        e = np.linalg.eigvalsh(hF)
        return e[0] if mode == "low" else e[-1]
    d2F = (eF(1e-2) - 2 * eF(0.0) + eF(-1e-2)) / 1e-4
    dPhi = -2 * np.sum(k1 / (k1 + k2))
    ring = dPhi ** 2 * d2F
    # bound (6.16) of the ring remainder, evaluated at the bond farthest from contact
    wall = np.linalg.eigvalsh(h0)
    kk = 0 if mode == "low" else nr - 1
    Dnu = np.min(np.abs(np.delete(wall, kk) - wall[kk]))
    rho_b = (np.array(bd["rs"]) + 1) % L
    js = int(np.argmin(np.abs(rho_b - L / 2)))
    fa, fb, s_star = bd["f"][js], bd["f"][(js + 1) % nr], k1[js] + k2[js]
    ring_bound = dPhi ** 2 * (2 * abs(s_star * fa * fb) + 4 * s_star ** 2 * (fa ** 2 + fb ** 2) / Dnu) / abs(Epp_66)
    beta = b.sum()
    d1, d2 = body_data(L, tf, b1, cpl), body_data(L, tf, b2, cpl)
    mu, mub = d1["mu"] + d2["mu"], d1["mubar"] + d2["mubar"]
    # B2: x_bar = max |m(rho) - m_0| / |m_0| and the inverse-expansion ratio |A_0| / (|m_0| beta_0)
    xbar = np.max(np.abs(m - mub)) / abs(mub)
    A0 = np.sum(b * (m - mub))
    inv_line_expanded = mub / beta + A0 / beta ** 2  # first order in m - m_0, cf. (6.8)
    Dmark = np.sum(b * mark_formula(L, tf, b1, b2, cpl, d1, d2, bd["rho"])) / beta ** 2
    Dlat = mu * (1 - beta) / beta
    dE = Eb - d1["E0"] - d2["E0"] + (-2 * tf)  # cost difference: pair - body 1 - body 2 + field alone
    n = 1.0 / L
    g1, g2 = b1["sig"] * b1["gam"] * b1["M"], b2["sig"] * b2["gam"] * b2["M"]
    return dict(L=L, coupling=cpl, parity=par, level=mode, Gweight=float(gw), Eb0=Eb,
                inv_Epp_exact=1 / Ebpp, inv_Epp_fd=1 / Ebpp_fd, inv_Epp_band_ring=1 / Epp_band,
                inv_Epp_66=1 / Epp_66, inv_Epp_66_plus_ring=1 / (Epp_66 + ring), ring_term_rel=ring / Epp_66,
                ring_bound=ring_bound, f_antipode_sq=max(fa ** 2, fb ** 2), f_min_sign=float(np.min(bd["f"]) * np.sign(bd["f"].sum())),
                xbar=xbar, A_rel=abs(A0) / (abs(mub) * beta),
                rel_dev_expanded_vs_unexpanded=inv_line_expanded * Epp_66 - 1,
                beta=beta, mu1=d1["mu"], mu2=d2["mu"], mu_sum=mu, mubar_sum=mub, mu_over_beta=mu / beta,
                rel_dev_band_ring_vs_exact=Ebpp / Epp_band - 1,
                rel_dev_66ring_vs_exact=Ebpp / (Epp_66 + ring) - 1,
                rel_dev_mu_over_beta_vs_exact=(mu / beta) * Ebpp - 1,
                D_exact=1 / Ebpp - mu, D_lat=Dlat, D_mark_formula=Dmark, D_lat_plus_mark=Dlat + Dmark,
                sigR_over_c2_mu=[b1["sig"] * d1["R"] / d1["c2"] / d1["mu"], b2["sig"] * d2["R"] / d2["c2"] / d2["mu"]],
                kappa_bar=[d1["kbar"], d2["kbar"]], chi=n * abs(g1 * g2) / tf / abs(d1["kbar"] + d2["kbar"]),
                participation=1 / np.sum(bd["f"] ** 4), dE_cost=dE,
                D_over_dE_times_c1sq=(1 / Ebpp - mu) * d1["c2"] / dE,
                D_over_dE_times_c2sq=(1 / Ebpp - mu) * d2["c2"] / dE,
                c1_over_c2=float(np.sqrt(d1["c2"] / d2["c2"])))


def r1_gaps(L, tf, b1, b2, par):
    """delta_1 and delta of R1 from the held-sector (tau = 0) spectra, N_f = 1, in the block of G."""
    hf = field_hop(L, tf)
    lev = {}
    for s1 in range(2):
        for s2 in range(2):
            for r in range(L):
                h = hf.copy(); h[0, 0] += SG[s1] * b1["gam"] * b1["M"]; h[r, r] += SG[s2] * b2["gam"] * b2["M"]
                lev[(s1, s2, r)] = SG[s1] * b1["M"] + SG[s2] * b2["M"] + np.linalg.eigvalsh(h)
    s1g, s2g = bidx(b1["sig"]), bidx(b2["sig"])
    same = [r for r in range(L) if r % 2 == par]
    other = [r for r in range(L) if r % 2 != par]
    G = np.array([lev[(s1g, s2g, r)][0] for r in same])
    one = np.concatenate([lev[(1 - s1g, s2g, r)] for r in other] + [lev[(s1g, 1 - s2g, r)] for r in other])
    rest = np.concatenate([lev[(s1g, s2g, r)][1:] for r in same] + [lev[(1 - s1g, 1 - s2g, r)] for r in same])
    d1 = np.min(np.abs(G[:, None] - one[None, :]))
    d_rest = np.min(np.abs(G[:, None] - rest[None, :]))
    return dict(delta1=float(d1), delta=float(min(d1, d_rest)), field_gap=float(4 * tf * np.sin(np.pi / L) ** 2),
                G_width=float(G.max() - G.min()))


AIRY0 = 1.0188  # first zero of Ai'


def equality_crossing(chi=0.05, R=1.0, c=0.25, sig=-1, se=-1, Ls=range(100, 3001, 4)):
    """Leading-order sign rule (6.17) on the line: Delta_nu(L) = D_nu - Delta E_nu / c^2 from (6.8)-(6.10)
    for the relative chain with uniform hopping, V(r) = s_e (F/L) r (L - r), equal speeds c, both bodies
    with R_i = R and branch sig; the selected level (extreme, one-signed; highest for s_e = -1)."""
    from scipy.linalg import eigh_tridiagonal
    mu = sig * R / c ** 2
    kb = -1 / (8 * mu)
    t0 = 2 * kb
    F = chi * abs(t0)
    S = 2 / c ** 2
    Qm1 = 4 * mu * mu * c ** 2 - 1
    out = {}
    for sc in (+1, -1):
        prev, cross = None, []
        for L in Ls:
            r = 2 * np.arange(-(L // 4) + 1, L // 4 + 1)  # even r (L multiple of 4)
            Vf = lambda x: se * (F / L) * np.abs(x) * (L - np.abs(x))
            M0 = -se * F * (L * L - 1) / (6 * L)
            M2 = lambda x: M0 + Vf(x)
            n = len(r)
            sel = (n - 1, n - 1) if se < 0 else (0, 0)
            w, v = eigh_tridiagonal(Vf(r), np.full(n - 1, t0), select="i", select_range=sel)
            f = v[:, 0]
            b = f[:-1] * f[1:]
            rho = r[:-1] + 1
            beta = b.sum()
            K = 2 * t0 * (beta - 1)
            Mbar = 0.25 * (M2(rho - 1) + 2 * M2(rho) + M2(rho + 1))
            D = 2 * mu * (1 - beta) / beta + sc * S * np.sum(b * Mbar) / beta ** 2
            dE = K + M0 + np.sum(f ** 2 * Vf(r))
            Dl = D - dE / c ** 2
            if prev is not None and np.sign(Dl) != np.sign(prev):
                cross.append(int(L))
            prev = Dl
        out["coupling_a" if sc > 0 else "coupling_c"] = dict(crossings=cross)
    est = 2 * 4 ** (1 / 3) * AIRY0 * Qm1 * chi ** (-1 / 3)
    return dict(chi=chi, R=R, c=c, sig=sig, s_e=se, Q_minus_1=Qm1, L_star_estimate=est, **out)


def mark_check(L, tf, b1, b2, cpl, par, mode, scales=(1.0, 0.3, 0.1, 0.03)):
    """Ratio [m(rho) - mubar_1 - mubar_2] / [s_c (c1^-2+c2^-2) Mbar2(rho)] at the contact bonds, couplings scaled."""
    out = []
    for s in scales:
        c1, c2 = dict(b1), dict(b2)
        c1["gam"] *= s; c2["gam"] *= s
        bd = band_data(L, tf, c1, c2, cpl, par, mode)
        d1, d2 = body_data(L, tf, c1, cpl), body_data(L, tf, c2, cpl)
        num = bd["m"] - d1["mubar"] - d2["mubar"]
        pred = mark_formula(L, tf, c1, c2, cpl, d1, d2, bd["rho"])
        j = np.argsort(np.abs(((bd["rho"] + L // 2) % L) - L // 2))[:2]  # bonds nearest to contact
        out.append(dict(scale=s, coupling=cpl, ratio_contact=float(np.mean(num[j] / pred[j])),
                        ratio_all=[float(x) for x in num / pred]))
    return out


SETS = {  # (body 1, body 2, parity of r, selected level, equal speeds); t_f = 1, 2 M_i > 4 t_f so that R1 holds for sigma = +1
    # all sets have s_beta = +1 (selected level bound, one-signed); D has g_1 + g_2 = 0 (no first-order pair weight)
    "A": (dict(M=3.0, tau=0.20, gam=0.09, sig=+1), dict(M=4.0, tau=0.20, gam=0.07, sig=+1), 0, "low", True),
    "B": (dict(M=2.5, tau=0.16, gam=0.10, sig=-1), dict(M=2.0, tau=0.20, gam=-0.14, sig=-1), 1, "high", False),
    "D": (dict(M=3.0, tau=0.20, gam=0.09, sig=-1), dict(M=3.0, tau=0.20, gam=-0.09, sig=-1), 0, "high", True),
}


def bodies(name, L, cpl):
    """Bodies of a set on a ring of L places.  For the equal-speed sets and coupling (c), tau_2 is set so that
    c_2 = tau_2 (1 + gamma_2 n) equals c_1 = tau_1 (1 + gamma_1 n) exactly (n = 1/L)."""
    b1, b2, par, mode, eq = SETS[name]
    b1, b2 = dict(b1), dict(b2)
    if eq and cpl == "c":
        b2["tau"] = b1["tau"] * (1 + b1["gam"] / L) / (1 + b2["gam"] / L)
    return b1, b2, par, mode


if __name__ == "__main__":
    OUT.mkdir(exist_ok=True)
    tf = 1.0
    res = []
    for name in SETS:
        for L in (12, 16):
            for cpl in ("a", "c"):
                b1, b2, par, mode = bodies(name, L, cpl)
                r = run_case(L, tf, b1, b2, cpl, par, mode)
                r["set"] = name
                res.append(r)
    keys = ["set", "L", "coupling", "level", "c1_over_c2", "chi", "beta", "inv_Epp_exact", "inv_Epp_fd",
            "inv_Epp_band_ring", "inv_Epp_66", "inv_Epp_66_plus_ring", "mu_sum", "mu_over_beta",
            "rel_dev_band_ring_vs_exact", "rel_dev_66ring_vs_exact", "rel_dev_mu_over_beta_vs_exact",
            "ring_term_rel", "ring_bound", "f_antipode_sq", "f_min_sign", "xbar", "A_rel",
            "rel_dev_expanded_vs_unexpanded", "D_exact", "D_lat", "D_mark_formula",
            "D_lat_plus_mark", "dE_cost", "D_over_dE_times_c1sq", "D_over_dE_times_c2sq"]
    fmt = lambda k, v: f"{k}={v:.6g}" if isinstance(v, (float, np.floating)) else f"{k}={v}"
    lines = ["  ".join(fmt(k, r[k]) for k in keys) for r in res]
    mk = []
    for cpl in ("a", "c"):
        b1, b2, par, mode = bodies("A", 12, cpl)
        mk += mark_check(12, tf, b1, b2, cpl, par, mode)
    lines.append("mark term check (set A, L=12): ratio of m(rho)-mubar_1-mubar_2 to the mark term of (6.7) at contact bonds")
    lines += [f"  coupling={x['coupling']} scale={x['scale']} ratio={x['ratio_contact']:.4f}" for x in mk]
    gaps = []
    for name in SETS:
        for L in (12, 16):
            b1, b2, par, mode = bodies(name, L, "a")
            for t in (tf, 40.0):
                g = r1_gaps(L, t, b1, b2, par)
                g.update(set=name, L=L, t_f=t)
                gaps.append(g)
    lines.append("R1 gaps from the held-sector spectra (N_f = 1): delta_1 (one motion term), delta (all other levels)")
    lines += [f"  set={g['set']} L={g['L']} t_f={g['t_f']}: delta1={g['delta1']:.4f} delta={g['delta']:.4f} "
              f"field_gap={g['field_gap']:.4f} width_of_G={g['G_width']:.4f}" for g in gaps]
    cr = equality_crossing()
    lines.append(f"leading-order sign rule (6.17) on the line: chi={cr['chi']} R={cr['R']} c={cr['c']} sigma_i={cr['sig']} "
                 f"s_e={cr['s_e']} Q-1={cr['Q_minus_1']:.1f}")
    lines.append(f"  sign changes of D_0 - dE_0/c^2 in L in [100, 3000] (selected level): coupling (a): at {cr['coupling_a']['crossings']}; "
                 f"coupling (c): at {cr['coupling_c']['crossings']}")
    lines.append(f"  estimate L*_0 = 2 4^(1/3) a_0 (Q-1) chi^(-1/3) = {cr['L_star_estimate']:.0f}")
    txt = "\n".join(lines)
    print(txt)
    (OUT / "inertia_check.txt").write_text(txt + "\n")
    conv = lambda o: o.tolist() if isinstance(o, np.ndarray) else float(o)
    (OUT / "inertia_check.json").write_text(json.dumps(dict(cases=res, mark_check=mk, r1_gaps=gaps, sign_rule=cr),
                                                       indent=1, default=conv))
check_weight.py16 KB · raw
"""Check of item 4 of 07-ilang-weight/06-inertia-of-pair against exact eigenvalues with a held source.

Two Model D bodies and N_f = 1 field object on a ring of L places (set A of check_inertia.py),
plus a held source g_s Phi_{x_s}.  The exact contract (all places, no sector) is diagonalized near
the bottom of the bound band, where the bound pair sits in the weight well opposite the source.
Its levels are compared with
  (i)   the first-order projected contract on the exact bound band: E_b(P_k) + <P',v_P'| g_s Phi_xs |P,v_P>,
        with the exact P-dependent sector eigenvectors v_P (no frozen relative profile);
  (ii)  the frozen-profile description E_b(P) + W_nu(X) with W_nu of (6.11) (profile f_nu at P = 0);
  (iii) the same with the pair band rescaled to the inertia mu_1 + mu_2.
Second part: the acceleration from rest (6.13) of the centre Y conjugate to P, computed exactly from the
double commutator in the position-space band contract (order tau^2, first-order held weights), against
-E''_line sum phi^2 W'_nu, and the acceleration of the midpoint against -(beta/2) sum phi^2 (W_1'/mu_1 + W_2'/mu_2).
Set D (g_1 + g_2 = 0): the pair's acceleration against that of body 1 alone, as the couplings in the weights are scaled.
"""
import json
from pathlib import Path

import numpy as np
import scipy.sparse as sp
import scipy.sparse.linalg as sla

from check_inertia import (OUT, J, SG, bodies, bidx, ground, field_hop, pair_block, band_data,
                           body_data, curvature)


def full_contract(L, tf, b1, b2, cpl, gs, xs, par):
    """Exact contract on all places, restricted to the block (-1)^(x2-x1) s1 s2 of the band G."""
    cc = 1.0 if cpl == "c" else 0.0
    ix = lambda x1, s1, x2, s2, y: (((x1 * 2 + s1) * L + x2) * 2 + s2) * L + y
    pi0 = (-1) ** par * b1["sig"] * b2["sig"]
    states = [(x1, s1, x2, s2, y) for x1 in range(L) for s1 in range(2) for x2 in range(L) for s2 in range(2)
              for y in range(L) if (-1) ** ((x2 - x1) % L) * SG[s1] * SG[s2] == pi0]
    pos = {ix(*s): i for i, s in enumerate(states)}
    rows, cols, vals = [], [], []
    def add(i, st, v):
        j = pos[ix(*st)]
        rows.append(j); cols.append(i); vals.append(v)
    for i, (x1, s1, x2, s2, y) in enumerate(states):
        add(i, (x1, s1, x2, s2, y), SG[s1] * b1["M"] * (1 + b1["gam"] * (y == x1))
            + SG[s2] * b2["M"] * (1 + b2["gam"] * (y == x2)) + gs * (y == xs))
        for dy in (1, -1):
            add(i, (x1, s1, x2, s2, (y + dy) % L), -tf)
        t1, t2 = 1 - s1, 1 - s2  # a motion term flips the branch (J has zero diagonal)
        for dx in (1, -1):
            # body hop x -> x+dx (bond between x and x+dx); J for right hops, J^T for left hops
            Jm = J[t1, s1] if dx == 1 else J[s1, t1]
            f = 1 + cc * b1["gam"] * 0.5 * ((y == x1) + (y == (x1 + dx) % L))
            add(i, ((x1 + dx) % L, t1, x2, s2, y), 0.5 * b1["tau"] * Jm * f)
            Jm = J[t2, s2] if dx == 1 else J[s2, t2]
            f = 1 + cc * b2["gam"] * 0.5 * ((y == x2) + (y == (x2 + dx) % L))
            add(i, (x1, s1, (x2 + dx) % L, t2, y), 0.5 * b2["tau"] * Jm * f)
    H = sp.csr_matrix((vals, (rows, cols)), shape=(len(states), len(states)))
    assert abs(H - H.T).max() < 1e-14
    return H, states, pos, ix


def sector_state(blk, mode, P):
    """Exact bound level and eigenvector of the sector contract H(P) (body 1 as representative)."""
    H0, B1, V2, U0, w0, gi, rs = blk
    G = U0[:, gi]
    w, v = np.linalg.eigh(H0 + V2 + np.exp(-1j * P) * B1 + np.exp(1j * P) * B1.T)
    c = np.where((np.abs(G.T @ v) ** 2).sum(0) > 0.5)[0]
    k = c[np.argmin(w[c])] if mode == "low" else c[np.argmax(w[c])]
    return w[k], v[:, k]


def held_weights(L, tf, b1, b2, gs, xs=0):
    """First-order held weights: pair W(j,l) = g_s |Omega_jl(x_s)|^2 and single bodies W_i(x)."""
    hf = field_hop(L, tf)
    Om, Wpair = {}, np.zeros((L, L))
    for j in range(L):
        for l in range(L):
            h = hf.copy(); h[j, j] += b1["sig"] * b1["gam"] * b1["M"]; h[l, l] += b2["sig"] * b2["gam"] * b2["M"]
            _, o = ground(h)
            Om[(j, l)] = o
            Wpair[j, l] = gs * o[xs] ** 2
    W1, W2 = np.zeros(L), np.zeros(L)
    for x in range(L):
        h = hf.copy(); h[x, x] += b1["sig"] * b1["gam"] * b1["M"]; W1[x] = gs * ground(h)[1][xs] ** 2
        h = hf.copy(); h[x, x] += b2["sig"] * b2["gam"] * b2["M"]; W2[x] = gs * ground(h)[1][xs] ** 2
    return Om, Wpair, W1, W2


def run(L, tf, cpl, gs, nlev=4):
    b1, b2, par, mode = bodies("A", L, cpl)
    xs = 0
    s1g, s2g = bidx(b1["sig"]), bidx(b2["sig"])
    Om, Wpair, W1, W2 = held_weights(L, tf, b1, b2, gs, xs)
    # relative level f_nu (band contract, P = 0) and the pair weight W_nu(X), (6.11)
    bd = band_data(L, tf, b1, b2, cpl, par, mode)
    rsg = [((r + L // 2) % L) - L // 2 for r in bd["rs"]]  # signed separations
    Wnu = np.array([sum(bd["f"][k] ** 2 * Wpair[(X - r // 2) % L, (X + r // 2) % L] for k, r in enumerate(rsg))
                    for X in range(L)])
    # exact bound band: levels E_b(P_k) and P-dependent sector eigenvectors v_P
    blk = pair_block(L, tf, b1, b2, cpl, par)
    Ps = 2 * np.pi * np.arange(L) / L
    sts = [sector_state(blk, mode, P) for P in Ps]
    Eb = np.array([s[0] for s in sts]); Vb = np.array([s[1] for s in sts]).T
    # (i) projected contract: <P',v'|Phi_xs|P,v> = (1/L) sum_x e^{i(P-P')x} <v'|Phi_{xs-x}|v>_frame
    yof = np.tile(np.arange(L), Vb.shape[0] // L)
    Wp = np.zeros((L, L), complex)
    for x in range(L):
        sel = yof == (xs - x) % L
        rho = Vb[sel].conj().T @ Vb[sel]
        Wp += np.exp(1j * (Ps[None, :] - Ps[:, None]) * x) * rho
    Wp *= gs / L
    assert np.abs(Wp - Wp.conj().T).max() < 1e-12
    Eproj = np.linalg.eigvalsh(np.diag(Eb) + Wp)[:nlev]
    # (ii), (iii) frozen-profile descriptions
    F = np.exp(1j * np.outer(np.arange(L), Ps)) / np.sqrt(L)  # <X|P_k>
    _, Epp, _, _ = curvature(bd["H0"] + bd["V2"], bd["B1"], bd["U0"][:, bd["gi"]], mode)
    d1, d2 = body_data(L, tf, b1, cpl), body_data(L, tf, b2, cpl)
    mu = d1["mu"] + d2["mu"]
    s_free = 1 / (mu * Epp)  # rescales the band curvature to 1/(mu_1 + mu_2)
    model = lambda Eband: np.linalg.eigvalsh(F @ np.diag(Eband) @ F.conj().T + np.diag(Wnu))[:nlev]
    Em = model(Eb)
    Ealt = model(Eb[0] + s_free * (Eb - Eb[0]))
    # exact contract with the source, levels near the bottom of the bound band, filtered by G-weight
    H, states, pos, ix = full_contract(L, tf, b1, b2, cpl, gs, xs, par)
    target = Em[0] - 0.3 * (Em[1] - Em[0])
    w, v = sla.eigsh(H, k=3 * nlev, sigma=target, which="LM")
    Gw = np.zeros(len(w))
    for (j, l), o in Om.items():
        if (l - j) % 2 != par:
            continue
        idx = [pos[ix(j, s1g, l, s2g, y)] for y in range(L)]
        Gw += np.abs(o @ v[idx, :]) ** 2
    ex = np.sort(w[Gw > 0.5])[:nlev]
    X = L // 4
    dWnu = (Wnu[X + 1] - Wnu[X - 1]) / 2
    dW1, dW2 = (W1[X + 1] - W1[X - 1]) / 2, (W2[X + 1] - W2[X - 1]) / 2
    return dict(L=L, coupling=cpl, g_s=gs, exact_levels=ex.tolist(), proj_levels=Eproj.tolist(),
                model_levels=Em.tolist(), alt_levels=Ealt.tolist(), exact_spacings=np.diff(ex).tolist(),
                proj_spacings=np.diff(Eproj).tolist(), model_spacings=np.diff(Em).tolist(),
                alt_spacings=np.diff(Ealt).tolist(), beta=float(bd["b"].sum()), s_free=float(s_free),
                max_abs_dev_proj=float(np.max(np.abs(ex - Eproj))), max_abs_dev_model=float(np.max(np.abs(ex - Em))),
                G_weights=np.sort(Gw)[::-1][:nlev].tolist(),
                dWnu_over_dW1_plus_dW2=float(dWnu / (dW1 + dW2)), Epp_times_mu_sum=float(Epp * mu),
                Pi_pair_over_weighted_single=float(Epp * dWnu * mu / (dW1 + dW2)))


def accel_test(name, L, tf, cpl, gs, widths=(1.0, 1.5, 2.0), wscales=(1.0, 0.05)):
    """Acceleration from rest (6.13) in the position-space band contract with first-order held weights.
    wscale < 1 scales the couplings g_i inside the held weights only (band contract and f_nu unchanged), to
    isolate the first order in g_i of the weights, on which the last step of (6.13) rests."""
    b1, b2, par, mode = bodies(name, L, cpl)
    bd = band_data(L, tf, b1, b2, cpl, par, mode)
    rs = list(bd["rs"]); nr = len(rs); idx = {r: k for k, r in enumerate(rs)}
    K1, K2, Ea, f = bd["K1"], bd["K2"], bd["Ea"], bd["f"]
    I = lambda j, r: (j % L) * nr + idx[r % L]
    N = L * nr
    H = np.zeros((N, N))
    for j in range(L):
        for k, r in enumerate(rs):
            a = I(j, r)
            H[a, a] += Ea[k] + K1[k, k] + K2[k, k]
            H[I(j + 2, r - 2), a] += K1[idx[(r - 2) % L], k]   # body 1 by +2
            H[I(j - 2, r + 2), a] += K1[idx[(r + 2) % L], k]   # body 1 by -2
            H[I(j, r + 2), a] += K2[idx[(r + 2) % L], k]       # body 2 by +2
            H[I(j, r - 2), a] += K2[idx[(r - 2) % L], k]       # body 2 by -2
    assert np.abs(H - H.T).max() < 1e-15
    H -= np.mean(np.diag(H)) * np.eye(N)  # a constant does not enter the commutators; reduces round-off
    data = {}
    for ws in wscales:
        b1w, b2w = dict(b1, gam=b1["gam"] * ws), dict(b2, gam=b2["gam"] * ws)
        data[ws] = held_weights(L, tf, b1w, b2w, gs)[1:]
    # theta'(r): theta'(r+2) - theta'(r) = (k1 - k2)/(k1 + k2) at rho = r + 1, theta' odd (even class)
    k1, k2 = bd["k1"], bd["k2"]
    step = {(rs[j] + 1) % L: (k1[j] - k2[j]) / (k1[j] + k2[j]) for j in range(nr)}
    sgn = lambda r: ((r + L // 2) % L) - L // 2
    th = {0: 0.0}
    for r in range(2, L // 2 + 1, 2):
        th[r] = th[r - 2] + step[(r - 1) % L]
        th[-r] = th[-r + 2] - step[(-r + 1) % L]
    x0 = L // 4
    Xu = np.zeros(N); Y = np.zeros(N); Fr = np.zeros(N); Rs = np.zeros(N)
    for j in range(L):
        for k, r in enumerate(rs):
            rsn = sgn(r)
            Xc = j + rsn / 2
            Xc = x0 + ((Xc - x0 + L / 2) % L) - L / 2
            a = I(j, r)
            Xu[a], Y[a], Fr[a], Rs[a] = Xc, Xc + th[rsn], f[k], rsn
    rsg = [sgn(r) for r in rs]
    Xg = np.arange(x0 - L // 2 + 2, x0 + L // 2 - 1)
    beta, Eline = bd["b"].sum(), np.sum(bd["b"] / bd["m"])
    d1, d2 = body_data(L, tf, b1, cpl), body_data(L, tf, b2, cpl)
    out = []
    for ws, (Wpair, W1, W2) in data.items():
        Wb = np.array([Wpair[j, (j + r) % L] for j in range(L) for r in rs])
        Wnu = lambda X: sum(f[k] ** 2 * Wpair[int(X - rr // 2) % L, int(X + rr // 2) % L] for k, rr in enumerate(rsg))
        dWnu = np.array([(Wnu(X + 1) - Wnu(X - 1)) / 2 for X in Xg])
        dW1 = np.array([(W1[(X + 1) % L] - W1[(X - 1) % L]) / 2 for X in Xg])
        dW2 = np.array([(W2[(X + 1) % L] - W2[(X - 1) % L]) / 2 for X in Xg])
        for wd in widths:
            psi = np.exp(-(Y - x0) ** 2 / (4 * wd ** 2)) * Fr
            psi /= np.linalg.norm(psi)
            acc = lambda Ht, Z: -psi @ (Ht @ Ht @ (Z * psi) - 2 * Ht @ (Z * (Ht @ psi)) + Z * (Ht @ Ht @ psi))
            Ht = H + np.diag(Wb)
            # a is linear in W exactly ([W,[W,Z]] = 0 for diagonal W, Z): a = a(g_s=0) + first order in g_s
            aY, a0, amid, am0 = acc(Ht, Y - x0), acc(H, Y - x0), acc(Ht, Xu - x0), acc(H, Xu - x0)
            # the g_s-independent part with the relative profile cut away from the relative cut r = L/2
            psi_c = np.exp(-(Y - x0) ** 2 / (4 * wd ** 2)) * Fr * (np.abs(Rs) < L // 3)
            psi_c /= np.linalg.norm(psi_c)
            a0cut = -psi_c @ (H @ H @ ((Y - x0) * psi_c) - 2 * H @ ((Y - x0) * (H @ psi_c)) + (Y - x0) * (H @ H @ psi_c))
            p2 = psi ** 2
            predY = -Eline * np.sum(p2 * np.interp(Y, Xg, dWnu))
            predmid = -0.5 * beta * np.sum(p2 * (np.interp(Xu, Xg, dW1) / d1["mu"] + np.interp(Xu, Xg, dW2) / d2["mu"]))
            pred1 = -np.sum(p2 * np.interp(Y, Xg, dW1)) / d1["mu"]  # body 1 alone at the centre, leading form of (7.7)
            out.append(dict(set=name, L=L, coupling=cpl, weight_scale=ws, width=wd, beta=float(beta), a_Y=float(aY),
                            a_Y_gs0=float(a0), a_Y_gs0_profile_cut=float(a0cut), pred_Y=float(predY), ratio_Y=float((aY - a0) / predY), a_mid=float(amid),
                            a_mid_gs0=float(am0), pred_mid=float(predmid), ratio_mid=float((amid - am0) / predmid),
                            aY_over_amid=float((aY - a0) / (amid - am0)), pred_single1=float(pred1),
                            aY_over_single1=float((aY - a0) / pred1),
                            pred_ratio=float(predY / predmid)))
    return out


def weight_ratio_scaling(L, tf, cpl, gs, scales=(1.0, 0.3, 0.1, 0.03)):
    """dW_nu/(dW_1+dW_2) at X = L/4 with the relative profile f_nu of set A kept fixed and the
    couplings gamma_i scaled: tends to 1 as the couplings go to zero (first order in g_i)."""
    b1, b2, par, mode = bodies("A", L, cpl)
    bd = band_data(L, tf, b1, b2, cpl, par, mode)
    rsg = [((r + L // 2) % L) - L // 2 for r in bd["rs"]]
    hf, X, out = field_hop(L, tf), L // 4, []
    for sc in scales:
        g1 = sc * b1["sig"] * b1["gam"] * b1["M"]; g2 = sc * b2["sig"] * b2["gam"] * b2["M"]
        def w(pots):
            h = hf.copy()
            for x, g in pots:
                h[x % L, x % L] += g
            return gs * ground(h)[1][0] ** 2
        Wnu = lambda Y: sum(bd["f"][k] ** 2 * w([(Y - r // 2, g1), (Y + r // 2, g2)]) for k, r in enumerate(rsg))
        dWnu = Wnu(X + 1) - Wnu(X - 1)
        dWs = w([(X + 1, g1)]) - w([(X - 1, g1)]) + w([(X + 1, g2)]) - w([(X - 1, g2)])
        out.append(dict(scale=sc, ratio=float(dWnu / dWs)))
    return out


if __name__ == "__main__":
    OUT.mkdir(exist_ok=True)
    res = [run(L, 1.0, cpl, -0.01) for L in (16, 20) for cpl in ("a", "c")]
    res.append(run(16, 1.0, "a", -0.005))
    lines = []
    for r in res:
        lines.append(f"L={r['L']} coupling={r['coupling']} g_s={r['g_s']} beta={r['beta']:.5f} "
                     f"E''(mu1+mu2)={r['Epp_times_mu_sum']:.5f} s_free={r['s_free']:.5f}")
        lines.append("  exact     spacings " + " ".join(f"{x:.6e}" for x in r["exact_spacings"]))
        lines.append("  projected spacings " + " ".join(f"{x:.6e}" for x in r["proj_spacings"]))
        lines.append("  frozen    spacings " + " ".join(f"{x:.6e}" for x in r["model_spacings"]))
        lines.append("  alt       spacings " + " ".join(f"{x:.6e}" for x in r["alt_spacings"]))
        lines.append(f"  max |exact - projected| level = {r['max_abs_dev_proj']:.3e}   max |exact - frozen| level = "
                     f"{r['max_abs_dev_model']:.3e}   G-weights {np.round(r['G_weights'], 4).tolist()}")
        lines.append(f"  dW_nu/(dW_1+dW_2) = {r['dWnu_over_dW1_plus_dW2']:.5f}   "
                     f"Pi_pair / inertia-weighted Pi_i = {r['Pi_pair_over_weighted_single']:.5f}")
    sc = weight_ratio_scaling(16, 1.0, "a", -0.01)
    lines.append("dW_nu/(dW_1+dW_2) at X=L/4, L=16, f_nu of set A fixed, couplings scaled: "
                 + "  ".join(f"scale={x['scale']}: {x['ratio']:.5f}" for x in sc))
    acc = []
    for cpl in ("a", "c"):
        acc += accel_test("A", 24, 1.0, cpl, -0.01)
        acc += accel_test("D", 24, 1.0, cpl, -0.01, wscales=(1.0, 0.3, 0.1))
    lines.append("acceleration from rest (6.13), position-space band contract, L=24, g_s=-0.01, envelope centre L/4; "
                 "ratios use the first-order part a - a(g_s=0):")
    lines += [f"  set={x['set']} coupling={x['coupling']} weight_scale={x['weight_scale']} w={x['width']} beta={x['beta']:.4f}: a_Y={x['a_Y']:.6e} "
              f"(g_s=0: {x['a_Y_gs0']:.1e}, profile cut at |r|<L/3: {x['a_Y_gs0_profile_cut']:.1e}) pred_Y={x['pred_Y']:.6e} ratio={x['ratio_Y']:.5f} | a_mid={x['a_mid']:.6e} (g_s=0: {x['a_mid_gs0']:.1e}) "
              f"pred_mid={x['pred_mid']:.6e} ratio={x['ratio_mid']:.5f} | a_Y/a_mid={x['aY_over_amid']:.4f} (pred {x['pred_ratio']:.4f}) "
              f"| a_Y/(body 1 alone)={x['aY_over_single1']:.5f}" for x in acc]
    txt = "\n".join(lines)
    print(txt)
    (OUT / "weight_check.txt").write_text(txt + "\n")
    (OUT / "weight_check.json").write_text(json.dumps(dict(cases=res, weight_ratio_scaling=sc, acceleration=acc),
                                                      indent=1))
output/inertia_check.json23 KB · raw
{
 "cases": [
  {
   "L": 12,
   "coupling": "a",
   "parity": 0,
   "level": "low",
   "Gweight": 0.9997316819577194,
   "Eb0": 5.032130258807638,
   "inv_Epp_exact": 227.88034635627238,
   "inv_Epp_fd": 227.88103245814798,
   "inv_Epp_band_ring": 227.68333688928885,
   "inv_Epp_66": 254.73597240748586,
   "inv_Epp_66_plus_ring": 227.68286354416537,
   "ring_term_rel": 0.1188192578141604,
   "ring_bound": 0.9808126137362798,
   "f_antipode_sq": 0.009404815932082767,
   "f_min_sign": 0.039979224454637446,
   "xbar": 0.0035105236872150936,
   "A_rel": 0.0024605540190666096,
   "rel_dev_expanded_vs_unexpanded": 9.078565181841469e-07,
   "beta": 0.6931167961104955,
   "mu1": 75.90797762064429,
   "mu2": 101.11651860685852,
   "mu_sum": 177.02449622750282,
   "mubar_sum": 176.9974531366118,
   "mu_over_beta": 255.40355856458265,
   "rel_dev_band_ring_vs_exact": -0.0008645303122171155,
   "rel_dev_66ring_vs_exact": -0.000866607477409409,
   "rel_dev_mu_over_beta_vs_exact": 0.12077922755690373,
   "D_exact": 50.85585012876956,
   "D_lat": 78.37906233707983,
   "D_mark_formula": -0.4331611470836669,
   "D_lat_plus_mark": 77.94590118999616,
   "sigR_over_c2_mu": [
    0.9958662424874407,
    0.995076547674216
   ],
   "kappa_bar": [
    -0.0016470235800856714,
    -0.0012363632592047313
   ],
   "chi": 2.184930552554794,
   "participation": 1.8287817977065406,
   "dE_cost": -0.0035351408812820395,
   "D_over_dE_times_c1sq": -575.4322312645871,
   "D_over_dE_times_c2sq": -575.4322312645871,
   "c1_over_c2": 1.0,
   "set": "A"
  },
  {
   "L": 12,
   "coupling": "c",
   "parity": 0,
   "level": "low",
   "Gweight": 0.9997324807786545,
   "Eb0": 5.032141425759506,
   "inv_Epp_exact": 224.10173397828655,
   "inv_Epp_fd": 224.10245195901547,
   "inv_Epp_band_ring": 223.920139487725,
   "inv_Epp_66": 251.3991586574038,
   "inv_Epp_66_plus_ring": 223.91961437392763,
   "ring_term_rel": 0.12272057702630529,
   "ring_bound": 1.0186824641782994,
   "f_antipode_sq": 0.00964337861809531,
   "f_min_sign": 0.040868789518899766,
   "xbar": 0.0011114014300603102,
   "A_rel": 0.0003838698873937645,
   "rel_dev_expanded_vs_unexpanded": 3.189812969317529e-08,
   "beta": 0.695604258480415,
   "mu1": 75.05362331484615,
   "mu2": 99.90636169598957,
   "mu_sum": 174.95998501083574,
   "mubar_sum": 174.94148568705867,
   "mu_over_beta": 251.52230291551876,
   "rel_dev_band_ring_vs_exact": -0.0008103216665834578,
   "rel_dev_66ring_vs_exact": -0.000812664860400214,
   "rel_dev_mu_over_beta_vs_exact": 0.12235768305072114,
   "D_exact": 49.14174896745081,
   "D_lat": 76.56231790468301,
   "D_mark_formula": 0.4241443608803279,
   "D_lat_plus_mark": 76.98646226556335,
   "sigR_over_c2_mu": [
    0.992262683825309,
    0.9921911438560855
   ],
   "kappa_bar": [
    -0.001665669539724246,
    -0.0012512939867173056
   ],
   "chi": 2.1597801765061724,
   "participation": 1.8384579530924205,
   "dE_cost": -0.003517699839404642,
   "D_over_dE_times_c1sq": -567.2074560379125,
   "D_over_dE_times_c2sq": -567.2074560379124,
   "c1_over_c2": 1.0,
   "set": "A"
  },
  {
   "L": 16,
   "coupling": "a",
   "parity": 0,
   "level": "low",
   "Gweight": 0.999816460689819,
   "Eb0": 5.021690174053908,
   "inv_Epp_exact": 215.78794724004405,
   "inv_Epp_fd": 215.78839565514255,
   "inv_Epp_band_ring": 215.58880206559022,
   "inv_Epp_66": 222.40514677342813,
   "inv_Epp_66_plus_ring": 215.58854245215807,
   "ring_term_rel": 0.031618583454094074,
   "ring_bound": 0.34016364923024084,
   "f_antipode_sq": 0.0015195557213104338,
   "f_min_sign": 0.017161475859693447,
   "xbar": 0.004462721367192696,
   "A_rel": 0.0025283173124628125,
   "rel_dev_expanded_vs_unexpanded": 4.190486790900394e-07,
   "beta": 0.7921296817355397,
   "mu1": 75.74297186313493,
   "mu2": 100.93194516097614,
   "mu_sum": 176.67491702411107,
   "mubar_sum": 176.62034422939382,
   "mu_over_beta": 223.03787005811978,
   "rel_dev_band_ring_vs_exact": -0.0009228744098126462,
   "rel_dev_66ring_vs_exact": -0.0009240775049598193,
   "rel_dev_mu_over_beta_vs_exact": 0.03359744096370165,
   "D_exact": 39.11303021593298,
   "D_lat": 46.36295303400871,
   "D_mark_formula": -0.44008065182471917,
   "D_lat_plus_mark": 45.92287238218399,
   "sigR_over_c2_mu": [
    0.9963290444466392,
    0.9955768224724135
   ],
   "kappa_bar": [
    -0.001650903997612696,
    -0.0012387981478858556
   ],
   "chi": 1.635116618285519,
   "participation": 2.405236029312165,
   "dE_cost": -0.0031284618691498345,
   "D_over_dE_times_c1sq": -500.09278491301575,
   "D_over_dE_times_c2sq": -500.09278491301575,
   "c1_over_c2": 1.0,
   "set": "A"
  },
  {
   "L": 16,
   "coupling": "c",
   "parity": 0,
   "level": "low",
   "Gweight": 0.9998168451602699,
   "Eb0": 5.021694274858103,
   "inv_Epp_exact": 214.05695920550502,
   "inv_Epp_fd": 214.0572254429485,
   "inv_Epp_band_ring": 213.86664947779872,
   "inv_Epp_66": 220.8300593576946,
   "inv_Epp_66_plus_ring": 213.86630343859878,
   "ring_term_rel": 0.03256125816517497,
   "ring_bound": 0.35201156982691256,
   "f_antipode_sq": 0.0015545808410276074,
   "f_min_sign": 0.0174663664430202,
   "xbar": 0.002258554947529397,
   "A_rel": 0.0006861607944889626,
   "rel_dev_expanded_vs_unexpanded": 3.2944864836181864e-08,
   "beta": 0.7930879230699923,
   "mu1": 75.18830684938202,
   "mu2": 100.1151344871178,
   "mu_sum": 175.30344133649982,
   "mubar_sum": 175.25791400681888,
   "mu_over_beta": 221.0391007568385,
   "rel_dev_band_ring_vs_exact": -0.0008890611564915663,
   "rel_dev_66ring_vs_exact": -0.0008906777318238301,
   "rel_dev_mu_over_beta_vs_exact": 0.0326181478857237,
   "D_exact": 38.75351786900521,
   "D_lat": 45.73565942033869,
   "D_mark_formula": 0.434105855747679,
   "D_lat_plus_mark": 46.16976527608637,
   "sigR_over_c2_mu": [
    0.9924821484649453,
    0.9925023929643857
   ],
   "kappa_bar": [
    -0.0016629753064722474,
    -0.0012488581181236968
   ],
   "chi": 1.6226889766730588,
   "participation": 2.4121622253139603,
   "dE_cost": -0.0031201600140247088,
   "D_over_dE_times_c1sq": -502.4193753448632,
   "D_over_dE_times_c2sq": -502.41937534486317,
   "c1_over_c2": 1.0,
   "set": "A"
  },
  {
   "L": 12,
   "coupling": "a",
   "parity": 1,
   "level": "high",
   "Gweight": 0.9995810729459771,
   "Eb0": -6.505490483064844,
   "inv_Epp_exact": -182.8285720672684,
   "inv_Epp_fd": -182.828833832808,
   "inv_Epp_band_ring": -182.62016848331885,
   "inv_Epp_66": -193.47000047554596,
   "inv_Epp_66_plus_ring": -182.62000873150404,
   "ring_term_rel": 0.05941294067066898,
   "ring_bound": 0.3396967971162208,
   "f_antipode_sq": 0.00428455292007275,
   "f_min_sign": 0.06545649639319215,
   "xbar": 0.004139870503491586,
   "A_rel": 0.0028543877557694716,
   "rel_dev_expanded_vs_unexpanded": 2.7145318475252367e-06,
   "beta": 0.771790767958779,
   "mu1": -99.85857185583683,
   "mu2": -49.87389009551999,
   "mu_sum": -149.7324619513568,
   "mubar_sum": -149.746199291181,
   "mu_over_beta": -194.00654706892524,
   "rel_dev_band_ring_vs_exact": -0.0011398852028055018,
   "rel_dev_66ring_vs_exact": -0.001140758982067669,
   "rel_dev_mu_over_beta_vs_exact": 0.06113910356169128,
   "D_exact": -33.096110115911586,
   "D_lat": -44.274085117568426,
   "D_mark_formula": 0.48190240011250873,
   "D_lat_plus_mark": -43.792182717455916,
   "sigR_over_c2_mu": [
    0.9864888378890703,
    0.9901237633012977
   ],
   "kappa_bar": [
    0.0012516859871103403,
    0.0025059693904114777
   ],
   "chi": 1.5523864610438092,
   "participation": 2.4559544957387773,
   "dE_cost": 0.003643342813780759,
   "D_over_dE_times_c1sq": -232.55028754434449,
   "D_over_dE_times_c2sq": -363.35982428803834,
   "c1_over_c2": 0.7999999999999999,
   "set": "B"
  },
  {
   "L": 12,
   "coupling": "c",
   "parity": 1,
   "level": "high",
   "Gweight": 0.9995800204607646,
   "Eb0": -6.505490360608185,
   "inv_Epp_exact": -182.0593171386413,
   "inv_Epp_fd": -182.05968997662993,
   "inv_Epp_band_ring": -181.86130870739612,
   "inv_Epp_66": -193.07892987459823,
   "inv_Epp_66_plus_ring": -181.8611116688006,
   "ring_term_rel": 0.06168343579812249,
   "ring_bound": 0.35498299161804003,
   "f_antipode_sq": 0.004223470531196089,
   "f_min_sign": 0.06498823379035129,
   "xbar": 0.0036124582379420908,
   "A_rel": 0.002170607295610881,
   "rel_dev_expanded_vs_unexpanded": 2.999124159019928e-06,
   "beta": 0.7706027801413127,
   "mu1": -97.67360233823084,
   "mu2": -50.76503752675799,
   "mu_sum": -148.43863986498883,
   "mubar_sum": -148.46534641516735,
   "mu_over_beta": -192.62666018122624,
   "rel_dev_band_ring_vs_exact": -0.001087603943358606,
   "rel_dev_66ring_vs_exact": -0.001088686220270585,
   "rel_dev_mu_over_beta_vs_exact": 0.05804340699870769,
   "D_exact": -33.62067727365246,
   "D_lat": -44.18802031623741,
   "D_mark_formula": -0.48341759585822763,
   "D_lat_plus_mark": -44.67143791209564,
   "sigR_over_c2_mu": [
    0.9919552316531385,
    0.995843585367303
   ],
   "kappa_bar": [
    0.0012796045392062805,
    0.0024616516119971843
   ],
   "chi": 1.5591911105730898,
   "participation": 2.4506167651486175,
   "dE_cost": 0.003657444962462897,
   "D_over_dE_times_c1sq": -239.2637318081684,
   "D_over_dE_times_c2sq": -359.1662626639685,
   "c1_over_c2": 0.8161888701517707,
   "set": "B"
  },
  {
   "L": 16,
   "coupling": "a",
   "parity": 1,
   "level": "high",
   "Gweight": 0.9995765501785667,
   "Eb0": -6.504825702831682,
   "inv_Epp_exact": -191.46218501500888,
   "inv_Epp_fd": -191.46244857052312,
   "inv_Epp_band_ring": -191.16537229626985,
   "inv_Epp_66": -192.3813854854839,
   "inv_Epp_66_plus_ring": -191.16523028819273,
   "ring_term_rel": 0.006361801230577977,
   "ring_bound": 0.036296997127152966,
   "f_antipode_sq": 0.00024578235330670025,
   "f_min_sign": 0.01567744728283693,
   "xbar": 0.005085536102915694,
   "A_rel": 0.003611402823343706,
   "rel_dev_expanded_vs_unexpanded": 3.0763747489448434e-06,
   "beta": 0.7769150844767718,
   "mu1": -99.95797709170733,
   "mu2": -49.998807187789545,
   "mu_sum": -149.95678427949687,
   "mubar_sum": -150.00619295223643,
   "mu_over_beta": -193.01566834744636,
   "rel_dev_band_ring_vs_exact": -0.0015502419901650688,
   "rel_dev_66ring_vs_exact": -0.0015509836931656418,
   "rel_dev_mu_over_beta_vs_exact": 0.008113786711019255,
   "D_exact": -41.50540073551201,
   "D_lat": -43.058884067949506,
   "D_mark_formula": 0.5789261124716636,
   "D_lat_plus_mark": -42.47995795547784,
   "sigR_over_c2_mu": [
    0.9836133378339756,
    0.9903135201746899
   ],
   "kappa_bar": [
    0.0012501676429936825,
    0.002499020254445816
   ],
   "chi": 1.166919375523403,
   "participation": 2.497592091002249,
   "dE_cost": 0.005099135048515446,
   "D_over_dE_times_c1sq": -208.37617531593972,
   "D_over_dE_times_c2sq": -325.58777393115594,
   "c1_over_c2": 0.7999999999999999,
   "set": "B"
  },
  {
   "L": 16,
   "coupling": "c",
   "parity": 1,
   "level": "high",
   "Gweight": 0.9995742688449692,
   "Eb0": -6.50482719249405,
   "inv_Epp_exact": -191.06117755426297,
   "inv_Epp_fd": -191.06128824473632,
   "inv_Epp_band_ring": -190.77335768128833,
   "inv_Epp_66": -192.02986899241878,
   "inv_Epp_66_plus_ring": -190.7732008995874,
   "ring_term_rel": 0.0065872359791918945,
   "ring_bound": 0.037863763170151506,
   "f_antipode_sq": 0.00024397355065193475,
   "f_min_sign": 0.01561965270585075,
   "xbar": 0.003469804652375568,
   "A_rel": 0.0025813066692880267,
   "rel_dev_expanded_vs_unexpanded": 1.333618675269932e-06,
   "beta": 0.776063229538808,
   "mu1": -98.0089247080907,
   "mu2": -50.56954923883919,
   "mu_sum": -148.57847394692988,
   "mubar_sum": -148.64382375019335,
   "mu_over_beta": -191.4515058717906,
   "rel_dev_band_ring_vs_exact": -0.001506427818874334,
   "rel_dev_66ring_vs_exact": -0.0015072484026420474,
   "rel_dev_mu_over_beta_vs_exact": 0.0020429493972775603,
   "D_exact": -42.48270360733309,
   "D_lat": -42.87303192486072,
   "D_mark_formula": -0.5798688326182984,
   "D_lat_plus_mark": -43.452900757479014,
   "sigR_over_c2_mu": [
    0.9907508565137257,
    0.9964990034084412
   ],
   "kappa_bar": [
    0.001274912757096569,
    0.002470458299554501
   ],
   "chi": 1.1681085622293226,
   "participation": 2.4932159287747515,
   "dE_cost": 0.0051087735018979785,
   "D_over_dE_times_c1sq": -215.54961475519963,
   "D_over_dE_times_c2sq": -326.8299826617234,
   "c1_over_c2": 0.8121059268600253,
   "set": "B"
  },
  {
   "L": 12,
   "coupling": "a",
   "parity": 0,
   "level": "high",
   "Gweight": 0.999441028217305,
   "Eb0": -8.004829921688092,
   "inv_Epp_exact": -291.92243076391554,
   "inv_Epp_fd": -291.92297289117437,
   "inv_Epp_band_ring": -291.32654809259213,
   "inv_Epp_66": -298.98684453780885,
   "inv_Epp_66_plus_ring": -291.32607894989405,
   "ring_term_rel": 0.026296188846287226,
   "ring_bound": 0.16912499801531325,
   "f_antipode_sq": 0.0024589036748804004,
   "f_min_sign": 0.016346770951948197,
   "xbar": 0.0016839081507299338,
   "A_rel": 0.0012263383967382343,
   "rel_dev_expanded_vs_unexpanded": 1.0803026939676386e-07,
   "beta": 0.5072300254724409,
   "mu1": -76.79743341906003,
   "mu2": -75.02748661720999,
   "mu_sum": -151.82492003627002,
   "mubar_sum": -151.84133000737918,
   "mu_over_beta": -299.32163399605184,
   "rel_dev_band_ring_vs_exact": -0.0020412363303639047,
   "rel_dev_66ring_vs_exact": -0.002042843410357209,
   "rel_dev_mu_over_beta_vs_exact": 0.02534647033725257,
   "D_exact": -140.09751072764553,
   "D_lat": -147.49671395978183,
   "D_mark_formula": 0.621176047339756,
   "D_lat_plus_mark": -146.87553791244207,
   "sigR_over_c2_mu": [
    0.9843322762545652,
    0.991713982526516
   ],
   "kappa_bar": [
    0.0016274751596887516,
    0.001665883874233165
   ],
   "chi": 1.8446212324337896,
   "participation": 1.3326934558410641,
   "dE_cost": 0.007639909099049547,
   "D_over_dE_times_c1sq": -733.5035478109266,
   "D_over_dE_times_c2sq": -733.5035478109266,
   "c1_over_c2": 1.0,
   "set": "D"
  },
  {
   "L": 12,
   "coupling": "c",
   "parity": 0,
   "level": "high",
   "Gweight": 0.9994368613499472,
   "Eb0": -8.004882542657977,
   "inv_Epp_exact": -284.5691598960427,
   "inv_Epp_fd": -284.569599967907,
   "inv_Epp_band_ring": -283.9864105321975,
   "inv_Epp_66": -291.96392504109565,
   "inv_Epp_66_plus_ring": -283.98600287855606,
   "ring_term_rel": 0.02809265978489524,
   "ring_bound": 0.18183359527865153,
   "f_antipode_sq": 0.0025868899016452855,
   "f_min_sign": 0.01705526651181208,
   "xbar": 0.0033119700150921866,
   "A_rel": 0.003073129173013092,
   "rel_dev_expanded_vs_unexpanded": 9.742024547065853e-07,
   "beta": 0.511624149424329,
   "mu1": -75.24322160289785,
   "mu2": -73.6482309208807,
   "mu_sum": -148.89145252377855,
   "mubar_sum": -148.9182951767022,
   "mu_over_beta": -291.01724907103926,
   "rel_dev_band_ring_vs_exact": -0.002047830355398128,
   "rel_dev_66ring_vs_exact": -0.002049262884634917,
   "rel_dev_mu_over_beta_vs_exact": 0.02265912854840657,
   "D_exact": -135.67770737226417,
   "D_lat": -142.1257965472607,
   "D_mark_formula": -0.6054680192909976,
   "D_lat_plus_mark": -142.73126456655172,
   "sigR_over_c2_mu": [
    0.9897623747988861,
    0.9953009204582145
   ],
   "kappa_bar": [
    0.0016609547166077654,
    0.0016969775483097749
   ],
   "chi": 1.8091490598155893,
   "participation": 1.3400822105788548,
   "dE_cost": 0.007599817892963934,
   "D_over_dE_times_c1sq": -724.862131138128,
   "D_over_dE_times_c2sq": -724.8621311381278,
   "c1_over_c2": 1.0000000000000002,
   "set": "D"
  },
  {
   "L": 16,
   "coupling": "a",
   "parity": 0,
   "level": "high",
   "Gweight": 0.9994856127455398,
   "Eb0": -8.00454418506912,
   "inv_Epp_exact": -268.30378849329685,
   "inv_Epp_fd": -268.30406434403926,
   "inv_Epp_band_ring": -267.55629681585026,
   "inv_Epp_66": -268.0765182290368,
   "inv_Epp_66_plus_ring": -267.55621727823103,
   "ring_term_rel": 0.0019446416013002954,
   "ring_bound": 0.014196799257840221,
   "f_antipode_sq": 0.00011550974137058684,
   "f_min_sign": 0.0034866134889048844,
   "xbar": 0.0016557554261508907,
   "A_rel": 0.00028000456990741785,
   "rel_dev_expanded_vs_unexpanded": 1.3206725713033052e-08,
   "beta": 0.5672998145851573,
   "mu1": -76.92712622831917,
   "mu2": -75.13930247767074,
   "mu_sum": -152.0664287059899,
   "mubar_sum": -152.1223560493217,
   "mu_over_beta": -268.05302028379776,
   "rel_dev_band_ring_vs_exact": -0.002785990021401785,
   "rel_dev_66ring_vs_exact": -0.002786286467529875,
   "rel_dev_mu_over_beta_vs_exact": -0.0009346428200188717,
   "D_exact": -116.23735978730696,
   "D_lat": -115.98659157780789,
   "D_mark_formula": 0.6629511836816173,
   "D_lat_plus_mark": -115.32364039412627,
   "sigR_over_c2_mu": [
    0.9809923557519429,
    0.9919585990594441
   ],
   "kappa_bar": [
    0.0016241755190924412,
    0.00166311357680482
   ],
   "chi": 1.3860204767771962,
   "participation": 1.451900849255391,
   "dE_cost": 0.008258284715316755,
   "D_over_dE_times_c1sq": -563.0096989594944,
   "D_over_dE_times_c2sq": -563.0096989594944,
   "c1_over_c2": 1.0,
   "set": "D"
  },
  {
   "L": 16,
   "coupling": "c",
   "parity": 0,
   "level": "high",
   "Gweight": 0.9994810896452992,
   "Eb0": -8.004580816490956,
   "inv_Epp_exact": -263.8443775070864,
   "inv_Epp_fd": -263.84467747806366,
   "inv_Epp_band_ring": -263.101051666476,
   "inv_Epp_66": -263.6569275780088,
   "inv_Epp_66_plus_ring": -263.10075921907395,
   "ring_term_rel": 0.00211389872300494,
   "ring_bound": 0.015516696920546282,
   "f_antipode_sq": 0.00012315703846460462,
   "f_min_sign": 0.003652812551268295,
   "xbar": 0.005352202819800602,
   "A_rel": 0.004985473902126727,
   "rel_dev_expanded_vs_unexpanded": 1.9106617163977546e-06,
   "beta": 0.5702370787831708,
   "mu1": -75.52084829502913,
   "mu2": -74.01155729696538,
   "mu_sum": -149.53240559199452,
   "mubar_sum": -149.60140952230824,
   "mu_over_beta": -262.22848558196495,
   "rel_dev_band_ring_vs_exact": -0.002817288917177807,
   "rel_dev_66ring_vs_exact": -0.0028183973258723016,
   "rel_dev_mu_over_beta_vs_exact": -0.006124412960355818,
   "D_exact": -114.31197191509187,
   "D_lat": -112.69607998997046,
   "D_mark_formula": -0.6514420267405332,
   "D_lat_plus_mark": -113.347522016711,
   "sigR_over_c2_mu": [
    0.9881119453239511,
    0.9958387934320369
   ],
   "kappa_bar": [
    0.001654224455900355,
    0.0016883382036072536
   ],
   "chi": 1.3631008492960248,
   "participation": 1.458347746751434,
   "dE_cost": 0.008232485525650368,
   "D_over_dE_times_c1sq": -561.6850373617414,
   "D_over_dE_times_c2sq": -561.6850373617413,
   "c1_over_c2": 1.0,
   "set": "D"
  }
 ],
 "mark_check": [
  {
   "scale": 1.0,
   "coupling": "a",
   "ratio_contact": 1.400643091214988,
   "ratio_all": [
    1.400643091215232,
    -1.0654491181891712,
    2.2191205421886404,
    2.2191205421886404,
    -1.0654491181879528,
    1.4006430912147445
   ]
  },
  {
   "scale": 0.3,
   "coupling": "a",
   "ratio_contact": 1.3096894943591075,
   "ratio_all": [
    1.3096894943595587,
    0.4419096256653923,
    1.479130018902239,
    1.4791300189123895,
    0.4419096256924606,
    1.3096894943586563
   ]
  },
  {
   "scale": 0.1,
   "coupling": "a",
   "ratio_contact": 1.1320744440622226,
   "ratio_all": [
    1.1320744440662829,
    0.8407940132672468,
    1.171640696741504,
    1.1716406967415038,
    0.8407940133078493,
    1.1320744440581623
   ]
  },
  {
   "scale": 0.03,
   "coupling": "a",
   "ratio_contact": 1.0430236745237598,
   "ratio_all": [
    1.043023674704215,
    0.9559654934885242,
    1.0527707309231507,
    1.0527707310359349,
    0.9559654894282803,
    1.0430236743433043
   ]
  },
  {
   "scale": 1.0,
   "coupling": "c",
   "ratio_contact": -0.19035094178430928,
   "ratio_all": [
    -0.19035094178455655,
    1.5883768060115475,
    -0.704848597606271,
    -0.704848597606271,
    1.5883768060107233,
    -0.19035094178406198
   ]
  },
  {
   "scale": 0.3,
   "coupling": "c",
   "ratio_contact": 0.4156587020246604,
   "ratio_all": [
    0.4156587020246603,
    0.9826982223941745,
    0.3572495600450063,
    0.35724956003479813,
    0.9826982223669528,
    0.41565870202466043
   ]
  },
  {
   "scale": 0.1,
   "coupling": "c",
   "ratio_contact": 0.7736068425396266,
   "ratio_all": [
    0.7736068425477715,
    0.9527029521821109,
    0.7719644806400368,
    0.7719644806298557,
    0.952702952141387,
    0.7736068425314818
   ]
  },
  {
   "scale": 0.03,
   "coupling": "c",
   "ratio_contact": 0.9284491467165781,
   "ratio_all": [
    0.928449146490545,
    0.9804793794027348,
    0.9301118790472036,
    0.9301118790472036,
    0.9804793843754607,
    0.928449146942611
   ]
  }
 ],
 "r1_gaps": [
  {
   "delta1": 2.0093948956940566,
   "delta": 0.22767970925219227,
   "field_gap": 0.26794919243112264,
   "G_width": 0.011467767370039184,
   "set": "A",
   "L": 12,
   "t_f": 1.0
  },
  {
   "delta1": 2.6255743391509867,
   "delta": 2.6255743391509867,
   "field_gap": 10.717967697244905,
   "G_width": 0.0004662311858822932,
   "set": "A",
   "L": 12,
   "t_f": 40.0
  },
  {
   "delta1": 1.9996153917738986,
   "delta": 0.12329213131151917,
   "field_gap": 0.15224093497742647,
   "G_width": 0.00985989972467749,
   "set": "A",
   "L": 16,
   "t_f": 1.0
  },
  {
   "delta1": 0.02417838132411987,
   "delta": 0.02417838132411987,
   "field_gap": 6.089637399097059,
   "G_width": 0.000464061919117853,
   "set": "A",
   "L": 16,
   "t_f": 40.0
  },
  {
   "delta1": 3.923793969574124,
   "delta": 0.228842419649963,
   "field_gap": 0.26794919243112264,
   "G_width": 0.011235284738974727,
   "set": "B",
   "L": 12,
   "t_f": 1.0
  },
  {
   "delta1": 3.952881536478415,
   "delta": 3.952881536478415,
   "field_gap": 10.717967697244905,
   "G_width": 0.0002915115450008443,
   "set": "B",
   "L": 12,
   "t_f": 40.0
  },
  {
   "delta1": 3.9294842268699854,
   "delta": 0.12335625243097326,
   "field_gap": 0.15224093497742647,
   "G_width": 0.012519759295922306,
   "set": "B",
   "L": 16,
   "t_f": 1.0
  },
  {
   "delta1": 3.964513119814299,
   "delta": 3.964513119814299,
   "field_gap": 6.089637399097059,
   "G_width": 0.0003278700262114853,
   "set": "B",
   "L": 16,
   "t_f": 40.0
  },
  {
   "delta1": 5.931465266486541,
   "delta": 0.2250676621861638,
   "field_gap": 0.26794919243112264,
   "G_width": 0.018142710513801674,
   "set": "D",
   "L": 12,
   "t_f": 1.0
  },
  {
   "delta1": 5.954532728947015,
   "delta": 5.954532728947015,
   "field_gap": 10.717967697244905,
   "G_width": 0.0004556237025212795,
   "set": "D",
   "L": 12,
   "t_f": 40.0
  },
  {
   "delta1": 5.9380388057013,
   "delta": 0.11868015548718969,
   "field_gap": 0.15224093497742647,
   "G_width": 0.01814271051380345,
   "set": "D",
   "L": 16,
   "t_f": 1.0
  },
  {
   "delta1": 5.965746421707351,
   "delta": 5.965746421707351,
   "field_gap": 6.089637399097059,
   "G_width": 0.0004556237024928578,
   "set": "D",
   "L": 16,
   "t_f": 40.0
  }
 ],
 "sign_rule": {
  "chi": 0.05,
  "R": 1.0,
  "c": 0.25,
  "sig": -1,
  "s_e": -1,
  "Q_minus_1": 63.0,
  "L_star_estimate": 553.1243916755296,
  "coupling_a": {
   "crossings": [
    564
   ]
  },
  "coupling_c": {
   "crossings": []
  }
 }
}
output/inertia_check.txt10 KB · raw
set=A  L=12  coupling=a  level=low  c1_over_c2=1  chi=2.18493  beta=0.693117  inv_Epp_exact=227.88  inv_Epp_fd=227.881  inv_Epp_band_ring=227.683  inv_Epp_66=254.736  inv_Epp_66_plus_ring=227.683  mu_sum=177.024  mu_over_beta=255.404  rel_dev_band_ring_vs_exact=-0.00086453  rel_dev_66ring_vs_exact=-0.000866607  rel_dev_mu_over_beta_vs_exact=0.120779  ring_term_rel=0.118819  ring_bound=0.980813  f_antipode_sq=0.00940482  f_min_sign=0.0399792  xbar=0.00351052  A_rel=0.00246055  rel_dev_expanded_vs_unexpanded=9.07857e-07  D_exact=50.8559  D_lat=78.3791  D_mark_formula=-0.433161  D_lat_plus_mark=77.9459  dE_cost=-0.00353514  D_over_dE_times_c1sq=-575.432  D_over_dE_times_c2sq=-575.432
set=A  L=12  coupling=c  level=low  c1_over_c2=1  chi=2.15978  beta=0.695604  inv_Epp_exact=224.102  inv_Epp_fd=224.102  inv_Epp_band_ring=223.92  inv_Epp_66=251.399  inv_Epp_66_plus_ring=223.92  mu_sum=174.96  mu_over_beta=251.522  rel_dev_band_ring_vs_exact=-0.000810322  rel_dev_66ring_vs_exact=-0.000812665  rel_dev_mu_over_beta_vs_exact=0.122358  ring_term_rel=0.122721  ring_bound=1.01868  f_antipode_sq=0.00964338  f_min_sign=0.0408688  xbar=0.0011114  A_rel=0.00038387  rel_dev_expanded_vs_unexpanded=3.18981e-08  D_exact=49.1417  D_lat=76.5623  D_mark_formula=0.424144  D_lat_plus_mark=76.9865  dE_cost=-0.0035177  D_over_dE_times_c1sq=-567.207  D_over_dE_times_c2sq=-567.207
set=A  L=16  coupling=a  level=low  c1_over_c2=1  chi=1.63512  beta=0.79213  inv_Epp_exact=215.788  inv_Epp_fd=215.788  inv_Epp_band_ring=215.589  inv_Epp_66=222.405  inv_Epp_66_plus_ring=215.589  mu_sum=176.675  mu_over_beta=223.038  rel_dev_band_ring_vs_exact=-0.000922874  rel_dev_66ring_vs_exact=-0.000924078  rel_dev_mu_over_beta_vs_exact=0.0335974  ring_term_rel=0.0316186  ring_bound=0.340164  f_antipode_sq=0.00151956  f_min_sign=0.0171615  xbar=0.00446272  A_rel=0.00252832  rel_dev_expanded_vs_unexpanded=4.19049e-07  D_exact=39.113  D_lat=46.363  D_mark_formula=-0.440081  D_lat_plus_mark=45.9229  dE_cost=-0.00312846  D_over_dE_times_c1sq=-500.093  D_over_dE_times_c2sq=-500.093
set=A  L=16  coupling=c  level=low  c1_over_c2=1  chi=1.62269  beta=0.793088  inv_Epp_exact=214.057  inv_Epp_fd=214.057  inv_Epp_band_ring=213.867  inv_Epp_66=220.83  inv_Epp_66_plus_ring=213.866  mu_sum=175.303  mu_over_beta=221.039  rel_dev_band_ring_vs_exact=-0.000889061  rel_dev_66ring_vs_exact=-0.000890678  rel_dev_mu_over_beta_vs_exact=0.0326181  ring_term_rel=0.0325613  ring_bound=0.352012  f_antipode_sq=0.00155458  f_min_sign=0.0174664  xbar=0.00225855  A_rel=0.000686161  rel_dev_expanded_vs_unexpanded=3.29449e-08  D_exact=38.7535  D_lat=45.7357  D_mark_formula=0.434106  D_lat_plus_mark=46.1698  dE_cost=-0.00312016  D_over_dE_times_c1sq=-502.419  D_over_dE_times_c2sq=-502.419
set=B  L=12  coupling=a  level=high  c1_over_c2=0.8  chi=1.55239  beta=0.771791  inv_Epp_exact=-182.829  inv_Epp_fd=-182.829  inv_Epp_band_ring=-182.62  inv_Epp_66=-193.47  inv_Epp_66_plus_ring=-182.62  mu_sum=-149.732  mu_over_beta=-194.007  rel_dev_band_ring_vs_exact=-0.00113989  rel_dev_66ring_vs_exact=-0.00114076  rel_dev_mu_over_beta_vs_exact=0.0611391  ring_term_rel=0.0594129  ring_bound=0.339697  f_antipode_sq=0.00428455  f_min_sign=0.0654565  xbar=0.00413987  A_rel=0.00285439  rel_dev_expanded_vs_unexpanded=2.71453e-06  D_exact=-33.0961  D_lat=-44.2741  D_mark_formula=0.481902  D_lat_plus_mark=-43.7922  dE_cost=0.00364334  D_over_dE_times_c1sq=-232.55  D_over_dE_times_c2sq=-363.36
set=B  L=12  coupling=c  level=high  c1_over_c2=0.816189  chi=1.55919  beta=0.770603  inv_Epp_exact=-182.059  inv_Epp_fd=-182.06  inv_Epp_band_ring=-181.861  inv_Epp_66=-193.079  inv_Epp_66_plus_ring=-181.861  mu_sum=-148.439  mu_over_beta=-192.627  rel_dev_band_ring_vs_exact=-0.0010876  rel_dev_66ring_vs_exact=-0.00108869  rel_dev_mu_over_beta_vs_exact=0.0580434  ring_term_rel=0.0616834  ring_bound=0.354983  f_antipode_sq=0.00422347  f_min_sign=0.0649882  xbar=0.00361246  A_rel=0.00217061  rel_dev_expanded_vs_unexpanded=2.99912e-06  D_exact=-33.6207  D_lat=-44.188  D_mark_formula=-0.483418  D_lat_plus_mark=-44.6714  dE_cost=0.00365744  D_over_dE_times_c1sq=-239.264  D_over_dE_times_c2sq=-359.166
set=B  L=16  coupling=a  level=high  c1_over_c2=0.8  chi=1.16692  beta=0.776915  inv_Epp_exact=-191.462  inv_Epp_fd=-191.462  inv_Epp_band_ring=-191.165  inv_Epp_66=-192.381  inv_Epp_66_plus_ring=-191.165  mu_sum=-149.957  mu_over_beta=-193.016  rel_dev_band_ring_vs_exact=-0.00155024  rel_dev_66ring_vs_exact=-0.00155098  rel_dev_mu_over_beta_vs_exact=0.00811379  ring_term_rel=0.0063618  ring_bound=0.036297  f_antipode_sq=0.000245782  f_min_sign=0.0156774  xbar=0.00508554  A_rel=0.0036114  rel_dev_expanded_vs_unexpanded=3.07637e-06  D_exact=-41.5054  D_lat=-43.0589  D_mark_formula=0.578926  D_lat_plus_mark=-42.48  dE_cost=0.00509914  D_over_dE_times_c1sq=-208.376  D_over_dE_times_c2sq=-325.588
set=B  L=16  coupling=c  level=high  c1_over_c2=0.812106  chi=1.16811  beta=0.776063  inv_Epp_exact=-191.061  inv_Epp_fd=-191.061  inv_Epp_band_ring=-190.773  inv_Epp_66=-192.03  inv_Epp_66_plus_ring=-190.773  mu_sum=-148.578  mu_over_beta=-191.452  rel_dev_band_ring_vs_exact=-0.00150643  rel_dev_66ring_vs_exact=-0.00150725  rel_dev_mu_over_beta_vs_exact=0.00204295  ring_term_rel=0.00658724  ring_bound=0.0378638  f_antipode_sq=0.000243974  f_min_sign=0.0156197  xbar=0.0034698  A_rel=0.00258131  rel_dev_expanded_vs_unexpanded=1.33362e-06  D_exact=-42.4827  D_lat=-42.873  D_mark_formula=-0.579869  D_lat_plus_mark=-43.4529  dE_cost=0.00510877  D_over_dE_times_c1sq=-215.55  D_over_dE_times_c2sq=-326.83
set=D  L=12  coupling=a  level=high  c1_over_c2=1  chi=1.84462  beta=0.50723  inv_Epp_exact=-291.922  inv_Epp_fd=-291.923  inv_Epp_band_ring=-291.327  inv_Epp_66=-298.987  inv_Epp_66_plus_ring=-291.326  mu_sum=-151.825  mu_over_beta=-299.322  rel_dev_band_ring_vs_exact=-0.00204124  rel_dev_66ring_vs_exact=-0.00204284  rel_dev_mu_over_beta_vs_exact=0.0253465  ring_term_rel=0.0262962  ring_bound=0.169125  f_antipode_sq=0.0024589  f_min_sign=0.0163468  xbar=0.00168391  A_rel=0.00122634  rel_dev_expanded_vs_unexpanded=1.0803e-07  D_exact=-140.098  D_lat=-147.497  D_mark_formula=0.621176  D_lat_plus_mark=-146.876  dE_cost=0.00763991  D_over_dE_times_c1sq=-733.504  D_over_dE_times_c2sq=-733.504
set=D  L=12  coupling=c  level=high  c1_over_c2=1  chi=1.80915  beta=0.511624  inv_Epp_exact=-284.569  inv_Epp_fd=-284.57  inv_Epp_band_ring=-283.986  inv_Epp_66=-291.964  inv_Epp_66_plus_ring=-283.986  mu_sum=-148.891  mu_over_beta=-291.017  rel_dev_band_ring_vs_exact=-0.00204783  rel_dev_66ring_vs_exact=-0.00204926  rel_dev_mu_over_beta_vs_exact=0.0226591  ring_term_rel=0.0280927  ring_bound=0.181834  f_antipode_sq=0.00258689  f_min_sign=0.0170553  xbar=0.00331197  A_rel=0.00307313  rel_dev_expanded_vs_unexpanded=9.74202e-07  D_exact=-135.678  D_lat=-142.126  D_mark_formula=-0.605468  D_lat_plus_mark=-142.731  dE_cost=0.00759982  D_over_dE_times_c1sq=-724.862  D_over_dE_times_c2sq=-724.862
set=D  L=16  coupling=a  level=high  c1_over_c2=1  chi=1.38602  beta=0.5673  inv_Epp_exact=-268.304  inv_Epp_fd=-268.304  inv_Epp_band_ring=-267.556  inv_Epp_66=-268.077  inv_Epp_66_plus_ring=-267.556  mu_sum=-152.066  mu_over_beta=-268.053  rel_dev_band_ring_vs_exact=-0.00278599  rel_dev_66ring_vs_exact=-0.00278629  rel_dev_mu_over_beta_vs_exact=-0.000934643  ring_term_rel=0.00194464  ring_bound=0.0141968  f_antipode_sq=0.00011551  f_min_sign=0.00348661  xbar=0.00165576  A_rel=0.000280005  rel_dev_expanded_vs_unexpanded=1.32067e-08  D_exact=-116.237  D_lat=-115.987  D_mark_formula=0.662951  D_lat_plus_mark=-115.324  dE_cost=0.00825828  D_over_dE_times_c1sq=-563.01  D_over_dE_times_c2sq=-563.01
set=D  L=16  coupling=c  level=high  c1_over_c2=1  chi=1.3631  beta=0.570237  inv_Epp_exact=-263.844  inv_Epp_fd=-263.845  inv_Epp_band_ring=-263.101  inv_Epp_66=-263.657  inv_Epp_66_plus_ring=-263.101  mu_sum=-149.532  mu_over_beta=-262.228  rel_dev_band_ring_vs_exact=-0.00281729  rel_dev_66ring_vs_exact=-0.0028184  rel_dev_mu_over_beta_vs_exact=-0.00612441  ring_term_rel=0.0021139  ring_bound=0.0155167  f_antipode_sq=0.000123157  f_min_sign=0.00365281  xbar=0.0053522  A_rel=0.00498547  rel_dev_expanded_vs_unexpanded=1.91066e-06  D_exact=-114.312  D_lat=-112.696  D_mark_formula=-0.651442  D_lat_plus_mark=-113.348  dE_cost=0.00823249  D_over_dE_times_c1sq=-561.685  D_over_dE_times_c2sq=-561.685
mark term check (set A, L=12): ratio of m(rho)-mubar_1-mubar_2 to the mark term of (6.7) at contact bonds
  coupling=a scale=1.0 ratio=1.4006
  coupling=a scale=0.3 ratio=1.3097
  coupling=a scale=0.1 ratio=1.1321
  coupling=a scale=0.03 ratio=1.0430
  coupling=c scale=1.0 ratio=-0.1904
  coupling=c scale=0.3 ratio=0.4157
  coupling=c scale=0.1 ratio=0.7736
  coupling=c scale=0.03 ratio=0.9284
R1 gaps from the held-sector spectra (N_f = 1): delta_1 (one motion term), delta (all other levels)
  set=A L=12 t_f=1.0: delta1=2.0094 delta=0.2277 field_gap=0.2679 width_of_G=0.0115
  set=A L=12 t_f=40.0: delta1=2.6256 delta=2.6256 field_gap=10.7180 width_of_G=0.0005
  set=A L=16 t_f=1.0: delta1=1.9996 delta=0.1233 field_gap=0.1522 width_of_G=0.0099
  set=A L=16 t_f=40.0: delta1=0.0242 delta=0.0242 field_gap=6.0896 width_of_G=0.0005
  set=B L=12 t_f=1.0: delta1=3.9238 delta=0.2288 field_gap=0.2679 width_of_G=0.0112
  set=B L=12 t_f=40.0: delta1=3.9529 delta=3.9529 field_gap=10.7180 width_of_G=0.0003
  set=B L=16 t_f=1.0: delta1=3.9295 delta=0.1234 field_gap=0.1522 width_of_G=0.0125
  set=B L=16 t_f=40.0: delta1=3.9645 delta=3.9645 field_gap=6.0896 width_of_G=0.0003
  set=D L=12 t_f=1.0: delta1=5.9315 delta=0.2251 field_gap=0.2679 width_of_G=0.0181
  set=D L=12 t_f=40.0: delta1=5.9545 delta=5.9545 field_gap=10.7180 width_of_G=0.0005
  set=D L=16 t_f=1.0: delta1=5.9380 delta=0.1187 field_gap=0.1522 width_of_G=0.0181
  set=D L=16 t_f=40.0: delta1=5.9657 delta=5.9657 field_gap=6.0896 width_of_G=0.0005
leading-order sign rule (6.17) on the line: chi=0.05 R=1.0 c=0.25 sigma_i=-1 s_e=-1 Q-1=63.0
  sign changes of D_0 - dE_0/c^2 in L in [100, 3000] (selected level): coupling (a): at [564]; coupling (c): at []
  estimate L*_0 = 2 4^(1/3) a_0 (Q-1) chi^(-1/3) = 553
output/weight_check.json26 KB · raw
{
 "cases": [
  {
   "L": 16,
   "coupling": "a",
   "g_s": -0.01,
   "exact_levels": [
    5.020932168593384,
    5.020932866817886,
    5.021348684865307,
    5.021348858838961
   ],
   "proj_levels": [
    5.020942073578656,
    5.020942775733207,
    5.021358225261265,
    5.02135841668269
   ],
   "model_levels": [
    5.020942215972731,
    5.020942284482317,
    5.021357976664915,
    5.021358196156728
   ],
   "alt_levels": [
    5.020956775622159,
    5.020956886631699,
    5.021438226426289,
    5.0214384977549305
   ],
   "exact_spacings": [
    6.98224502215794e-07,
    0.00041581804742119033,
    1.7397365414950627e-07
   ],
   "proj_spacings": [
    7.021545513907768e-07,
    0.00041544952805772084,
    1.9142142537731388e-07
   ],
   "model_spacings": [
    6.85095855601503e-08,
    0.00041569218259862595,
    2.1949181316927024e-07
   ],
   "alt_spacings": [
    1.1100953933862456e-07,
    0.00048133979459041853,
    2.7132864133250223e-07
   ],
   "beta": 0.7921296817355397,
   "s_free": 1.2213841719851786,
   "max_abs_dev_proj": 9.90891532115512e-06,
   "max_abs_dev_model": 1.004737934717781e-05,
   "G_weights": [
    0.9997602972025623,
    0.9997599923946242,
    0.9997345898016371,
    0.999733910501956
   ],
   "dWnu_over_dW1_plus_dW2": 0.8656428389973512,
   "Epp_times_mu_sum": 0.8187432119532452,
   "Pi_pair_over_weighted_single": 0.7087391984050172
  },
  {
   "L": 16,
   "coupling": "c",
   "g_s": -0.01,
   "exact_levels": [
    5.020936758755521,
    5.020937468626689,
    5.021355484542164,
    5.021355660772318
   ],
   "proj_levels": [
    5.0209466596758245,
    5.0209473734610075,
    5.021365021006884,
    5.021365214650723
   ],
   "model_levels": [
    5.020946839430358,
    5.020946908546306,
    5.021364797528869,
    5.0213650172984075
   ],
   "alt_levels": [
    5.020961372562528,
    5.020961484201111,
    5.021445461251086,
    5.021445732508501
   ],
   "exact_spacings": [
    7.098711680697534e-07,
    0.0004180159154749674,
    1.7623015402534747e-07
   ],
   "proj_spacings": [
    7.137851829597253e-07,
    0.00041764754587614306,
    1.9364383962994225e-07
   ],
   "model_spacings": [
    6.911594851999325e-08,
    0.0004178889825627863,
    2.197695385675047e-07
   ],
   "alt_spacings": [
    1.1163858282259298e-07,
    0.00048397704997515945,
    2.712574147523128e-07
   ],
   "beta": 0.7930879230699923,
   "s_free": 1.22106535715187,
   "max_abs_dev_proj": 9.904834318064104e-06,
   "max_abs_dev_model": 1.0080674836210335e-05,
   "G_weights": [
    0.9997605664185764,
    0.9997602581886568,
    0.9997346656817443,
    0.9997339976520354
   ],
   "dWnu_over_dW1_plus_dW2": 0.8658457536587141,
   "Epp_times_mu_sum": 0.8189569822310707,
   "Pi_pair_over_weighted_single": 0.7090904254939276
  },
  {
   "L": 20,
   "coupling": "a",
   "g_s": -0.01,
   "exact_levels": [
    5.015064543640122,
    5.0150647309652205,
    5.015384163929676,
    5.015384297038561
   ],
   "proj_levels": [
    5.015074750480585,
    5.0150749399968495,
    5.0153939129891025,
    5.015394050820109
   ],
   "model_levels": [
    5.015074865280838,
    5.015074871242767,
    5.015393773958746,
    5.015393802894462
   ],
   "alt_levels": [
    5.015084908535669,
    5.015084917893332,
    5.015436261412303,
    5.015436296959991
   ],
   "exact_spacings": [
    1.8732509854402224e-07,
    0.00031943296445557934,
    1.331088848033346e-07
   ],
   "proj_spacings": [
    1.8951626490348872e-07,
    0.00031897299225303044,
    1.378310061639354e-07
   ],
   "model_spacings": [
    5.96192872848178e-09,
    0.00031890271597934117,
    2.8935715157274444e-08
   ],
   "alt_spacings": [
    9.357663088849222e-09,
    0.00035134351897081473,
    3.554768834845845e-08
   ],
   "beta": 0.8502728307228149,
   "s_free": 1.162770654893976,
   "max_abs_dev_proj": 1.0209031628960474e-05,
   "max_abs_dev_model": 1.0321640716348668e-05,
   "G_weights": [
    0.9997905069459915,
    0.9997899420588183,
    0.9997873770113712,
    0.9997872814839027
   ],
   "dWnu_over_dW1_plus_dW2": 0.8424523396756401,
   "Epp_times_mu_sum": 0.8600148238959318,
   "Pi_pair_over_weighted_single": 0.7245215005468614
  },
  {
   "L": 20,
   "coupling": "c",
   "g_s": -0.01,
   "exact_levels": [
    5.015066482042653,
    5.015066671660874,
    5.015387038063861,
    5.015387172126256
   ],
   "proj_levels": [
    5.015076686759136,
    5.015076878576391,
    5.015396784087309,
    5.015396922846814
   ],
   "model_levels": [
    5.015076815707831,
    5.015076821692331,
    5.015396656002311,
    5.0153966849086755
   ],
   "alt_levels": [
    5.01508691828555,
    5.015086927689344,
    5.015439545800367,
    5.015439581318545
   ],
   "exact_spacings": [
    1.8961822068064293e-07,
    0.00032036640298738206,
    1.340623949630526e-07
   ],
   "proj_spacings": [
    1.9181725452455112e-07,
    0.0003199055109179838,
    1.3875950521935465e-07
   ],
   "model_spacings": [
    5.984500006661619e-09,
    0.00031983430998039353,
    2.8906364413217034e-08
   ],
   "alt_spacings": [
    9.403794187790027e-09,
    0.0003526181110231619,
    3.5518177732285494e-08
   ],
   "beta": 0.8507106790667391,
   "s_free": 1.1636984655194573,
   "max_abs_dev_proj": 1.0206915517230186e-05,
   "max_abs_dev_model": 1.0333665177775231e-05,
   "G_weights": [
    0.9997906520828698,
    0.9997900962887594,
    0.9997875322782714,
    0.9997874362655058
   ],
   "dWnu_over_dW1_plus_dW2": 0.8425858369962324,
   "Epp_times_mu_sum": 0.8593291386300962,
   "Pi_pair_over_weighted_single": 0.724058561527891
  },
  {
   "L": 16,
   "coupling": "a",
   "g_s": -0.005,
   "exact_levels": [
    5.021337220583934,
    5.021338354037674,
    5.021698984036591,
    5.021699076097222
   ],
   "proj_levels": [
    5.021339567263112,
    5.021340698334545,
    5.0217013006526505,
    5.021701399683514
   ],
   "model_levels": [
    5.021340034760037,
    5.021340172356756,
    5.021701270660474,
    5.021701466128361
   ],
   "alt_levels": [
    5.021345790940913,
    5.021345970406665,
    5.021778015067023,
    5.02177823154431
   ],
   "exact_spacings": [
    1.1334537397544864e-06,
    0.0003606299989167283,
    9.206063111832918e-08
   ],
   "proj_spacings": [
    1.1310714329582083e-06,
    0.0003606023181053075,
    9.903086350959711e-08
   ],
   "model_spacings": [
    1.3759671890767322e-07,
    0.0003610983037178883,
    1.954678872095883e-07
   ],
   "alt_spacings": [
    1.7946575248117824e-07,
    0.00043204466035717815,
    2.1647728765117336e-07
   ],
   "beta": 0.7921296817355397,
   "s_free": 1.2213841719851786,
   "max_abs_dev_proj": 2.3466791780890617e-06,
   "max_abs_dev_model": 2.8141761028166457e-06,
   "G_weights": [
    0.9998004132655554,
    0.9998001375439833,
    0.9997523563835987,
    0.9997521759539572
   ],
   "dWnu_over_dW1_plus_dW2": 0.8656428389973512,
   "Epp_times_mu_sum": 0.8187432119532452,
   "Pi_pair_over_weighted_single": 0.7087391984050172
  }
 ],
 "weight_ratio_scaling": [
  {
   "scale": 1.0,
   "ratio": 0.8656428389973512
  },
  {
   "scale": 0.3,
   "ratio": 0.9615780236142013
  },
  {
   "scale": 0.1,
   "ratio": 0.9884318366569272
  },
  {
   "scale": 0.03,
   "ratio": 0.9965462956127407
  }
 ],
 "acceleration": [
  {
   "set": "A",
   "L": 24,
   "coupling": "a",
   "weight_scale": 1.0,
   "width": 1.0,
   "beta": 0.8863837685722346,
   "a_Y": 3.0258391522884735e-07,
   "a_Y_gs0": -4.976387783504132e-10,
   "a_Y_gs0_profile_cut": 5.1285197978287716e-20,
   "pred_Y": 3.360821237111995e-07,
   "ratio_Y": 0.901808018410525,
   "a_mid": 3.1167392413506033e-07,
   "a_mid_gs0": 7.295291654345932e-10,
   "pred_mid": 4.208025480021763e-07,
   "ratio_mid": 0.7389318254983989,
   "aY_over_amid": 0.9747130320094819,
   "pred_single1": 5.363192635294993e-07,
   "aY_over_single1": 0.5651140554091384,
   "pred_ratio": 0.7986694123094078
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "a",
   "weight_scale": 1.0,
   "width": 1.5,
   "beta": 0.8863837685722346,
   "a_Y": 3.143013325027915e-07,
   "a_Y_gs0": -1.111299048110431e-09,
   "a_Y_gs0_profile_cut": -2.6956113494530293e-16,
   "pred_Y": 3.262162849351562e-07,
   "ratio_Y": 0.9668819311506729,
   "a_mid": 3.228797992347789e-07,
   "a_mid_gs0": 2.513027303125652e-10,
   "pred_mid": 4.132572589583875e-07,
   "ratio_mid": 0.7806965020230971,
   "aY_over_amid": 0.977634136377459,
   "pred_single1": 5.267777859269218e-07,
   "aY_over_single1": 0.598758413845982,
   "pred_ratio": 0.7893782332036524
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "a",
   "weight_scale": 1.0,
   "width": 2.0,
   "beta": 0.8863837685722346,
   "a_Y": 3.0686713868493164e-07,
   "a_Y_gs0": -1.7048870888173397e-09,
   "a_Y_gs0_profile_cut": -2.003300193393887e-11,
   "pred_Y": 3.116322828226816e-07,
   "ratio_Y": 0.9901799100490692,
   "a_mid": 3.148809250818547e-07,
   "a_mid_gs0": -3.5225854772672914e-10,
   "pred_mid": 4.0155280887408963e-07,
   "ratio_mid": 0.7850354341025804,
   "aY_over_amid": 0.978869109593298,
   "pred_single1": 5.118447453065485e-07,
   "aY_over_single1": 0.6028625449479653,
   "pred_ratio": 0.7760679938871916
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.05,
   "width": 1.0,
   "beta": 0.8863837685722346,
   "a_Y": 2.4377127078980983e-08,
   "a_Y_gs0": -4.976387783504132e-10,
   "a_Y_gs0_profile_cut": 5.1285197978287716e-20,
   "pred_Y": 2.8206504217155488e-08,
   "ratio_Y": 0.8818804934431508,
   "a_mid": 2.6188795443081262e-08,
   "a_mid_gs0": 7.295291654345932e-10,
   "pred_mid": 2.8885276285019297e-08,
   "ratio_mid": 0.8813925138341345,
   "aY_over_amid": 0.9770417413470998,
   "pred_single1": 3.666230376935173e-08,
   "aY_over_single1": 0.6784834366607845,
   "pred_ratio": 0.9765011052286234
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.05,
   "width": 1.5,
   "beta": 0.8863837685722346,
   "a_Y": 2.5431748106108768e-08,
   "a_Y_gs0": -1.111299048110431e-09,
   "a_Y_gs0_profile_cut": -2.6956113494530293e-16,
   "pred_Y": 2.8046592366584033e-08,
   "ratio_Y": 0.9463911625087037,
   "a_mid": 2.7336123222350798e-08,
   "a_mid_gs0": 2.513027303125652e-10,
   "pred_mid": 2.8839173750593462e-08,
   "ratio_mid": 0.9391677003742478,
   "aY_over_amid": 0.9799971597383009,
   "pred_single1": 3.6602631628476925e-08,
   "aY_over_single1": 0.7251677262890751,
   "pred_ratio": 0.9725171951573988
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.05,
   "width": 2.0,
   "beta": 0.8863837685722346,
   "a_Y": 2.5003078565733088e-08,
   "a_Y_gs0": -1.7048870888173397e-09,
   "a_Y_gs0_profile_cut": -2.003300193393887e-11,
   "pred_Y": 2.7527372194472523e-08,
   "ratio_Y": 0.9702330271798835,
   "a_mid": 2.68633621844512e-08,
   "a_mid_gs0": -3.5225854772672914e-10,
   "pred_mid": 2.8604628590782592e-08,
   "ratio_mid": 0.9514411503650061,
   "aY_over_amid": 0.9813469226874076,
   "pred_single1": 3.629077876076569e-08,
   "aY_over_single1": 0.7359435803407081,
   "pred_ratio": 0.9623397873217904
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 1.0,
   "width": 1.0,
   "beta": 0.6433061056860747,
   "a_Y": 6.639335982204787e-08,
   "a_Y_gs0": -1.3965110610586302e-11,
   "a_Y_gs0_profile_cut": -5.293955920339377e-21,
   "pred_Y": 3.2890293024234343e-08,
   "ratio_Y": 2.019055436317578,
   "a_mid": 6.43188232796771e-08,
   "a_mid_gs0": -1.441163154784288e-11,
   "pred_mid": 8.202623891360393e-08,
   "ratio_mid": 0.7843006794324123,
   "aY_over_amid": 1.0322397905887306,
   "pred_single1": 7.947692019330564e-07,
   "aY_over_single1": 0.08355548349274354,
   "pred_ratio": 0.40097282844916027
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 1.0,
   "width": 1.5,
   "beta": 0.6433061056860747,
   "a_Y": 7.255819507094864e-08,
   "a_Y_gs0": -1.2128077070947006e-11,
   "a_Y_gs0_profile_cut": -2.1499141451280395e-16,
   "pred_Y": 3.333758322018185e-08,
   "ratio_Y": 2.176832155730086,
   "a_mid": 7.029147141143195e-08,
   "a_mid_gs0": -1.2627354200920462e-11,
   "pred_mid": 9.845763896575353e-08,
   "ratio_mid": 0.7140542826756867,
   "aY_over_amid": 1.0322345982976249,
   "pred_single1": 8.362714372706789e-07,
   "aY_over_single1": 0.08677843091815475,
   "pred_ratio": 0.3385982395106757
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 1.0,
   "width": 2.0,
   "beta": 0.6433061056860747,
   "a_Y": 7.42599215606773e-08,
   "a_Y_gs0": -2.8247767479041738e-11,
   "a_Y_gs0_profile_cut": -1.8426953192490512e-11,
   "pred_Y": 3.3186377638789905e-08,
   "ratio_Y": 2.2385139510171967,
   "a_mid": 7.19101504516196e-08,
   "a_mid_gs0": -2.8752075594415058e-11,
   "pred_mid": 1.1879074891820747e-07,
   "ratio_mid": 0.6055934757743386,
   "aY_over_amid": 1.0326564170207297,
   "pred_single1": 8.846089354574853e-07,
   "aY_over_single1": 0.08397854277804394,
   "pred_ratio": 0.2793683678317421
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.3,
   "width": 1.0,
   "beta": 0.6433061056860747,
   "a_Y": 5.8352734824885584e-09,
   "a_Y_gs0": -1.3965110610586302e-11,
   "a_Y_gs0_profile_cut": -5.293955920339377e-21,
   "pred_Y": 2.9252954543107356e-09,
   "ratio_Y": 1.9995377166021526,
   "a_mid": 5.206000904863831e-09,
   "a_mid_gs0": -1.441163154784288e-11,
   "pred_mid": 1.0317653540293776e-08,
   "ratio_mid": 0.505968970175658,
   "aY_over_amid": 1.1204552422440743,
   "pred_single1": 2.362550434780888e-07,
   "aY_over_single1": 0.024758153337122835,
   "pred_ratio": 0.28352332658646756
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.3,
   "width": 1.5,
   "beta": 0.6433061056860747,
   "a_Y": 6.343590952899455e-09,
   "a_Y_gs0": -1.2128077070947006e-11,
   "a_Y_gs0_profile_cut": -2.1499141451280395e-16,
   "pred_Y": 2.919536544363092e-09,
   "ratio_Y": 2.1769616284617963,
   "a_mid": 5.668725237715142e-09,
   "a_mid_gs0": -1.2627354200920462e-11,
   "pred_mid": 1.154502532098494e-08,
   "ratio_mid": 0.4921039524780678,
   "aY_over_amid": 1.118698219683441,
   "pred_single1": 2.3856600788699185e-07,
   "aY_over_single1": 0.026641343778452675,
   "pred_ratio": 0.25288264539847866
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.3,
   "width": 2.0,
   "beta": 0.6433061056860747,
   "a_Y": 6.397805879107285e-09,
   "a_Y_gs0": -2.8247767479041738e-11,
   "a_Y_gs0_profile_cut": -1.8426953192490512e-11,
   "pred_Y": 2.861938639841885e-09,
   "ratio_Y": 2.2453499027293438,
   "a_mid": 5.712721348285214e-09,
   "a_mid_gs0": -2.8752075594415058e-11,
   "pred_mid": 1.2994757115432944e-08,
   "ratio_mid": 0.4418299913478869,
   "aY_over_amid": 1.1192342404406905,
   "pred_single1": 2.4000026856495843e-07,
   "aY_over_single1": 0.02677519356544825,
   "pred_ratio": 0.22023794784459383
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.1,
   "width": 1.0,
   "beta": 0.6433061056860747,
   "a_Y": 5.985289193498668e-10,
   "a_Y_gs0": -1.3965110610586302e-11,
   "a_Y_gs0_profile_cut": -5.293955920339377e-21,
   "pred_Y": 3.2353966645114007e-10,
   "ratio_Y": 1.8931033609535788,
   "a_mid": 3.8911991299314913e-10,
   "a_mid_gs0": -1.441163154784288e-11,
   "pred_mid": 7.619452940844295e-10,
   "ratio_mid": 0.5296069779207502,
   "aY_over_amid": 1.5178343260801364,
   "pred_single1": 7.49517625614754e-08,
   "aY_over_single1": 0.008171842916410215,
   "pred_ratio": 0.42462322290462146
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.1,
   "width": 1.5,
   "beta": 0.6433061056860747,
   "a_Y": 6.741435651822171e-10,
   "a_Y_gs0": -1.2128077070947006e-11,
   "a_Y_gs0_profile_cut": -2.1499141451280395e-16,
   "pred_Y": 3.225346614555935e-10,
   "ratio_Y": 2.12774540000145,
   "a_mid": 4.498680115976595e-10,
   "a_mid_gs0": -1.2627354200920462e-11,
   "pred_mid": 8.949570963904174e-10,
   "ratio_mid": 0.5167793715072352,
   "aY_over_amid": 1.4838454458201866,
   "pred_single1": 7.515846208131548e-08,
   "aY_over_single1": 0.009130996340913319,
   "pred_ratio": 0.36039119948481924
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "a",
   "weight_scale": 0.1,
   "width": 2.0,
   "beta": 0.6433061056860747,
   "a_Y": 6.732493479164856e-10,
   "a_Y_gs0": -2.8247767479041738e-11,
   "a_Y_gs0_profile_cut": -1.8426953192490512e-11,
   "pred_Y": 3.158158845835366e-10,
   "ratio_Y": 2.2212217612821625,
   "a_mid": 4.4594052030223034e-10,
   "a_mid_gs0": -2.8752075594415058e-11,
   "pred_mid": 1.0538084260379671e-09,
   "ratio_mid": 0.4504543559984241,
   "aY_over_amid": 1.4777924102028,
   "pred_single1": 7.496000243242317e-08,
   "aY_over_single1": 0.009358285654111747,
   "pred_ratio": 0.29969003547534573
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "c",
   "weight_scale": 1.0,
   "width": 1.0,
   "beta": 0.8866151231633188,
   "a_Y": 3.0353316622884105e-07,
   "a_Y_gs0": -5.352028842213227e-10,
   "a_Y_gs0_profile_cut": -4.7963240638274757e-20,
   "pred_Y": 3.3717270936397813e-07,
   "ratio_Y": 0.901817853783713,
   "a_mid": 3.126139535133695e-07,
   "a_mid_gs0": 7.231306274762578e-10,
   "pred_mid": 4.2262800614450153e-07,
   "ratio_mid": 0.7379795431239217,
   "aY_over_amid": 0.9749192563588422,
   "pred_single1": 5.383265018271934e-07,
   "aY_over_single1": 0.5648400516805143,
   "pred_ratio": 0.7978002036350965
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "c",
   "weight_scale": 1.0,
   "width": 1.5,
   "beta": 0.8866151231633188,
   "a_Y": 3.1527095015236947e-07,
   "a_Y_gs0": -1.1631025384149358e-09,
   "a_Y_gs0_profile_cut": -2.708642322689271e-16,
   "pred_Y": 3.272717560321597e-07,
   "ratio_Y": 0.9668846970701918,
   "a_mid": 3.238463458640912e-07,
   "a_mid_gs0": 2.341567424307549e-10,
   "pred_mid": 4.150499751095551e-07,
   "ratio_mid": 0.7796945151875769,
   "aY_over_amid": 0.977818708095147,
   "pred_single1": 5.287493456512323e-07,
   "aY_over_single1": 0.598457577854871,
   "pred_ratio": 0.7885116869258315
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "c",
   "weight_scale": 1.0,
   "width": 2.0,
   "beta": 0.8866151231633188,
   "a_Y": 3.0779715205392125e-07,
   "a_Y_gs0": -1.7679963646410788e-09,
   "a_Y_gs0_profile_cut": -2.0141996875090432e-11,
   "pred_Y": 3.1263610381337167e-07,
   "ratio_Y": 0.9901772208732408,
   "a_mid": 3.158101122056892e-07,
   "a_mid_gs0": -3.8082925601107145e-10,
   "pred_mid": 4.032949083206893e-07,
   "ratio_mid": 0.7840191753927964,
   "aY_over_amid": 0.9790449624758132,
   "pred_single1": 5.137607270074178e-07,
   "aY_over_single1": 0.6025473185187484,
   "pred_ratio": 0.7752046885867744
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.05,
   "width": 1.0,
   "beta": 0.8866151231633188,
   "a_Y": 2.441799543724064e-08,
   "a_Y_gs0": -5.352028842213227e-10,
   "a_Y_gs0_profile_cut": -4.7963240638274757e-20,
   "pred_Y": 2.829500952952336e-08,
   "ratio_Y": 0.881893971282303,
   "a_mid": 2.6257619627063656e-08,
   "a_mid_gs0": 7.231306274762578e-10,
   "pred_mid": 2.901059483238062e-08,
   "ratio_mid": 0.8801780572622622,
   "aY_over_amid": 0.9772350769136273,
   "pred_single1": 3.6799440684739925e-08,
   "aY_over_single1": 0.6780863474321666,
   "pred_ratio": 0.9753336563075725
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.05,
   "width": 1.5,
   "beta": 0.8866151231633188,
   "a_Y": 2.5463100384088235e-08,
   "a_Y_gs0": -1.1631025384149358e-09,
   "a_Y_gs0_profile_cut": -2.708642322689271e-16,
   "pred_Y": 2.8134315586633655e-08,
   "ratio_Y": 0.9463959711589013,
   "a_mid": 2.7399076779118743e-08,
   "a_mid_gs0": 2.341567424307549e-10,
   "pred_mid": 2.8964294582994002e-08,
   "ratio_mid": 0.93787611360083,
   "aY_over_amid": 0.9801686471575383,
   "pred_single1": 3.6739549181925136e-08,
   "aY_over_single1": 0.7247286239321233,
   "pred_ratio": 0.9713447536592982
  },
  {
   "set": "A",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.05,
   "width": 2.0,
   "beta": 0.8866151231633188,
   "a_Y": 2.502292454595596e-08,
   "a_Y_gs0": -1.7679963646410788e-09,
   "a_Y_gs0_profile_cut": -2.0141996875090432e-11,
   "pred_Y": 2.7612955539202125e-08,
   "ratio_Y": 0.9702301107377642,
   "a_mid": 2.6914810960459128e-08,
   "a_mid_gs0": -3.8082925601107145e-10,
   "pred_mid": 2.8728755547840982e-08,
   "ratio_mid": 0.9501156487970993,
   "aY_over_amid": 0.9815091603688191,
   "pred_single1": 3.642656767827916e-08,
   "aY_over_single1": 0.7354774994782786,
   "pred_ratio": 0.9611608652250615
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 1.0,
   "width": 1.0,
   "beta": 0.6448563579845561,
   "a_Y": 6.742809927227911e-08,
   "a_Y_gs0": -1.5536731652901088e-11,
   "a_Y_gs0_profile_cut": 1.376428539288238e-20,
   "pred_Y": 3.342996962881655e-08,
   "ratio_Y": 2.0174602834755726,
   "a_mid": 6.610454914608902e-08,
   "a_mid_gs0": -1.5923041390744947e-11,
   "pred_mid": 8.478601987228367e-08,
   "ratio_mid": 0.7798511156329722,
   "aY_over_amid": 1.0200114090640569,
   "pred_single1": 8.088410114928193e-07,
   "aY_over_single1": 0.08338305680056476,
   "pred_ratio": 0.39428634200748375
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 1.0,
   "width": 1.5,
   "beta": 0.6448563579845561,
   "a_Y": 7.356673127530073e-08,
   "a_Y_gs0": -1.3525982883042832e-11,
   "a_Y_gs0_profile_cut": -2.1884176159322598e-16,
   "pred_Y": 3.388403704356764e-08,
   "ratio_Y": 2.171531602434954,
   "a_mid": 7.212065548334853e-08,
   "a_mid_gs0": -1.3957951240994247e-11,
   "pred_mid": 1.0152933930755224e-07,
   "ratio_mid": 0.7104804771365612,
   "aY_over_amid": 1.0200409173178024,
   "pred_single1": 8.510790726852127e-07,
   "aY_over_single1": 0.08645525382974467,
   "pred_ratio": 0.3337364083590287
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 1.0,
   "width": 2.0,
   "beta": 0.6448563579845561,
   "a_Y": 7.52320018106784e-08,
   "a_Y_gs0": -2.97668812040852e-11,
   "a_Y_gs0_profile_cut": -1.8759323657977043e-11,
   "pred_Y": 3.372807080905755e-08,
   "ratio_Y": 2.231428210583311,
   "a_mid": 7.373321753041313e-08,
   "a_mid_gs0": -3.02032384441681e-11,
   "pred_mid": 1.2224230409641306e-07,
   "ratio_mid": 0.6034197515671805,
   "aY_over_amid": 1.02031288553876,
   "pred_single1": 9.002796688335614e-07,
   "aY_over_single1": 0.08359820986449096,
   "pred_ratio": 0.27591160898322126
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.3,
   "width": 1.0,
   "beta": 0.6448563579845561,
   "a_Y": 5.967264675758936e-09,
   "a_Y_gs0": -1.5536731652901088e-11,
   "a_Y_gs0_profile_cut": 1.376428539288238e-20,
   "pred_Y": 2.9737571792212236e-09,
   "ratio_Y": 2.01186615007303,
   "a_mid": 5.565624440906719e-09,
   "a_mid_gs0": -1.5923041390744947e-11,
   "pred_mid": 1.0943780593649205e-08,
   "ratio_mid": 0.5100200460466557,
   "aY_over_amid": 1.0718893687435245,
   "pred_single1": 2.404416363883164e-07,
   "aY_over_single1": 0.02488255153009163,
   "pred_ratio": 0.2717303361278028
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.3,
   "width": 1.5,
   "beta": 0.6448563579845561,
   "a_Y": 6.450599731667229e-09,
   "a_Y_gs0": -1.3525982883042832e-11,
   "a_Y_gs0_profile_cut": -2.1884176159322598e-16,
   "pred_Y": 2.967823012173703e-09,
   "ratio_Y": 2.178069813474421,
   "a_mid": 6.019886471887832e-09,
   "a_mid_gs0": -1.3957951240994247e-11,
   "pred_mid": 1.2192837170748681e-08,
   "ratio_mid": 0.49486795719739185,
   "aY_over_amid": 1.071311300266891,
   "pred_single1": 2.427936922213706e-07,
   "aY_over_single1": 0.026623944203033552,
   "pred_ratio": 0.24340708980299364
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.3,
   "width": 2.0,
   "beta": 0.6448563579845561,
   "a_Y": 6.490783946447575e-09,
   "a_Y_gs0": -2.97668812040852e-11,
   "a_Y_gs0_profile_cut": -1.8759323657977043e-11,
   "pred_Y": 2.9090754798167214e-09,
   "ratio_Y": 2.241451235243463,
   "a_mid": 6.053619616947806e-09,
   "a_mid_gs0": -3.02032384441681e-11,
   "pred_mid": 1.3665536583040302e-08,
   "ratio_mid": 0.4451945826219762,
   "aY_over_amid": 1.0717851230452284,
   "pred_single1": 2.442543753941991e-07,
   "aY_over_single1": 0.02669573806867625,
   "pred_ratio": 0.212876784028155
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.1,
   "width": 1.0,
   "beta": 0.6448563579845561,
   "a_Y": 6.243317589462877e-10,
   "a_Y_gs0": -1.5536731652901088e-11,
   "a_Y_gs0_profile_cut": 1.376428539288238e-20,
   "pred_Y": 3.2890221861624733e-10,
   "ratio_Y": 1.945467237318235,
   "a_mid": 4.906209221966382e-10,
   "a_mid_gs0": -1.5923041390744947e-11,
   "pred_mid": 9.25897515169881e-10,
   "ratio_mid": 0.5470842671982372,
   "aY_over_amid": 1.263204255890429,
   "pred_single1": 7.62801472957008e-08,
   "aY_over_single1": 0.008388401350599544,
   "pred_ratio": 0.35522529570230166
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.1,
   "width": 1.5,
   "beta": 0.6448563579845561,
   "a_Y": 6.906040293621942e-10,
   "a_Y_gs0": -1.3525982883042832e-11,
   "a_Y_gs0_profile_cut": -2.1884176159322598e-16,
   "pred_Y": 3.278714890224965e-10,
   "ratio_Y": 2.147579267549317,
   "a_mid": 5.474054384033936e-10,
   "a_mid_gs0": -1.3957951240994247e-11,
   "pred_mid": 1.0611699095251907e-09,
   "ratio_mid": 0.5290042476756281,
   "aY_over_amid": 1.254321220860678,
   "pred_single1": 7.649054738314273e-08,
   "aY_over_single1": 0.009205451344441755,
   "pred_ratio": 0.3089717170450104
  },
  {
   "set": "D",
   "L": 24,
   "coupling": "c",
   "weight_scale": 0.1,
   "width": 2.0,
   "beta": 0.6448563579845561,
   "a_Y": 6.850440310153157e-10,
   "a_Y_gs0": -2.97668812040852e-11,
   "a_Y_gs0_profile_cut": -1.8759323657977043e-11,
   "pred_Y": 3.210198786885298e-10,
   "ratio_Y": 2.2266873787992045,
   "a_mid": 5.399313896390846e-10,
   "a_mid_gs0": -3.02032384441681e-11,
   "pred_mid": 1.2218107739856466e-09,
   "ratio_mid": 0.46663087298160494,
   "aY_over_amid": 1.253758107313247,
   "pred_single1": 7.628883846926448e-08,
   "aY_over_single1": 0.009369796769253296,
   "pred_ratio": 0.2627410770338329
  }
 ]
}
output/weight_check.txt12 KB · raw
L=16 coupling=a g_s=-0.01 beta=0.79213 E''(mu1+mu2)=0.81874 s_free=1.22138
  exact     spacings 6.982245e-07 4.158180e-04 1.739737e-07
  projected spacings 7.021546e-07 4.154495e-04 1.914214e-07
  frozen    spacings 6.850959e-08 4.156922e-04 2.194918e-07
  alt       spacings 1.110095e-07 4.813398e-04 2.713286e-07
  max |exact - projected| level = 9.909e-06   max |exact - frozen| level = 1.005e-05   G-weights [0.9998, 0.9998, 0.9997, 0.9997]
  dW_nu/(dW_1+dW_2) = 0.86564   Pi_pair / inertia-weighted Pi_i = 0.70874
L=16 coupling=c g_s=-0.01 beta=0.79309 E''(mu1+mu2)=0.81896 s_free=1.22107
  exact     spacings 7.098712e-07 4.180159e-04 1.762302e-07
  projected spacings 7.137852e-07 4.176475e-04 1.936438e-07
  frozen    spacings 6.911595e-08 4.178890e-04 2.197695e-07
  alt       spacings 1.116386e-07 4.839770e-04 2.712574e-07
  max |exact - projected| level = 9.905e-06   max |exact - frozen| level = 1.008e-05   G-weights [0.9998, 0.9998, 0.9997, 0.9997]
  dW_nu/(dW_1+dW_2) = 0.86585   Pi_pair / inertia-weighted Pi_i = 0.70909
L=20 coupling=a g_s=-0.01 beta=0.85027 E''(mu1+mu2)=0.86001 s_free=1.16277
  exact     spacings 1.873251e-07 3.194330e-04 1.331089e-07
  projected spacings 1.895163e-07 3.189730e-04 1.378310e-07
  frozen    spacings 5.961929e-09 3.189027e-04 2.893572e-08
  alt       spacings 9.357663e-09 3.513435e-04 3.554769e-08
  max |exact - projected| level = 1.021e-05   max |exact - frozen| level = 1.032e-05   G-weights [0.9998, 0.9998, 0.9998, 0.9998]
  dW_nu/(dW_1+dW_2) = 0.84245   Pi_pair / inertia-weighted Pi_i = 0.72452
L=20 coupling=c g_s=-0.01 beta=0.85071 E''(mu1+mu2)=0.85933 s_free=1.16370
  exact     spacings 1.896182e-07 3.203664e-04 1.340624e-07
  projected spacings 1.918173e-07 3.199055e-04 1.387595e-07
  frozen    spacings 5.984500e-09 3.198343e-04 2.890636e-08
  alt       spacings 9.403794e-09 3.526181e-04 3.551818e-08
  max |exact - projected| level = 1.021e-05   max |exact - frozen| level = 1.033e-05   G-weights [0.9998, 0.9998, 0.9998, 0.9998]
  dW_nu/(dW_1+dW_2) = 0.84259   Pi_pair / inertia-weighted Pi_i = 0.72406
L=16 coupling=a g_s=-0.005 beta=0.79213 E''(mu1+mu2)=0.81874 s_free=1.22138
  exact     spacings 1.133454e-06 3.606300e-04 9.206063e-08
  projected spacings 1.131071e-06 3.606023e-04 9.903086e-08
  frozen    spacings 1.375967e-07 3.610983e-04 1.954679e-07
  alt       spacings 1.794658e-07 4.320447e-04 2.164773e-07
  max |exact - projected| level = 2.347e-06   max |exact - frozen| level = 2.814e-06   G-weights [0.9998, 0.9998, 0.9998, 0.9998]
  dW_nu/(dW_1+dW_2) = 0.86564   Pi_pair / inertia-weighted Pi_i = 0.70874
dW_nu/(dW_1+dW_2) at X=L/4, L=16, f_nu of set A fixed, couplings scaled: scale=1.0: 0.86564  scale=0.3: 0.96158  scale=0.1: 0.98843  scale=0.03: 0.99655
acceleration from rest (6.13), position-space band contract, L=24, g_s=-0.01, envelope centre L/4; ratios use the first-order part a - a(g_s=0):
  set=A coupling=a weight_scale=1.0 w=1.0 beta=0.8864: a_Y=3.025839e-07 (g_s=0: -5.0e-10, profile cut at |r|<L/3: 5.1e-20) pred_Y=3.360821e-07 ratio=0.90181 | a_mid=3.116739e-07 (g_s=0: 7.3e-10) pred_mid=4.208025e-07 ratio=0.73893 | a_Y/a_mid=0.9747 (pred 0.7987) | a_Y/(body 1 alone)=0.56511
  set=A coupling=a weight_scale=1.0 w=1.5 beta=0.8864: a_Y=3.143013e-07 (g_s=0: -1.1e-09, profile cut at |r|<L/3: -2.7e-16) pred_Y=3.262163e-07 ratio=0.96688 | a_mid=3.228798e-07 (g_s=0: 2.5e-10) pred_mid=4.132573e-07 ratio=0.78070 | a_Y/a_mid=0.9776 (pred 0.7894) | a_Y/(body 1 alone)=0.59876
  set=A coupling=a weight_scale=1.0 w=2.0 beta=0.8864: a_Y=3.068671e-07 (g_s=0: -1.7e-09, profile cut at |r|<L/3: -2.0e-11) pred_Y=3.116323e-07 ratio=0.99018 | a_mid=3.148809e-07 (g_s=0: -3.5e-10) pred_mid=4.015528e-07 ratio=0.78504 | a_Y/a_mid=0.9789 (pred 0.7761) | a_Y/(body 1 alone)=0.60286
  set=A coupling=a weight_scale=0.05 w=1.0 beta=0.8864: a_Y=2.437713e-08 (g_s=0: -5.0e-10, profile cut at |r|<L/3: 5.1e-20) pred_Y=2.820650e-08 ratio=0.88188 | a_mid=2.618880e-08 (g_s=0: 7.3e-10) pred_mid=2.888528e-08 ratio=0.88139 | a_Y/a_mid=0.9770 (pred 0.9765) | a_Y/(body 1 alone)=0.67848
  set=A coupling=a weight_scale=0.05 w=1.5 beta=0.8864: a_Y=2.543175e-08 (g_s=0: -1.1e-09, profile cut at |r|<L/3: -2.7e-16) pred_Y=2.804659e-08 ratio=0.94639 | a_mid=2.733612e-08 (g_s=0: 2.5e-10) pred_mid=2.883917e-08 ratio=0.93917 | a_Y/a_mid=0.9800 (pred 0.9725) | a_Y/(body 1 alone)=0.72517
  set=A coupling=a weight_scale=0.05 w=2.0 beta=0.8864: a_Y=2.500308e-08 (g_s=0: -1.7e-09, profile cut at |r|<L/3: -2.0e-11) pred_Y=2.752737e-08 ratio=0.97023 | a_mid=2.686336e-08 (g_s=0: -3.5e-10) pred_mid=2.860463e-08 ratio=0.95144 | a_Y/a_mid=0.9813 (pred 0.9623) | a_Y/(body 1 alone)=0.73594
  set=D coupling=a weight_scale=1.0 w=1.0 beta=0.6433: a_Y=6.639336e-08 (g_s=0: -1.4e-11, profile cut at |r|<L/3: -5.3e-21) pred_Y=3.289029e-08 ratio=2.01906 | a_mid=6.431882e-08 (g_s=0: -1.4e-11) pred_mid=8.202624e-08 ratio=0.78430 | a_Y/a_mid=1.0322 (pred 0.4010) | a_Y/(body 1 alone)=0.08356
  set=D coupling=a weight_scale=1.0 w=1.5 beta=0.6433: a_Y=7.255820e-08 (g_s=0: -1.2e-11, profile cut at |r|<L/3: -2.1e-16) pred_Y=3.333758e-08 ratio=2.17683 | a_mid=7.029147e-08 (g_s=0: -1.3e-11) pred_mid=9.845764e-08 ratio=0.71405 | a_Y/a_mid=1.0322 (pred 0.3386) | a_Y/(body 1 alone)=0.08678
  set=D coupling=a weight_scale=1.0 w=2.0 beta=0.6433: a_Y=7.425992e-08 (g_s=0: -2.8e-11, profile cut at |r|<L/3: -1.8e-11) pred_Y=3.318638e-08 ratio=2.23851 | a_mid=7.191015e-08 (g_s=0: -2.9e-11) pred_mid=1.187907e-07 ratio=0.60559 | a_Y/a_mid=1.0327 (pred 0.2794) | a_Y/(body 1 alone)=0.08398
  set=D coupling=a weight_scale=0.3 w=1.0 beta=0.6433: a_Y=5.835273e-09 (g_s=0: -1.4e-11, profile cut at |r|<L/3: -5.3e-21) pred_Y=2.925295e-09 ratio=1.99954 | a_mid=5.206001e-09 (g_s=0: -1.4e-11) pred_mid=1.031765e-08 ratio=0.50597 | a_Y/a_mid=1.1205 (pred 0.2835) | a_Y/(body 1 alone)=0.02476
  set=D coupling=a weight_scale=0.3 w=1.5 beta=0.6433: a_Y=6.343591e-09 (g_s=0: -1.2e-11, profile cut at |r|<L/3: -2.1e-16) pred_Y=2.919537e-09 ratio=2.17696 | a_mid=5.668725e-09 (g_s=0: -1.3e-11) pred_mid=1.154503e-08 ratio=0.49210 | a_Y/a_mid=1.1187 (pred 0.2529) | a_Y/(body 1 alone)=0.02664
  set=D coupling=a weight_scale=0.3 w=2.0 beta=0.6433: a_Y=6.397806e-09 (g_s=0: -2.8e-11, profile cut at |r|<L/3: -1.8e-11) pred_Y=2.861939e-09 ratio=2.24535 | a_mid=5.712721e-09 (g_s=0: -2.9e-11) pred_mid=1.299476e-08 ratio=0.44183 | a_Y/a_mid=1.1192 (pred 0.2202) | a_Y/(body 1 alone)=0.02678
  set=D coupling=a weight_scale=0.1 w=1.0 beta=0.6433: a_Y=5.985289e-10 (g_s=0: -1.4e-11, profile cut at |r|<L/3: -5.3e-21) pred_Y=3.235397e-10 ratio=1.89310 | a_mid=3.891199e-10 (g_s=0: -1.4e-11) pred_mid=7.619453e-10 ratio=0.52961 | a_Y/a_mid=1.5178 (pred 0.4246) | a_Y/(body 1 alone)=0.00817
  set=D coupling=a weight_scale=0.1 w=1.5 beta=0.6433: a_Y=6.741436e-10 (g_s=0: -1.2e-11, profile cut at |r|<L/3: -2.1e-16) pred_Y=3.225347e-10 ratio=2.12775 | a_mid=4.498680e-10 (g_s=0: -1.3e-11) pred_mid=8.949571e-10 ratio=0.51678 | a_Y/a_mid=1.4838 (pred 0.3604) | a_Y/(body 1 alone)=0.00913
  set=D coupling=a weight_scale=0.1 w=2.0 beta=0.6433: a_Y=6.732493e-10 (g_s=0: -2.8e-11, profile cut at |r|<L/3: -1.8e-11) pred_Y=3.158159e-10 ratio=2.22122 | a_mid=4.459405e-10 (g_s=0: -2.9e-11) pred_mid=1.053808e-09 ratio=0.45045 | a_Y/a_mid=1.4778 (pred 0.2997) | a_Y/(body 1 alone)=0.00936
  set=A coupling=c weight_scale=1.0 w=1.0 beta=0.8866: a_Y=3.035332e-07 (g_s=0: -5.4e-10, profile cut at |r|<L/3: -4.8e-20) pred_Y=3.371727e-07 ratio=0.90182 | a_mid=3.126140e-07 (g_s=0: 7.2e-10) pred_mid=4.226280e-07 ratio=0.73798 | a_Y/a_mid=0.9749 (pred 0.7978) | a_Y/(body 1 alone)=0.56484
  set=A coupling=c weight_scale=1.0 w=1.5 beta=0.8866: a_Y=3.152710e-07 (g_s=0: -1.2e-09, profile cut at |r|<L/3: -2.7e-16) pred_Y=3.272718e-07 ratio=0.96688 | a_mid=3.238463e-07 (g_s=0: 2.3e-10) pred_mid=4.150500e-07 ratio=0.77969 | a_Y/a_mid=0.9778 (pred 0.7885) | a_Y/(body 1 alone)=0.59846
  set=A coupling=c weight_scale=1.0 w=2.0 beta=0.8866: a_Y=3.077972e-07 (g_s=0: -1.8e-09, profile cut at |r|<L/3: -2.0e-11) pred_Y=3.126361e-07 ratio=0.99018 | a_mid=3.158101e-07 (g_s=0: -3.8e-10) pred_mid=4.032949e-07 ratio=0.78402 | a_Y/a_mid=0.9790 (pred 0.7752) | a_Y/(body 1 alone)=0.60255
  set=A coupling=c weight_scale=0.05 w=1.0 beta=0.8866: a_Y=2.441800e-08 (g_s=0: -5.4e-10, profile cut at |r|<L/3: -4.8e-20) pred_Y=2.829501e-08 ratio=0.88189 | a_mid=2.625762e-08 (g_s=0: 7.2e-10) pred_mid=2.901059e-08 ratio=0.88018 | a_Y/a_mid=0.9772 (pred 0.9753) | a_Y/(body 1 alone)=0.67809
  set=A coupling=c weight_scale=0.05 w=1.5 beta=0.8866: a_Y=2.546310e-08 (g_s=0: -1.2e-09, profile cut at |r|<L/3: -2.7e-16) pred_Y=2.813432e-08 ratio=0.94640 | a_mid=2.739908e-08 (g_s=0: 2.3e-10) pred_mid=2.896429e-08 ratio=0.93788 | a_Y/a_mid=0.9802 (pred 0.9713) | a_Y/(body 1 alone)=0.72473
  set=A coupling=c weight_scale=0.05 w=2.0 beta=0.8866: a_Y=2.502292e-08 (g_s=0: -1.8e-09, profile cut at |r|<L/3: -2.0e-11) pred_Y=2.761296e-08 ratio=0.97023 | a_mid=2.691481e-08 (g_s=0: -3.8e-10) pred_mid=2.872876e-08 ratio=0.95012 | a_Y/a_mid=0.9815 (pred 0.9612) | a_Y/(body 1 alone)=0.73548
  set=D coupling=c weight_scale=1.0 w=1.0 beta=0.6449: a_Y=6.742810e-08 (g_s=0: -1.6e-11, profile cut at |r|<L/3: 1.4e-20) pred_Y=3.342997e-08 ratio=2.01746 | a_mid=6.610455e-08 (g_s=0: -1.6e-11) pred_mid=8.478602e-08 ratio=0.77985 | a_Y/a_mid=1.0200 (pred 0.3943) | a_Y/(body 1 alone)=0.08338
  set=D coupling=c weight_scale=1.0 w=1.5 beta=0.6449: a_Y=7.356673e-08 (g_s=0: -1.4e-11, profile cut at |r|<L/3: -2.2e-16) pred_Y=3.388404e-08 ratio=2.17153 | a_mid=7.212066e-08 (g_s=0: -1.4e-11) pred_mid=1.015293e-07 ratio=0.71048 | a_Y/a_mid=1.0200 (pred 0.3337) | a_Y/(body 1 alone)=0.08646
  set=D coupling=c weight_scale=1.0 w=2.0 beta=0.6449: a_Y=7.523200e-08 (g_s=0: -3.0e-11, profile cut at |r|<L/3: -1.9e-11) pred_Y=3.372807e-08 ratio=2.23143 | a_mid=7.373322e-08 (g_s=0: -3.0e-11) pred_mid=1.222423e-07 ratio=0.60342 | a_Y/a_mid=1.0203 (pred 0.2759) | a_Y/(body 1 alone)=0.08360
  set=D coupling=c weight_scale=0.3 w=1.0 beta=0.6449: a_Y=5.967265e-09 (g_s=0: -1.6e-11, profile cut at |r|<L/3: 1.4e-20) pred_Y=2.973757e-09 ratio=2.01187 | a_mid=5.565624e-09 (g_s=0: -1.6e-11) pred_mid=1.094378e-08 ratio=0.51002 | a_Y/a_mid=1.0719 (pred 0.2717) | a_Y/(body 1 alone)=0.02488
  set=D coupling=c weight_scale=0.3 w=1.5 beta=0.6449: a_Y=6.450600e-09 (g_s=0: -1.4e-11, profile cut at |r|<L/3: -2.2e-16) pred_Y=2.967823e-09 ratio=2.17807 | a_mid=6.019886e-09 (g_s=0: -1.4e-11) pred_mid=1.219284e-08 ratio=0.49487 | a_Y/a_mid=1.0713 (pred 0.2434) | a_Y/(body 1 alone)=0.02662
  set=D coupling=c weight_scale=0.3 w=2.0 beta=0.6449: a_Y=6.490784e-09 (g_s=0: -3.0e-11, profile cut at |r|<L/3: -1.9e-11) pred_Y=2.909075e-09 ratio=2.24145 | a_mid=6.053620e-09 (g_s=0: -3.0e-11) pred_mid=1.366554e-08 ratio=0.44519 | a_Y/a_mid=1.0718 (pred 0.2129) | a_Y/(body 1 alone)=0.02670
  set=D coupling=c weight_scale=0.1 w=1.0 beta=0.6449: a_Y=6.243318e-10 (g_s=0: -1.6e-11, profile cut at |r|<L/3: 1.4e-20) pred_Y=3.289022e-10 ratio=1.94547 | a_mid=4.906209e-10 (g_s=0: -1.6e-11) pred_mid=9.258975e-10 ratio=0.54708 | a_Y/a_mid=1.2632 (pred 0.3552) | a_Y/(body 1 alone)=0.00839
  set=D coupling=c weight_scale=0.1 w=1.5 beta=0.6449: a_Y=6.906040e-10 (g_s=0: -1.4e-11, profile cut at |r|<L/3: -2.2e-16) pred_Y=3.278715e-10 ratio=2.14758 | a_mid=5.474054e-10 (g_s=0: -1.4e-11) pred_mid=1.061170e-09 ratio=0.52900 | a_Y/a_mid=1.2543 (pred 0.3090) | a_Y/(body 1 alone)=0.00921
  set=D coupling=c weight_scale=0.1 w=2.0 beta=0.6449: a_Y=6.850440e-10 (g_s=0: -3.0e-11, profile cut at |r|<L/3: -1.9e-11) pred_Y=3.210199e-10 ratio=2.22669 | a_mid=5.399314e-10 (g_s=0: -3.0e-11) pred_mid=1.221811e-09 ratio=0.46663 | a_Y/a_mid=1.2538 (pred 0.2627) | a_Y/(body 1 alone)=0.00937

Interested in this research?

Join the readers' list and get an e-mail when a new stage or a correction is published. No password, and you can unsubscribe at any time.