nDot.io physics
07-ilang-weight / 07-inertia-of-pair-full-grip
07inertia of pair full gripverified

Determines, for two full-grip bodies bound through the field, the pair's inertia against its parts and its cost, and whether the binding cost is weighed as it resists acceleration.

Code of version 1

check_pair_full_grip.py13 KB · raw
"""Check of 07-ilang-weight/07-inertia-of-pair-full-grip (N_f = 1, t_f = 1).

Item 2: curvature in P of the exact bound level of two full-grip bodies and one field
object (sector contract continued in P) against (7.3), (7.5); item 3: cost (7.6), (7.8);
item 4: weights from exact eigenvalues with a held source against (7.9)-(7.12).
Outputs: output/check_log.txt, output/check_results.json.
"""
import json
from pathlib import Path

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

OUT = Path(__file__).parent / "output"
OUT.mkdir(exist_ok=True)
TF = 1.0
SX = np.array([[0.0, 1.0], [1.0, 0.0]])
LOG = []


def log(s=""):
    print(s)
    LOG.append(s)


def shift(L):  # (S g)(y) = g(y+1)
    return sp.csr_matrix((np.ones(L), (np.arange(L), (np.arange(L) + 1) % L)), shape=(L, L))


def field(L, src):  # one field object: C_1 + sum_x g_x Phi_x
    H = -TF * (np.eye(L, k=1) + np.eye(L, k=-1))
    H[0, -1] = H[-1, 0] = -TF
    for x, g in src:
        H[x % L, x % L] += g
    return H


def eps0(L, src):
    return np.linalg.eigvalsh(field(L, src))[0]


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


def curv(f, d):  # E''(0) by Richardson; E(P) = E(-P) (sigma3 x sigma3 times conjugation)
    e0, e1, e2 = f(0.0), f(d), f(2 * d)
    return (4 * 2 * (e1 - e0) / d**2 - 2 * (e2 - e0) / (2 * d) ** 2) / 3, e0


# ---------- one body (sector contract (5.1), full grip) ----------
def body_level(L, g, tau, P):
    S = shift(L)
    H = sp.kron(sp.identity(2), -TF * (S + S.T)) + sp.kron(sp.diags([1.0, -1.0]), sp.diags((np.arange(L) == 0) * g))
    A = 0.5 * tau * np.exp(-1j * P) * sp.kron(sp.csr_matrix(-1j * SX), S)
    w, v = np.linalg.eigh((H + A + A.conj().T).toarray())
    om = np.linalg.eigh(field(L, [(0, g)]))[1][:, 0]
    return w[np.argmax(np.abs(om @ v[:L, :]) ** 2)]


# ---------- pair: sector contract, basis ((s1,s2), r = l-j, y = field place - j) ----------
def pair_ops(L, g1, g2, t1, t2, P):
    S, I2, IL = shift(L), sp.identity(2), sp.identity(L)
    sg, r, y = np.array([1.0, -1.0]), np.arange(L), np.arange(L)
    dg = (sg[:, None, None, None] * g1 * (y == 0)[None, None, None, :]
          + sg[None, :, None, None] * g2 * (y[None, :] == r[:, None])[None, None, :, :])
    H0 = sp.kron(sp.identity(4 * L), -TF * (S + S.T)) + sp.diags(dg.ravel())
    mX = sp.csr_matrix(-1j * SX)
    A1 = 0.5 * t1 * np.exp(-1j * P) * sp.kron(sp.kron(mX, I2), sp.kron(S, S))
    A2 = 0.5 * t2 * sp.kron(sp.kron(I2, mX), sp.kron(S.T, IL))
    V1, V2 = (A1 + A1.conj().T).tocsr(), (A2 + A2.conj().T).tocsr()
    return (H0 + V1 + V2).tocsc(), V1, V2


def held_blocks(L, g1, g2):
    out = {}
    for s1, s2 in ((0, 0), (1, 0), (0, 1)):
        es, us = zip(*[np.linalg.eigh(field(L, [(0, (1 - 2 * s1) * g1), (r, (1 - 2 * s2) * g2)])) for r in range(L)])
        out[(s1, s2)] = (np.array(es), np.array(us))
    return out


def sw(L, bl, V, key):  # second-order band contract part of one body, (2.10)
    E00, U00 = bl[(0, 0)]
    G = np.zeros((4 * L * L, L), complex)
    for r in range(L):
        G[r * L:(r + 1) * L, r] = U00[r][:, 0]
    W = (V @ G).reshape(2, 2, L, L, L)[key[0], key[1]]
    Eb, Ub = bl[key]
    C = np.einsum('ryk,rya->rka', Ub.conj(), W).reshape(L * L, L)
    T = (C / (E00[None, :, 0] - Eb.reshape(L * L)[:, None])).conj().T @ C
    return 0.5 * (T + T.conj().T)


def run_case(name, L, g1, g2, t1, t2, dist=(), d=0.02):
    n = 1.0 / L
    l0 = ell(L, 0)
    ev = np.arange(0, L, 2)
    rs = np.where(ev > L // 2, ev - L, ev)  # signed even r
    bl = held_blocks(L, g1, g2)
    bl1, bl2 = held_blocks(L, g1, 0.0), held_blocks(L, 0.0, g2)

    def heff(P, b=bl):
        _, V1, V2 = pair_ops(L, g1, g2, t1, t2, P)
        h1, h2 = sw(L, b, V1, (1, 0)), sw(L, b, V2, (0, 1))
        return np.diag(b[(0, 0)][0][:, 0]) + h1 + h2, h1, h2

    kb1 = sw(L, bl1, pair_ops(L, g1, g2, t1, t2, 0.0)[1], (1, 0))[0, 2].real
    kb2 = sw(L, bl2, pair_ops(L, g1, g2, t1, t2, 0.0)[2], (0, 1))[0, 2].real
    low = (kb1 + kb2) < 0  # positive relative inertia: lowest edge

    def band(P):
        h = heff(P)[0][np.ix_(ev, ev)]
        w, v = np.linalg.eigh(h)
        i = 0 if low else -1
        return w[i], v[:, i]

    U00 = bl[(0, 0)][1]

    def exact(P):
        eb, fb = band(P)
        H = pair_ops(L, g1, g2, t1, t2, P)[0]
        w, v = spla.eigsh(H, k=10, sigma=eb, which='LM', tol=0)
        best = (-1, None, None)
        for k in range(len(w)):
            x = v[:, k].reshape(2, 2, L, L)[0, 0]
            a = np.einsum('ry,ry->r', U00[:, :, 0].conj(), x)[ev]
            ov = abs(np.vdot(fb, a)) ** 2
            if ov > best[0]:
                best = (ov, w[k], np.sum(np.abs(a) ** 2))
        return best

    ovs = []

    def exact_e(P):
        ov, e, _ = exact(P)
        ovs.append(ov)
        return e

    Eb2, Eb0 = curv(exact_e, d)
    ov0, _, gw0 = exact(0.0)
    ovmin = min(ovs)
    Ebb2, _ = curv(lambda P: band(P)[0], d)
    mu = [1.0 / curv(lambda P: body_level(L, g, t, P), d)[0] for g, t in ((g1, t1), (g2, t2))]
    E1, E2 = body_level(L, g1, t1, 0.0), body_level(L, g2, t2, 0.0)
    D0 = 1.0 / Eb2 - mu[0] - mu[1]
    # band-contract quantities at P = 0
    _, f0 = band(0.0)
    f0 = (f0 * np.exp(-1j * np.angle(f0[0]))).real
    _, h1, h2 = heff(0.0)
    rho = (ev + 1) % L
    b0 = f0 * np.roll(f0, -1)                       # f0(rho-1) f0(rho+1), rho = r+1
    k1 = np.array([h1[r, (r + 2) % L].real for r in ev])
    k2 = np.array([h2[r, (r + 2) % L].real for r in ev])
    beta0 = b0.sum()
    B = lambda x: -2 * n * g1 * g2 / TF * ell(L, x)
    ra = np.arange(L)
    bar = lambda f: 0.25 * (f[(rho - 1) % L] + 2 * f[rho] + f[(rho + 1) % L])
    Mfull = lambda a, b: np.array([eps0(L, [(0, a), (r, b)]) - eps0(L, [(0, a)]) - eps0(L, [(0, b)]) + eps0(L, []) for r in ra])
    Mpp = Mfull(g1, g2)
    Mo = [(Mpp - Mfull(-g1, g2)) / 2, (Mpp - Mfull(g1, -g2)) / 2]  # parts of M odd in g1, in g2
    sR = [(eps0(L, [(0, g)]) - eps0(L, [(0, -g)])) / 2 for g in (g1, g2)]
    cb = [sR[0] * (-8 * kb1), sR[1] * (-8 * kb2)]  # c_i^2 = sigma_i R_i / mu_i (band contract)
    ce = [sR[0] / mu[0], sR[1] / mu[1]]            # c_i^2 with the exact mu_i
    Dlat = (mu[0] + mu[1]) * (1 - beta0) / beta0
    Dmark2 = (1 / t1**2 + 1 / t2**2) * np.sum(b0 * bar(B(ra))) / beta0**2
    dmo = bar(Mo[0]) / ce[0] + bar(Mo[1]) / ce[1]
    Dmark = np.sum(b0 * dmo) / beta0**2
    Dres = 1 / np.sum(b0 / (mu[0] + mu[1] + dmo)) - mu[0] - mu[1]
    Dband = 1 / Ebb2 + 1 / (8 * kb1) + 1 / (8 * kb2)
    Sc = abs(Dlat) + abs(Dmark)
    Mavg = np.sum(f0**2 * Mpp[ev])
    Moavg = [np.sum(f0**2 * Mo[0][ev]), np.sum(f0**2 * Mo[1][ev])]
    K0 = 2 * (-1 / (8 * mu[0]) - 1 / (8 * mu[1])) * (beta0 - 1)
    dE0 = Eb0 - E1 - E2 + (-2 * TF)
    w_est = (4 * abs(kb1 + kb2) / abs(n * g1 * g2 / TF)) ** (1 / 3)
    # local inertia (7.3): m_i(rho) - mubar_i against Mbar_i^odd(rho)/c_i^2 and Mbar^(2)(rho)/tau_i^2, |rho| <= 3
    near = np.abs(np.where(rho > L // 2, rho - L, rho)) <= 3
    loc, loc2 = [], []
    for k, kb, c, Mi, t in ((k1, kb1, cb[0], Mo[0], t1), (k2, kb2, cb[1], Mo[1], t2)):
        sh = (-1 / (8 * k) + 1 / (8 * kb))[near]
        loc.append(float(np.max(np.abs(sh / (bar(Mi) / c)[near] - 1))))
        loc2.append(float(np.max(np.abs(sh / (bar(B(ra)) / t**2)[near] - 1))))
    res = dict(case=name, L=L, g1=g1, g2=g2, tau1=t1, tau2=t2, eta=max(abs(g1), abs(g2)) * l0 / TF,
               w=w_est, mean_abs_r=float(np.sum(f0**2 * np.abs(rs))), overlap=ov0, min_overlap=ovmin,
               group_weight=gw0, selected="lowest" if low else "highest", mu1=mu[0], mu2=mu[1],
               Epp_exact=Eb2, Epp_band=Ebb2, Epp_66=float(np.sum(b0 / (-1 / (8 * k1) - 1 / (8 * k2)))), beta0=beta0,
               D0_exact=D0, D0_band=Dband, Dlat=Dlat, Dmark_odd=Dmark, Dmark_lead=Dmark2, D0_formula=Dlat + Dmark,
               D0_resummed=Dres, D0_lead=Dlat + Dmark2, local_inertia_relerr_odd=loc, local_inertia_relerr_lead=loc2,
               dE0_exact=dE0, M_avg=Mavg, M_odd_avg=Moavg, M0_second_order=float(B(0)), K0=K0, dE0_formula=Mavg + K0)
    log(f"== {name}: L={L} g1={g1:.5g} g2={g2:.5g} tau1={t1:.4g} tau2={t2:.4g} eta={res['eta']:.3f} w={w_est:.2f}")
    log(f"   selected {res['selected']} level, <|r|>={res['mean_abs_r']:.2f}, overlap={ov0:.6f} (min over P {ovmin:.6f}), group weight={gw0:.6f}")
    log(f"   E''(0): exact={Eb2:.6e} band(2.10)={Ebb2:.6e} (6.6) sum b0/m={res['Epp_66']:.6e}  rel. band-exact={(Ebb2 - Eb2) / Eb2:.2e}")
    log(f"   mu1={mu[0]:.6e} mu2={mu[1]:.6e} beta0={beta0:.5f} Dlat={Dlat:.4e} Dmark(odd parts)={Dmark:.4e} Dmark(lead)={Dmark2:.4e} Dlat/|Dmark|={abs(Dlat / Dmark):.3f}")
    log(f"   D0: exact={D0:.6e} band={Dband:.6e} (7.5)={Dlat + Dmark:.6e} resummed={Dres:.6e} leading={Dlat + Dmark2:.6e}")
    log(f"   deviation from exact D0 / (|Dlat|+|Dmark|): band {(Dband - D0) / Sc:.2e}, (7.5) {(Dlat + Dmark - D0) / Sc:.2e}, resummed {(Dres - D0) / Sc:.2e}, leading {(Dlat + Dmark2 - D0) / Sc:.2e}")
    log(f"   local inertia (7.3), max rel. error near r=0: odd parts {loc[0]:.2e}, {loc[1]:.2e}; second order {loc2[0]:.2e}, {loc2[1]:.2e}")
    log(f"   cost: dE0 exact={dE0:.6e} <M>+K0={Mavg + K0:.6e} (<M>={Mavg:.4e}, M2(0)={B(0):.4e}, K0={K0:.4e}); (<M1odd>+<M2odd>)/<M>={(Moavg[0] + Moavg[1]) / Mavg:.4f}")
    log(f"   (D0_exact-Dlat)/dE0={(D0 - Dlat) / dE0:.6e} vs 1/tau1^2+1/tau2^2={1 / t1**2 + 1 / t2**2:.6e}, 1/tau1^2={1 / t1**2:.6e}; D0_exact/dE0={D0 / dE0:.6e}")
    # ---------- item 4: weights from exact eigenvalues with a held source ----------
    gs, res['weight'] = 1e-3, []
    for s in dist:
        X, xs = 0, s
        Wh = lambda src: (eps0(L, src + [(xs, gs)]) - eps0(L, src + [(xs, -gs)])) / 2
        dW = lambda fun: (fun(X + 1) - fun(X - 1)) / 2
        Wp = lambda Xc: np.sum([f0[i] ** 2 * Wh([(Xc - rs[i] // 2, g1), (Xc - rs[i] // 2 + rs[i], g2)]) for i in range(len(ev))])
        W0p, W1p, W2p = dW(Wp), dW(lambda x: Wh([(x, g1)])), dW(lambda x: Wh([(x, g2)]))
        phip = dW(lambda x: -2 * gs / TF * ell(L, x - xs))
        u = s / L
        ks = (L * L * (1 - 2 * u) ** 2 + 2) / (L * L - 1)
        Vavg = np.sum(f0**2 * n * g1 * g2 / TF * np.mod(rs, L) * (L - np.mod(rs, L)) / L)
        Cev = [-n * g**2 / TF * l0 for g in (g1, g2)]
        W0f = phip * (n * (g1 + g2) + 2 * ks * (Cev[0] + Cev[1] + B(0)) + Vavg)
        Wbp, Wbf = W0p - W1p - W2p, phip * (2 * ks * B(0) + Vavg)
        G1, G2, Gp, Gb = W1p / mu[0], W2p / mu[1], Eb2 * W0p, Wbp / D0
        Gm = Wbp / (D0 - Dlat)  # bond weight over the exact mark part of the inertia
        Gp_lead = phip * (g1 + g2) / (g1 / t1**2 + g2 / t2**2)
        Gb_lead = 2 * ks * phip / (1 / t1**2 + 1 / t2**2)
        wr = dict(s=s, u=u, kappa_s=ks, W0p_exact=W0p, W0p_formula=W0f, Wbp_exact=Wbp, Wbp_formula=Wbf,
                  Gamma1=G1, Gamma2=G2, Gamma_pair=Gp, Gamma_pair_lead=Gp_lead, Gamma_bond=Gb,
                  Gamma_bond_lead=Gb_lead, Gamma_mark=Gm, Gamma_bond_formula=Wbf / (Dlat + Dmark2), phip=phip)
        res['weight'].append(wr)
        log(f"   source at s={s} (u={u:.3f}, kappa_s={ks:.4f}), linear in g_s:")
        log(f"     W0' exact={W0p:.6e} formula(7.10)={W0f:.6e};  Wb' exact={Wbp:.6e} formula={Wbf:.6e}")
        log(f"     Gamma/phi': body1={G1 / phip:.6e} (tau1^2={t1**2:.6e}) body2={G2 / phip:.6e} (tau2^2={t2**2:.6e})")
        log(f"     Gamma_pair/phi'={Gp / phip:.6e} lead={Gp_lead / phip:.6e};  Gamma_bond/phi'={Gb / phip:.6e} lead(7.12)={Gb_lead / phip:.6e} formula={wr['Gamma_bond_formula'] / phip:.6e}")
        log(f"     Wb'/(D0_exact-Dlat)/phi'={Gm / phip:.6e} vs kappa_s*2/(1/tau1^2+1/tau2^2)={Gb_lead / phip:.6e};  Gamma_bond/Gamma_1={Gb / G1:.4f}, Wb'/(D0-Dlat)/Gamma_1={Gm / G1:.4f}")
    return res


def params(L, eta1, q, r1, r2=None):
    """g1 from eta1 = |g1| l0 / t_f, g2 = q g1, tau_i = r_i d with d = 2 n min|g_i|."""
    r2 = r1 if r2 is None else r2
    g1 = eta1 * TF / ell(L, 0)
    d = 2 * min(abs(g1), abs(q * g1)) / L
    return L, g1, q * g1, r1 * d, r2 * d


if __name__ == "__main__":
    cases = [("A equal bodies", (32, 0.15, 1.0, 0.3), ()),
             ("A equal bodies", (64, 0.15, 1.0, 0.3), (8, 16)),
             ("A' equal bodies, smaller eta", (64, 0.05, 1.0, 0.3), (8, 16)),
             ("A'' equal bodies, smaller eta and tau/d", (64, 0.05, 1.0, 0.15), ()),
             ("B unequal bodies and speeds", (32, 0.15, 0.5, 0.3, 0.15), ()),
             ("B unequal bodies and speeds", (64, 0.15, 0.5, 0.3, 0.15), (8, 16)),
             ("R equal bodies, regime (ii)", (128, 0.15, 1.0, 0.3), (16, 32)),
             ("C mixed signs, bound at top", (48, 0.075, -2.0, 0.15, 0.3), ()),
             ("D control: both negative, not bound", (48, -0.15, 1.0, 0.3), ())]
    results = [run_case(name, *params(*p), dist=dist) for name, p, dist in cases]
    (OUT / "check_log.txt").write_text("\n".join(LOG) + "\n", encoding="utf-8")
    (OUT / "check_results.json").write_text(json.dumps(results, indent=1, default=float), encoding="utf-8")
output/check_log.txt14 KB · raw
== A equal bodies: L=32 g1=0.056305 g2=0.056305 tau1=0.001056 tau2=0.001056 eta=0.150 w=1.83
   selected lowest level, <|r|>=1.34, overlap=0.984031 (min over P 0.983940), group weight=0.984065
   E''(0): exact=3.147829e-04 band(2.10)=3.291362e-04 (6.6) sum b0/m=3.291357e-04  rel. band-exact=4.56e-02
   mu1=1.639644e+03 mu2=1.639644e+03 beta0=0.87303 Dlat=4.7693e+02 Dmark(odd parts)=-6.9527e+02 Dmark(lead)=-7.7827e+02 Dlat/|Dmark|=0.686
   D0: exact=-1.024964e+02 band=-2.410248e+02 (7.5)=-2.183369e+02 resummed=-2.265128e+02 leading=-3.013431e+02
   deviation from exact D0 / (|Dlat|+|Dmark|): band -1.18e-01, (7.5) -9.88e-02, resummed -1.06e-01, leading -1.70e-01
   local inertia (7.3), max rel. error near r=0: odd parts 2.15e-02, 2.15e-02; second order 9.31e-02, 9.31e-02
   cost: dE0 exact=-2.510425e-04 <M>+K0=-2.591129e-04 (<M>=-2.9783e-04, M2(0)=-5.2786e-04, K0=3.8719e-05); (<M1odd>+<M2odd>)/<M>=2.3765
   (D0_exact-Dlat)/dE0=2.308087e+06 vs 1/tau1^2+1/tau2^2=1.794460e+06, 1/tau1^2=8.972299e+05; D0_exact/dE0=4.082829e+05
== A equal bodies: L=64 g1=0.028132 g2=0.028132 tau1=0.0002637 tau2=0.0002637 eta=0.150 w=2.31
   selected lowest level, <|r|>=1.85, overlap=0.989809 (min over P 0.989709), group weight=0.989820
   E''(0): exact=8.707640e-05 band(2.10)=8.958103e-05 (6.6) sum b0/m=8.958104e-05  rel. band-exact=2.88e-02
   mu1=6.564038e+03 mu2=6.564038e+03 beta0=0.92320 Dlat=1.0921e+03 Dmark(odd parts)=-2.9762e+03 Dmark(lead)=-3.3527e+03 Dlat/|Dmark|=0.367
   D0: exact=-1.643909e+03 band=-1.964989e+03 (7.5)=-1.884097e+03 resummed=-1.900351e+03 leading=-2.260628e+03
   deviation from exact D0 / (|Dlat|+|Dmark|): band -7.89e-02, (7.5) -5.90e-02, resummed -6.30e-02, leading -1.52e-01
   local inertia (7.3), max rel. error near r=0: odd parts 2.20e-02, 2.20e-02; second order 9.87e-02, 9.87e-02
   cost: dE0 exact=-7.278875e-05 <M>+K0=-7.423568e-05 (<M>=-8.0086e-05, M2(0)=-1.3187e-04, K0=5.8499e-06); (<M1odd>+<M2odd>)/<M>=2.3900
   (D0_exact-Dlat)/dE0=3.758806e+07 vs 1/tau1^2+1/tau2^2=2.875347e+07, 1/tau1^2=1.437674e+07; D0_exact/dE0=2.258465e+07
   source at s=8 (u=0.125, kappa_s=0.5631), linear in g_s:
     W0' exact=-4.852430e-07 formula(7.10)=-4.528187e-07;  Wb' exact=7.318130e-08 formula=9.513444e-08
     Gamma/phi': body1=5.671552e-08 (tau1^2=6.955682e-08) body2=5.671552e-08 (tau2^2=6.955682e-08)
     Gamma_pair/phi'=5.633762e-08 lead=6.955682e-08;  Gamma_bond/phi'=5.935554e-08 lead(7.12)=3.916924e-08 formula=5.611091e-08
     Wb'/(D0_exact-Dlat)/phi'=3.566356e-08 vs kappa_s*2/(1/tau1^2+1/tau2^2)=3.916924e-08;  Gamma_bond/Gamma_1=1.0465, Wb'/(D0-Dlat)/Gamma_1=0.6288
   source at s=16 (u=0.250, kappa_s=0.2505), linear in g_s:
     W0' exact=-3.788183e-07 formula(7.10)=-3.843168e-07;  Wb' exact=2.644821e-08 formula=2.220410e-08
     Gamma/phi': body1=6.174043e-08 (tau1^2=6.955682e-08) body2=6.174043e-08 (tau2^2=6.955682e-08)
     Gamma_pair/phi'=6.597228e-08 lead=6.955682e-08;  Gamma_bond/phi'=3.217723e-08 lead(7.12)=1.742742e-08 formula=1.964419e-08
     Wb'/(D0_exact-Dlat)/phi'=1.933357e-08 vs kappa_s*2/(1/tau1^2+1/tau2^2)=1.742742e-08;  Gamma_bond/Gamma_1=0.5212, Wb'/(D0-Dlat)/Gamma_1=0.3131
== A' equal bodies, smaller eta: L=64 g1=0.0093773 g2=0.0093773 tau1=8.791e-05 tau2=8.791e-05 eta=0.050 w=3.37
   selected lowest level, <|r|>=2.42, overlap=0.995019 (min over P 0.994939), group weight=0.995019
   E''(0): exact=2.660595e-05 band(2.10)=2.699290e-05 (6.6) sum b0/m=2.699290e-05  rel. band-exact=1.45e-02
   mu1=1.903544e+04 mu2=1.903544e+04 beta0=0.95175 Dlat=1.9301e+03 Dmark(odd parts)=-2.9375e+03 Dmark(lead)=-3.0812e+03 Dlat/|Dmark|=0.657
   D0: exact=-4.853071e+02 band=-1.024094e+03 (7.5)=-1.007359e+03 resummed=-1.016930e+03 leading=-1.151092e+03
   deviation from exact D0 / (|Dlat|+|Dmark|): band -1.11e-01, (7.5) -1.07e-01, resummed -1.09e-01, leading -1.37e-01
   local inertia (7.3), max rel. error near r=0: odd parts 2.63e-03, 2.63e-03; second order 4.81e-02, 4.81e-02
   cost: dE0 exact=-9.041333e-06 <M>+K0=-9.135153e-06 (<M>=-1.0403e-05, M2(0)=-1.4652e-05, K0=1.2674e-06); (<M1odd>+<M2odd>)/<M>=2.1118
   (D0_exact-Dlat)/dE0=2.671512e+08 vs 1/tau1^2+1/tau2^2=2.587813e+08, 1/tau1^2=1.293906e+08; D0_exact/dE0=5.367650e+07
   source at s=8 (u=0.125, kappa_s=0.5631), linear in g_s:
     W0' exact=-1.983420e-07 formula(7.10)=-1.973522e-07;  Wb' exact=9.455914e-09 formula=1.005164e-08
     Gamma/phi': body1=7.277580e-09 (tau1^2=7.728535e-09) body2=7.277580e-09 (tau2^2=7.728535e-09)
     Gamma_pair/phi'=7.036104e-09 lead=7.728535e-09;  Gamma_bond/phi'=2.597919e-08 lead(7.12)=4.352137e-09 formula=1.164301e-08
     Wb'/(D0_exact-Dlat)/phi'=5.219785e-09 vs kappa_s*2/(1/tau1^2+1/tau2^2)=4.352137e-09;  Gamma_bond/Gamma_1=3.5698, Wb'/(D0-Dlat)/Gamma_1=0.7172
   source at s=16 (u=0.250, kappa_s=0.2505), linear in g_s:
     W0' exact=-1.402777e-07 formula(7.10)=-1.407279e-07;  Wb' exact=2.501509e-09 formula=2.121218e-09
     Gamma/phi': body1=7.500703e-09 (tau1^2=7.728535e-09) body2=7.500703e-09 (tau2^2=7.728535e-09)
     Gamma_pair/phi'=7.464442e-09 lead=7.728535e-09;  Gamma_bond/phi'=1.030897e-08 lead(7.12)=1.936380e-09 formula=3.685574e-09
     Wb'/(D0_exact-Dlat)/phi'=2.071297e-09 vs kappa_s*2/(1/tau1^2+1/tau2^2)=1.936380e-09;  Gamma_bond/Gamma_1=1.3744, Wb'/(D0-Dlat)/Gamma_1=0.2761
== A'' equal bodies, smaller eta and tau/d: L=64 g1=0.0093773 g2=0.0093773 tau1=4.396e-05 tau2=4.396e-05 eta=0.050 w=2.12
   selected lowest level, <|r|>=1.28, overlap=0.996424 (min over P 0.996404), group weight=0.996424
   E''(0): exact=6.119499e-06 band(2.10)=6.180256e-06 (6.6) sum b0/m=6.180249e-06  rel. band-exact=9.93e-03
   mu1=7.614176e+04 mu2=7.614176e+04 beta0=0.86471 Dlat=2.3826e+04 Dmark(odd parts)=-1.4252e+04 Dmark(lead)=-1.4986e+04 Dlat/|Dmark|=1.672
   D0: exact=1.112856e+04 band=9.522090e+03 (7.5)=9.573626e+03 resummed=9.558786e+03 leading=8.839926e+03
   deviation from exact D0 / (|Dlat|+|Dmark|): band -4.22e-02, (7.5) -4.08e-02, resummed -4.12e-02, leading -6.01e-02
   local inertia (7.3), max rel. error near r=0: odd parts 2.63e-03, 2.63e-03; second order 4.81e-02, 4.81e-02
   cost: dE0 exact=-1.063404e-05 <M>+K0=-1.071125e-05 (<M>=-1.1600e-05, M2(0)=-1.4652e-05, K0=8.8841e-07); (<M1odd>+<M2odd>)/<M>=2.1189
   (D0_exact-Dlat)/dE0=1.194033e+09 vs 1/tau1^2+1/tau2^2=1.035125e+09, 1/tau1^2=5.175625e+08; D0_exact/dE0=-1.046504e+09
== B unequal bodies and speeds: L=32 g1=0.056305 g2=0.028152 tau1=0.0005279 tau2=0.0002639 eta=0.150 w=1.33
   selected lowest level, <|r|>=0.57, overlap=0.989682 (min over P 0.989658), group weight=0.989686
   E''(0): exact=4.097370e-05 band(2.10)=4.211294e-05 (6.6) sum b0/m=4.211294e-05  rel. band-exact=2.78e-02
   mu1=6.558566e+03 mu2=1.274622e+04 beta0=0.67184 Dlat=9.4292e+03 Dmark(odd parts)=-4.9274e+03 Dmark(lead)=-5.5740e+03 Dlat/|Dmark|=1.914
   D0: exact=5.101118e+03 band=4.440892e+03 (7.5)=4.501822e+03 resummed=4.488702e+03 leading=3.855201e+03
   deviation from exact D0 / (|Dlat|+|Dmark|): band -4.60e-02, (7.5) -4.17e-02, resummed -4.27e-02, leading -8.68e-02
   local inertia (7.3), max rel. error near r=0: odd parts 2.30e-02, 6.15e-03; second order 2.01e-02, 1.31e-01
   cost: dE0 exact=-1.627373e-04 <M>+K0=-1.660816e-04 (<M>=-1.8503e-04, M2(0)=-2.6393e-04, K0=1.8945e-05); (<M1odd>+<M2odd>)/<M>=2.2971
   (D0_exact-Dlat)/dE0=2.659565e+07 vs 1/tau1^2+1/tau2^2=1.794460e+07, 1/tau1^2=3.588920e+06; D0_exact/dE0=-3.134572e+07
== B unequal bodies and speeds: L=64 g1=0.028132 g2=0.014066 tau1=0.0001319 tau2=6.593e-05 eta=0.150 w=1.67
   selected lowest level, <|r|>=1.00, overlap=0.993976 (min over P 0.993949), group weight=0.993978
   E''(0): exact=1.276961e-05 band(2.10)=1.298381e-05 (6.6) sum b0/m=1.298382e-05  rel. band-exact=1.68e-02
   mu1=2.625614e+04 mu2=5.102339e+04 beta0=0.81280 Dlat=1.7798e+04 Dmark(odd parts)=-1.7860e+04 Dmark(lead)=-2.0330e+04 Dlat/|Dmark|=0.997
   D0: exact=1.031369e+03 band=-2.605584e+02 (7.5)=-6.138594e+01 resummed=-8.967688e+01 leading=-2.532073e+03
   deviation from exact D0 / (|Dlat|+|Dmark|): band -3.62e-02, (7.5) -3.06e-02, resummed -3.14e-02, leading -9.99e-02
   local inertia (7.3), max rel. error near r=0: odd parts 2.50e-02, 5.36e-03; second order 2.02e-02, 1.39e-01
   cost: dE0 exact=-4.346807e-05 <M>+K0=-4.397624e-05 (<M>=-4.6676e-05, M2(0)=-6.5934e-05, K0=2.6996e-06); (<M1odd>+<M2odd>)/<M>=2.2972
   (D0_exact-Dlat)/dE0=3.857321e+08 vs 1/tau1^2+1/tau2^2=2.875347e+08, 1/tau1^2=5.750694e+07; D0_exact/dE0=-2.372704e+07
   source at s=8 (u=0.125, kappa_s=0.5631), linear in g_s:
     W0' exact=-3.892401e-07 formula(7.10)=-3.736669e-07;  Wb' exact=4.154459e-08 formula=5.122141e-08
     Gamma/phi': body1=1.417889e-08 (tau1^2=1.738920e-08) body2=3.960865e-09 (tau2^2=4.347301e-09)
     Gamma_pair/phi'=6.627261e-09 lead=8.694602e-09;  Gamma_bond/phi'=-5.370804e-08 lead(7.12)=3.916924e-09 formula=2.697206e-08
     Wb'/(D0_exact-Dlat)/phi'=3.303673e-09 vs kappa_s*2/(1/tau1^2+1/tau2^2)=3.916924e-09;  Gamma_bond/Gamma_1=-3.7879, Wb'/(D0-Dlat)/Gamma_1=0.2330
   source at s=16 (u=0.250, kappa_s=0.2505), linear in g_s:
     W0' exact=-2.932789e-07 formula(7.10)=-2.954825e-07;  Wb' exact=1.500782e-08 formula=1.353818e-08
     Gamma/phi': body1=1.543511e-08 (tau1^2=1.738920e-08) body2=4.141372e-09 (tau2^2=4.347301e-09)
     Gamma_pair/phi'=7.490116e-09 lead=8.694602e-09;  Gamma_bond/phi'=-2.910272e-08 lead(7.12)=1.742742e-09 formula=1.069336e-08
     Wb'/(D0_exact-Dlat)/phi'=1.790158e-09 vs kappa_s*2/(1/tau1^2+1/tau2^2)=1.742742e-09;  Gamma_bond/Gamma_1=-1.8855, Wb'/(D0-Dlat)/Gamma_1=0.1160
== R equal bodies, regime (ii): L=128 g1=0.014063 g2=0.014063 tau1=6.592e-05 tau2=6.592e-05 eta=0.150 w=2.91
   selected lowest level, <|r|>=2.45, overlap=0.993446 (min over P 0.993339), group weight=0.993450
   E''(0): exact=2.315069e-05 band(2.10)=2.357385e-05 (6.6) sum b0/m=2.357385e-05  rel. band-exact=1.83e-02
   mu1=2.626162e+04 mu2=2.626162e+04 beta0=0.95282 Dlat=2.6009e+03 Dmark(odd parts)=-1.2403e+04 Dmark(lead)=-1.4037e+04 Dlat/|Dmark|=0.210
   D0: exact=-9.327975e+03 band=-1.010332e+04 (7.5)=-9.801789e+03 resummed=-9.831106e+03 leading=-1.143575e+04
   deviation from exact D0 / (|Dlat|+|Dmark|): band -5.17e-02, (7.5) -3.16e-02, resummed -3.35e-02, leading -1.40e-01
   local inertia (7.3), max rel. error near r=0: odd parts 2.20e-02, 2.20e-02; second order 1.02e-01, 1.02e-01
   cost: dE0 exact=-1.995791e-05 <M>+K0=-2.020866e-05 (<M>=-2.1107e-05, M2(0)=-3.2961e-05, K0=8.9831e-07); (<M1odd>+<M2odd>)/<M>=2.4030
   (D0_exact-Dlat)/dE0=5.977005e+08 vs 1/tau1^2+1/tau2^2=4.602241e+08, 1/tau1^2=2.301120e+08; D0_exact/dE0=4.673823e+08
   source at s=16 (u=0.125, kappa_s=0.5627), linear in g_s:
     W0' exact=-1.206804e-07 formula(7.10)=-1.119109e-07;  Wb' exact=1.893055e-08 formula=2.507550e-08
     Gamma/phi': body1=3.544108e-09 (tau1^2=4.345709e-09) body2=3.544108e-09 (tau2^2=4.345709e-09)
     Gamma_pair/phi'=3.725114e-09 lead=4.345709e-09;  Gamma_bond/phi'=2.705918e-09 lead(7.12)=2.445141e-09 formula=2.923639e-09
     Wb'/(D0_exact-Dlat)/phi'=2.115940e-09 vs kappa_s*2/(1/tau1^2+1/tau2^2)=2.445141e-09;  Gamma_bond/Gamma_1=0.7635, Wb'/(D0-Dlat)/Gamma_1=0.5970
   source at s=32 (u=0.250, kappa_s=0.2501), linear in g_s:
     W0' exact=-9.409154e-08 formula(7.10)=-9.520915e-08;  Wb' exact=7.216737e-09 formula=6.416060e-09
     Gamma/phi': body1=3.857656e-09 (tau1^2=4.345709e-09) body2=3.857656e-09 (tau2^2=4.345709e-09)
     Gamma_pair/phi'=4.356568e-09 lead=4.345709e-09;  Gamma_bond/phi'=1.547332e-09 lead(7.12)=1.087024e-09 formula=1.122106e-09
     Wb'/(D0_exact-Dlat)/phi'=1.209963e-09 vs kappa_s*2/(1/tau1^2+1/tau2^2)=1.087024e-09;  Gamma_bond/Gamma_1=0.4011, Wb'/(D0-Dlat)/Gamma_1=0.3137
== C mixed signs, bound at top: L=48 g1=0.018758 g2=-0.037516 tau1=0.0001172 tau2=0.0002345 eta=0.150 w=1.04
   selected highest level, <|r|>=0.14, overlap=0.987247 (min over P 0.987241), group weight=0.987251
   E''(0): exact=1.418394e-05 band(2.10)=1.463866e-05 (6.6) sum b0/m=1.463867e-05  rel. band-exact=3.21e-02
   mu1=2.869504e+04 mu2=-1.471817e+04 beta0=0.36195 Dlat=2.4639e+04 Dmark(odd parts)=2.9466e+04 Dmark(lead)=2.5768e+04 Dlat/|Dmark|=0.836
   D0: exact=5.652541e+04 band=5.433537e+04 (7.5)=5.410423e+04 resummed=5.408365e+04 leading=5.040706e+04
   deviation from exact D0 / (|Dlat|+|Dmark|): band -4.05e-02, (7.5) -4.48e-02, resummed -4.51e-02, leading -1.13e-01
   local inertia (7.3), max rel. error near r=0: odd parts 6.24e-03, 2.04e-02; second order 1.99e-01, 2.71e-02
   cost: dE0 exact=1.185405e-04 <M>+K0=1.214758e-04 (<M>=1.2675e-04, M2(0)=1.1724e-04, K0=-5.2789e-06); (<M1odd>+<M2odd>)/<M>=1.9451
   (D0_exact-Dlat)/dE0=2.689945e+08 vs 1/tau1^2+1/tau2^2=9.094323e+07, 1/tau1^2=7.275458e+07; D0_exact/dE0=4.768447e+08
== D control: both negative, not bound: L=48 g1=-0.037516 g2=-0.037516 tau1=0.000469 tau2=0.000469 eta=0.150 w=2.10
   selected highest level, <|r|>=21.42, overlap=0.994877 (min over P 0.994788), group weight=0.994878
   E''(0): exact=-1.511180e-04 band(2.10)=-1.533368e-04 (6.6) sum b0/m=-1.533368e-04  rel. band-exact=1.47e-02
   mu1=-3.679545e+03 mu2=-3.679545e+03 beta0=0.95602 Dlat=-3.3855e+02 Dmark(odd parts)=1.1696e+03 Dmark(lead)=1.0493e+03 Dlat/|Dmark|=0.289
   D0: exact=7.417469e+02 band=8.374927e+02 (7.5)=8.310697e+02 resummed=8.322954e+02 leading=7.106973e+02
   deviation from exact D0 / (|Dlat|+|Dmark|): band 6.35e-02, (7.5) 5.92e-02, resummed 6.00e-02, leading -2.06e-02
   local inertia (7.3), max rel. error near r=0: odd parts 2.45e-02, 2.45e-02; second order 2.47e-01, 2.47e-01
   cost: dE0 exact=1.268030e-04 <M>+K0=1.278234e-04 (<M>=1.3380e-04, M2(0)=-2.3448e-04, K0=-5.9765e-06); (<M1odd>+<M2odd>)/<M>=1.8116
   (D0_exact-Dlat)/dE0=8.519514e+06 vs 1/tau1^2+1/tau2^2=9.094323e+06, 1/tau1^2=4.547161e+06; D0_exact/dE0=5.849600e+06
output/check_results.json17 KB · raw
[
 {
  "case": "A equal bodies",
  "L": 32,
  "g1": 0.0563049853372434,
  "g2": 0.0563049853372434,
  "tau1": 0.0010557184750733138,
  "tau2": 0.0010557184750733138,
  "eta": 0.15,
  "w": 1.8327471329659484,
  "mean_abs_r": 1.344939396994402,
  "overlap": 0.9840311641667091,
  "min_overlap": 0.9839401351422028,
  "group_weight": 0.9840650866868921,
  "selected": "lowest",
  "mu1": 1639.6442960847244,
  "mu2": 1639.6442960847244,
  "Epp_exact": 0.00031478294008439417,
  "Epp_band": 0.00032913617192820155,
  "Epp_66": 0.0003291357036373174,
  "beta0": 0.8730288754576903,
  "D0_exact": -102.4963564406089,
  "D0_band": -241.02481105871925,
  "Dlat": 476.9314875504384,
  "Dmark_odd": -695.2683465839864,
  "Dmark_lead": -778.2745416734859,
  "D0_formula": -218.33685903354797,
  "D0_resummed": -226.51275728974406,
  "D0_lead": -301.3430541230475,
  "local_inertia_relerr_odd": [
   0.021542933067136394,
   0.021542933068128933
  ],
  "local_inertia_relerr_lead": [
   0.09313101931302348,
   0.0931310193132946
  ],
  "dE0_exact": -0.00025104249557394986,
  "M_avg": -0.0002978319839228876,
  "M_odd_avg": [
   -0.0003538940645475316,
   -0.00035389406454741683
  ],
  "M0_second_order": -0.0005278592375366569,
  "K0": 3.871910659083244e-05,
  "dE0_formula": -0.00025911287733205513,
  "weight": []
 },
 {
  "case": "A equal bodies",
  "L": 64,
  "g1": 0.028131868131868132,
  "g2": 0.028131868131868132,
  "tau1": 0.0002637362637362637,
  "tau2": 0.0002637362637362637,
  "eta": 0.15,
  "w": 2.3096030357032844,
  "mean_abs_r": 1.8522804401795825,
  "overlap": 0.9898088992269317,
  "min_overlap": 0.9897086987407202,
  "group_weight": 0.9898197554586228,
  "selected": "lowest",
  "mu1": 6564.0381995259195,
  "mu2": 6564.0381995259195,
  "Epp_exact": 8.707640025695795e-05,
  "Epp_band": 8.958102824344986e-05,
  "Epp_66": 8.958103525488287e-05,
  "beta0": 0.9232020058728434,
  "D0_exact": -1643.9085068439417,
  "D0_band": -1964.9894874411157,
  "Dlat": 1092.0794449986404,
  "Dmark_odd": -2976.176039245119,
  "Dmark_lead": -3352.7076936360727,
  "D0_formula": -1884.0965942464784,
  "D0_resummed": -1900.351359586708,
  "D0_lead": -2260.628248637432,
  "local_inertia_relerr_odd": [
   0.021977733411842282,
   0.021977733409682898
  ],
  "local_inertia_relerr_lead": [
   0.09870314916937506,
   0.09870314917508316
  ],
  "dE0_exact": -7.278875329741474e-05,
  "M_avg": -8.008558832061284e-05,
  "M_odd_avg": [
   -9.570033724660408e-05,
   -9.570033724633865e-05
  ],
  "M0_second_order": -0.00013186813186813188,
  "K0": 5.849904570383461e-06,
  "dE0_formula": -7.423568375022938e-05,
  "weight": [
   {
    "s": 8,
    "u": 0.125,
    "kappa_s": 0.5631257631257631,
    "W0p_exact": -4.852429852954159e-07,
    "W0p_formula": -4.5281870671172845e-07,
    "Wbp_exact": 7.31813029596169e-08,
    "Wbp_formula": 9.513443904361522e-08,
    "Gamma1": -4.253664217671405e-11,
    "Gamma2": -4.253664217671405e-11,
    "Gamma_pair": -4.22532124094648e-11,
    "Gamma_pair_lead": -5.216761260717305e-11,
    "Gamma_bond": -4.45166520247006e-11,
    "Gamma_bond_lead": -2.93769266598635e-11,
    "Gamma_mark": -2.6747670036460545e-11,
    "Gamma_bond_formula": -4.208318599086622e-11,
    "phip": -0.0007500000000000002
   },
   {
    "s": 16,
    "u": 0.25,
    "kappa_s": 0.25054945054945055,
    "W0p_exact": -3.788183426414677e-07,
    "W0p_formula": -3.843168466191541e-07,
    "Wbp_exact": 2.6448208010071897e-08,
    "Wbp_formula": 2.2204104956742522e-08,
    "Gamma1": -3.0870215737075506e-11,
    "Gamma2": -3.0870215737075506e-11,
    "Gamma_pair": -3.2986137628525886e-11,
    "Gamma_pair_lead": -3.477840840478202e-11,
    "Gamma_bond": -1.6088613143591853e-11,
    "Gamma_bond_lead": -8.71371111680253e-12,
    "Gamma_mark": -9.666785262069612e-12,
    "Gamma_bond_formula": -9.822094796048751e-12,
    "phip": -0.0005
   }
  ]
 },
 {
  "case": "A' equal bodies, smaller eta",
  "L": 64,
  "g1": 0.009377289377289377,
  "g2": 0.009377289377289377,
  "tau1": 8.791208791208791e-05,
  "tau2": 8.791208791208791e-05,
  "eta": 0.05,
  "w": 3.3688950056290183,
  "mean_abs_r": 2.4183951980562455,
  "overlap": 0.995018659396165,
  "min_overlap": 0.9949393308957988,
  "group_weight": 0.9950194788404239,
  "selected": "lowest",
  "mu1": 19035.44187708198,
  "mu2": 19035.44187708198,
  "Epp_exact": 2.6605950683341224e-05,
  "Epp_band": 2.699289532633505e-05,
  "Epp_66": 2.6992900999322902e-05,
  "beta0": 0.951748781177068,
  "D0_exact": -485.3070573639561,
  "D0_band": -1024.0936891826823,
  "Dlat": 1930.0960286313364,
  "Dmark_odd": -2937.454722970387,
  "Dmark_lead": -3081.188167593669,
  "D0_formula": -1007.3586943390508,
  "D0_resummed": -1016.929828636079,
  "D0_lead": -1151.0921389623325,
  "local_inertia_relerr_odd": [
   0.0026301820311589452,
   0.0026301820094420947
  ],
  "local_inertia_relerr_lead": [
   0.04805908650918511,
   0.048059086513407734
  ],
  "dE0_exact": -9.04133254531203e-06,
  "M_avg": -1.0402557269269155e-05,
  "M_odd_avg": [
   -1.0983809347177984e-05,
   -1.098380934731312e-05
  ],
  "M0_second_order": -1.4652014652014653e-05,
  "K0": 1.2674047477990215e-06,
  "dE0_formula": -9.135152521470134e-06,
  "weight": [
   {
    "s": 8,
    "u": 0.125,
    "kappa_s": 0.5631257631257631,
    "W0p_exact": -1.983420231394368e-07,
    "W0p_formula": -1.973521937256786e-07,
    "Wbp_exact": 9.455913829131042e-09,
    "Wbp_formula": 1.0051635656172822e-08,
    "Gamma1": -5.458185271200598e-12,
    "Gamma2": -5.458185271200598e-12,
    "Gamma_pair": -5.2770780860819795e-12,
    "Gamma_pair_lead": -5.796401400797006e-12,
    "Gamma_bond": -1.948439381964227e-11,
    "Gamma_bond_lead": -3.2641029622070564e-12,
    "Gamma_mark": -3.914838845721948e-12,
    "Gamma_bond_formula": -8.732259839107237e-12,
    "phip": -0.0007500000000000002
   },
   {
    "s": 16,
    "u": 0.25,
    "kappa_s": 0.25054945054945055,
    "W0p_exact": -1.4027767917333278e-07,
    "W0p_formula": -1.4072787457393405e-07,
    "Wbp_exact": 2.5015088548531196e-09,
    "Wbp_formula": 2.121217725707702e-09,
    "Gamma1": -3.750351290770065e-12,
    "Gamma2": -3.750351290770065e-12,
    "Gamma_pair": -3.732221014059254e-12,
    "Gamma_pair_lead": -3.864267600531336e-12,
    "Gamma_bond": -5.154486869489542e-12,
    "Gamma_bond_lead": -9.6819012408917e-13,
    "Gamma_mark": -1.0356486125885468e-12,
    "Gamma_bond_formula": -1.842787083595152e-12,
    "phip": -0.0005
   }
  ]
 },
 {
  "case": "A'' equal bodies, smaller eta and tau/d",
  "L": 64,
  "g1": 0.009377289377289377,
  "g2": 0.009377289377289377,
  "tau1": 4.3956043956043955e-05,
  "tau2": 4.3956043956043955e-05,
  "eta": 0.05,
  "w": 2.122270866238854,
  "mean_abs_r": 1.2849561765856394,
  "overlap": 0.9964238428423055,
  "min_overlap": 0.9964037259439015,
  "group_weight": 0.9964244551474777,
  "selected": "lowest",
  "mu1": 76141.76040125568,
  "mu2": 76141.76040125568,
  "Epp_exact": 6.119498519030486e-06,
  "Epp_band": 6.180255566571684e-06,
  "Epp_66": 6.180248781661933e-06,
  "beta0": 0.8647094125015735,
  "D0_exact": 11128.562212165183,
  "D0_band": 9522.090169953663,
  "Dlat": 23825.95435858416,
  "Dmark_odd": -14252.327896805256,
  "Dmark_lead": -14986.02877833496,
  "D0_formula": 9573.626461778904,
  "D0_resummed": 9558.786437732808,
  "D0_lead": 8839.9255802492,
  "local_inertia_relerr_odd": [
   0.0026301820311589452,
   0.0026301820094420947
  ],
  "local_inertia_relerr_lead": [
   0.04805908650918511,
   0.048059086513407734
  ],
  "dE0_exact": -1.0634036258672097e-05,
  "M_avg": -1.1599660488809132e-05,
  "M_odd_avg": [
   -1.2289210960520752e-05,
   -1.2289210960572703e-05
  ],
  "M0_second_order": -1.4652014652014653e-05,
  "K0": 8.884125267492198e-07,
  "dE0_formula": -1.0711247962059912e-05,
  "weight": []
 },
 {
  "case": "B unequal bodies and speeds",
  "L": 32,
  "g1": 0.0563049853372434,
  "g2": 0.0281524926686217,
  "tau1": 0.0005278592375366569,
  "tau2": 0.00026392961876832845,
  "eta": 0.15,
  "w": 1.325898845088935,
  "mean_abs_r": 0.5668833881910517,
  "overlap": 0.9896822290450425,
  "min_overlap": 0.98965815967158,
  "group_weight": 0.9896859423132173,
  "selected": "lowest",
  "mu1": 6558.565598513323,
  "mu2": 12746.218269754845,
  "Epp_exact": 4.097369527000794e-05,
  "Epp_band": 4.2112938136718014e-05,
  "Epp_66": 4.211293707092824e-05,
  "beta0": 0.6718444943982321,
  "D0_exact": 5101.118343143633,
  "D0_band": 4440.892446180189,
  "Dlat": 9429.22233291291,
  "Dmark_odd": -4927.39988109918,
  "Dmark_lead": -5574.020884061754,
  "D0_formula": 4501.82245181373,
  "D0_resummed": 4488.702368347862,
  "D0_lead": 3855.201448851156,
  "local_inertia_relerr_odd": [
   0.022977259507397596,
   0.00614866489256638
  ],
  "local_inertia_relerr_lead": [
   0.02013182512531675,
   0.13133482895029758
  ],
  "dE0_exact": -0.00016273730186289193,
  "M_avg": -0.000185026546769401,
  "M_odd_avg": [
   -0.0002226571479183841,
   -0.00020236548529616695
  ],
  "M0_second_order": -0.00026392961876832845,
  "K0": 1.8944992143658838e-05,
  "dE0_formula": -0.00016608155462574217,
  "weight": []
 },
 {
  "case": "B unequal bodies and speeds",
  "L": 64,
  "g1": 0.028131868131868132,
  "g2": 0.014065934065934066,
  "tau1": 0.00013186813186813186,
  "tau2": 6.593406593406593e-05,
  "eta": 0.15,
  "w": 1.6708945969605875,
  "mean_abs_r": 1.003777050283271,
  "overlap": 0.9939756189861407,
  "min_overlap": 0.9939489831949345,
  "group_weight": 0.9939781460896826,
  "selected": "lowest",
  "mu1": 26256.144506579316,
  "mu2": 51023.392618899015,
  "Epp_exact": 1.2769613514744075e-05,
  "Epp_band": 1.2983814671555885e-05,
  "Epp_66": 1.2983817578865905e-05,
  "beta0": 0.8128019949223526,
  "D0_exact": 1031.3685918621413,
  "D0_band": -260.5584398101564,
  "Dlat": 17798.40019289757,
  "Dmark_odd": -17859.786130804398,
  "Dmark_lead": -20330.4730656598,
  "D0_formula": -61.385937906827166,
  "D0_resummed": -89.6768817874181,
  "D0_lead": -2532.07287276223,
  "local_inertia_relerr_odd": [
   0.0250382655584942,
   0.005361734641677884
  ],
  "local_inertia_relerr_lead": [
   0.020245655925403283,
   0.13933009222855008
  ],
  "dE0_exact": -4.346806880461962e-05,
  "M_avg": -4.667587625291473e-05,
  "M_odd_avg": [
   -5.616698731878457e-05,
   -5.105497937132117e-05
  ],
  "M0_second_order": -6.593406593406594e-05,
  "K0": 2.6996374928449425e-06,
  "dE0_formula": -4.3976238760069794e-05,
  "weight": [
   {
    "s": 8,
    "u": 0.125,
    "kappa_s": 0.5631257631257631,
    "W0p_exact": -3.892401303757905e-07,
    "W0p_formula": -3.736668858930333e-07,
    "Wbp_exact": 4.1544586800045594e-08,
    "Wbp_formula": 5.1221412621638934e-08,
    "Gamma1": -1.063416390237915e-11,
    "Gamma2": -2.9706486626719798e-12,
    "Gamma_pair": -4.9704460293274404e-12,
    "Gamma_pair_lead": -6.520951575896631e-12,
    "Gamma_bond": 4.028102768287391e-11,
    "Gamma_bond_lead": -2.9376926659863507e-12,
    "Gamma_mark": -2.4777544283676338e-12,
    "Gamma_bond_formula": -2.0229043631655696e-11,
    "phip": -0.0007500000000000002
   },
   {
    "s": 16,
    "u": 0.25,
    "kappa_s": 0.25054945054945055,
    "W0p_exact": -2.9327887932947586e-07,
    "W0p_formula": -2.9548246846839816e-07,
    "Wbp_exact": 1.5007815620501544e-08,
    "Wbp_formula": 1.353818121159214e-08,
    "Gamma1": -7.717556371423595e-12,
    "Gamma2": -2.070685899178599e-12,
    "Gamma_pair": -3.745057941074671e-12,
    "Gamma_pair_lead": -4.347301050597753e-12,
    "Gamma_bond": 1.4551359949215494e-11,
    "Gamma_bond_lead": -8.713711116802529e-13,
    "Gamma_mark": -8.95078865335636e-13,
    "Gamma_bond_formula": -5.3466791407244864e-12,
    "phip": -0.0005
   }
  ]
 },
 {
  "case": "R equal bodies, regime (ii)",
  "L": 128,
  "g1": 0.014063358359274858,
  "g2": 0.014063358359274858,
  "tau1": 6.592199230910089e-05,
  "tau2": 6.592199230910089e-05,
  "eta": 0.15,
  "w": 2.9100706227386985,
  "mean_abs_r": 2.4493950140478526,
  "overlap": 0.9934460672710456,
  "min_overlap": 0.9933386291748881,
  "group_weight": 0.9934498075396827,
  "selected": "lowest",
  "mu1": 26261.61588229118,
  "mu2": 26261.61588229118,
  "Epp_exact": 2.3150690068677687e-05,
  "Epp_band": 2.35738456533241e-05,
  "Epp_66": 2.3573846525091682e-05,
  "beta0": 0.9528177592042348,
  "D0_exact": -9327.975077483628,
  "D0_band": -10103.3212537662,
  "Dlat": 2600.8790711016923,
  "Dmark_odd": -12402.667819350407,
  "Dmark_lead": -14036.628695599904,
  "D0_formula": -9801.788748248715,
  "D0_resummed": -9831.106295667472,
  "D0_lead": -11435.749624498212,
  "local_inertia_relerr_odd": [
   0.021978107329594376,
   0.02197810732411809
  ],
  "local_inertia_relerr_lead": [
   0.10194324619340989,
   0.10194324619519579
  ],
  "dE0_exact": -1.9957913118151538e-05,
  "M_avg": -2.1106972177047894e-05,
  "M_odd_avg": [
   -2.535989036719699e-05,
   -2.5359890367099394e-05
  ],
  "M0_second_order": -3.296099615455045e-05,
  "K0": 8.983118366981609e-07,
  "dE0_formula": -2.0208660340349733e-05,
  "weight": [
   {
    "s": 16,
    "u": 0.125,
    "kappa_s": 0.5626564121345297,
    "W0p_exact": -1.2068044455408932e-07,
    "W0p_formula": -1.119109069569931e-07,
    "Wbp_exact": 1.8930553763518165e-08,
    "Wbp_formula": 2.5075500060710112e-08,
    "Gamma1": -2.658080883967053e-12,
    "Gamma2": -2.658080883967053e-12,
    "Gamma_pair": -2.7938355692219637e-12,
    "Gamma_pair_lead": -3.259281802500869e-12,
    "Gamma_bond": -2.0294387159345827e-12,
    "Gamma_bond_lead": -1.8338558051305017e-12,
    "Gamma_mark": -1.5869549185294714e-12,
    "Gamma_bond_formula": -2.1927290194419937e-12,
    "phip": -0.0007500000000000002
   },
   {
    "s": 32,
    "u": 0.25,
    "kappa_s": 0.2501373374839773,
    "W0p_exact": -9.409154038143492e-08,
    "W0p_formula": -9.520915134022309e-08,
    "Wbp_exact": 7.216737274318982e-09,
    "Wbp_formula": 6.4160600226928765e-09,
    "Gamma1": -1.9288279538820846e-12,
    "Gamma2": -1.9288279538820846e-12,
    "Gamma_pair": -2.1782840894550707e-12,
    "Gamma_pair_lead": -2.172854535000579e-12,
    "Gamma_bond": -7.736660115804912e-13,
    "Gamma_bond_lead": -5.435120481250304e-13,
    "Gamma_mark": -6.049816004477544e-13,
    "Gamma_bond_formula": -5.610528590926898e-13,
    "phip": -0.0005
   }
  ]
 },
 {
  "case": "C mixed signs, bound at top",
  "L": 48,
  "g1": 0.018758141554494137,
  "g2": -0.037516283108988274,
  "tau1": 0.00011723838471558836,
  "tau2": 0.00023447676943117671,
  "eta": 0.15,
  "w": 1.041158777266058,
  "mean_abs_r": 0.13810469706220166,
  "overlap": 0.9872470164252138,
  "min_overlap": 0.9872407975217956,
  "group_weight": 0.9872508634337078,
  "selected": "highest",
  "mu1": 28695.039374734657,
  "mu2": -14718.174725381527,
  "Epp_exact": 1.41839403185647e-05,
  "Epp_band": 1.4638664354767647e-05,
  "Epp_66": 1.4638669644285296e-05,
  "beta0": 0.36194934333642304,
  "D0_exact": 56525.40605543449,
  "D0_band": 54335.37366647844,
  "Dlat": 24638.662375825024,
  "Dmark_odd": 29465.56672362502,
  "Dmark_lead": 25768.396683095776,
  "D0_formula": 54104.22909945004,
  "D0_resummed": 54083.6525152033,
  "D0_lead": 50407.0590589208,
  "local_inertia_relerr_odd": [
   0.0062409256729185625,
   0.020386497436961193
  ],
  "local_inertia_relerr_lead": [
   0.19896339071360192,
   0.027120520856631414
  ],
  "dE0_exact": 0.0001185404929811007,
  "M_avg": 0.00012675474438460338,
  "M_odd_avg": [
   0.0001387636346384607,
   0.00010778416296783596
  ],
  "M0_second_order": 0.00011723838471558834,
  "K0": -5.278908675757847e-06,
  "dE0_formula": 0.00012147583570884553,
  "weight": []
 },
 {
  "case": "D control: both negative, not bound",
  "L": 48,
  "g1": -0.037516283108988274,
  "g2": -0.037516283108988274,
  "tau1": 0.00046895353886235343,
  "tau2": 0.00046895353886235343,
  "eta": 0.15,
  "w": 2.1005640771122627,
  "mean_abs_r": 21.41793162576503,
  "overlap": 0.9948770368788429,
  "min_overlap": 0.9947877040730574,
  "group_weight": 0.9948781453346494,
  "selected": "highest",
  "mu1": -3679.5454725828235,
  "mu2": -3679.5454725828235,
  "Epp_exact": -0.00015111803123672254,
  "Epp_band": -0.00015333678475097182,
  "Epp_66": -0.00015333676603768485,
  "beta0": 0.9560185993338246,
  "D0_exact": 741.7469272732651,
  "D0_band": 837.4927077730504,
  "Dlat": -338.55317001540504,
  "Dmark_odd": 1169.6228608362699,
  "Dmark_lead": 1049.2504842413816,
  "D0_formula": 831.0696908208648,
  "D0_resummed": 832.2954273496725,
  "D0_lead": 710.6973142259766,
  "local_inertia_relerr_odd": [
   0.024542144961621215,
   0.024542144959293966
  ],
  "local_inertia_relerr_lead": [
   0.24719812611666203,
   0.2471981261149223
  ],
  "dE0_exact": 0.000126803026265776,
  "M_avg": 0.00013379986126178575,
  "M_odd_avg": [
   0.00012119358067069624,
   0.00012119358067071473
  ],
  "M0_second_order": -0.0002344767694311767,
  "K0": -5.976471957459334e-06,
  "dE0_formula": 0.0001278233893043264,
  "weight": []
 }
]

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.