07-ilang-weight / 02-two-free-bodies
02two free bodiesverified
Determines the conserved quantities of two bodies and their field, whether a body acts on the other as strongly as it is acted upon, and how their accelerations are related to their inertias.
check_held_pair.py6 KB · raw
"""Check of item 2 (held bodies) of 07-ilang-weight/02-two-free-bodies.
N_f = 1 field object on a ring of L places, own term C_1 = -t_f sum (|x><x+1| + h.c.),
two held bodies acting as point terms g_1 P_{x1} + g_2 P_{x2}, g_i = sigma_i gamma_i M_i.
Compares the exact mutual term
M(x1,x2) = eps0(g1,g2) - eps0(g1,0) - eps0(0,g2) + eps0(0,0) (N_f = 1, n = 1/L)
with the closed forms (2.6)-(2.8) of the derivation, and checks translation, reflection and
exchange invariance (2.4), the non-product form at third order (2.9) and the highest-state map (2.5).
Output: output/held_pair.json and output/held_pair.log
"""
import json
from pathlib import Path
import numpy as np
OUT = Path(__file__).parent / "output"
OUT.mkdir(exist_ok=True)
def h_field(L, tf, pts):
H = np.zeros((L, L))
for x in range(L):
H[x, (x + 1) % L] -= tf
H[(x + 1) % L, x] -= tf
for x, g in pts:
H[x, x] += g
return H
def eps(L, tf, pts, top=False):
w = np.linalg.eigvalsh(h_field(L, tf, pts))
return w[-1] if top else w[0]
def mutual(L, tf, g1, g2, x1, x2, top=False):
return (eps(L, tf, [(x1, g1), (x2, g2)], top) - eps(L, tf, [(x1, g1)], top)
- eps(L, tf, [(x2, g2)], top) + eps(L, tf, [], top))
def lam_closed(L, d):
u = d * (L - d)
return (L**2 - 1) / (12 * L) - u / (2 * L)
def lam2_closed(L, d):
u = d * (L - d)
return (L**2 - 1) * (L**2 + 11) / (720 * L) - u / (12 * L) - u**2 / (24 * L)
def m2_closed(L, tf, g1, g2, d, n):
return -2 * n * g1 * g2 / tf * lam_closed(L, d)
def m3_closed(L, tf, g1, g2, d, n):
u = d * (L - d)
b3 = (20 * u**2 - 10 * (L**2 - 2) * u + (L**2 - 1) * (L**2 - 4)) / (60 * L**2)
return n / tf**2 * g1 * g2 * (g1 + g2) * b3
def run(L, tf, g1, g2):
n = 1.0 / L
res = {"L": L, "t_f": tf, "g1": g1, "g2": g2,
"kato_bound_|g1|+|g2|<": 2 * tf * np.sin(np.pi / L) ** 2}
# closed forms of Lambda^+ and (Lambda^+)^2 against the pseudo-inverse of the ring Laplacian
lap = h_field(L, 1.0, []) + 2 * np.eye(L)
lp = np.linalg.pinv(lap)
lp2 = lp @ lp
ds = np.arange(L)
res["max_err_Lambda_closed"] = float(np.max(np.abs(lp[0, ds] - lam_closed(L, ds))))
res["max_err_Lambda2_closed"] = float(np.max(np.abs(lp2[0, ds] - lam2_closed(L, ds))))
# exact mutual term for all position pairs
Mx = np.array([[mutual(L, tf, g1, g2, a, b) for b in range(L)] for a in range(L)])
Md = Mx[0]
res["max_dev_translation"] = float(np.max(np.abs(Mx - np.array(
[[Md[(b - a) % L] for b in range(L)] for a in range(L)]))))
res["max_dev_reflection"] = float(np.max(np.abs(Md - Md[(-ds) % L])))
Mswap = np.array([mutual(L, tf, g2, g1, 0, d) for d in ds])
res["max_dev_exchange"] = float(np.max(np.abs(Md - Mswap)))
# discrete forces F1 = -dM/dx1, F2 = -dM/dx2 (symmetric differences)
F1 = np.array([-(Mx[1, d] - Mx[L - 1, d]) / 2 for d in ds])
F2 = np.array([-(Mx[0, (d + 1) % L] - Mx[0, (d - 1) % L]) / 2 for d in ds])
res["max_|F1+F2|"] = float(np.max(np.abs(F1 + F2)))
# perturbative comparison at three scales of the couplings
scal = []
for s in [1.0, 0.5, 0.25]:
a1, a2 = s * g1, s * g2
Me = np.array([mutual(L, tf, a1, a2, 0, d) for d in ds])
Mm = np.array([mutual(L, tf, -a1, -a2, 0, d) for d in ds])
m2 = m2_closed(L, tf, a1, a2, ds, n)
m3 = m3_closed(L, tf, a1, a2, ds, n)
scal.append({"scale": s,
"max|M|": float(np.max(np.abs(Me))),
"max|M-M2|": float(np.max(np.abs(Me - m2))),
"max|M-M2-M3|": float(np.max(np.abs(Me - m2 - m3))),
"max|odd part - M3|": float(np.max(np.abs((Me - Mm) / 2 - m3)))})
res["scaling"] = scal
res["ratio_resid4_s1_over_s0.5"] = scal[0]["max|M-M2-M3|"] / scal[1]["max|M-M2-M3|"]
# non-product form: M3/M2 as a function of d (exact odd part / closed M2)
Me = np.array([mutual(L, tf, g1, g2, 0, d) for d in ds])
Mm = np.array([mutual(L, tf, -g1, -g2, 0, d) for d in ds])
m2 = m2_closed(L, tf, g1, g2, ds, n)
res["d"] = ds.tolist()
res["M_exact"] = Me.tolist()
res["M2_closed"] = m2.tolist()
res["M3_closed"] = m3_closed(L, tf, g1, g2, ds, n).tolist()
res["odd_part_over_M2"] = ((Me - Mm) / 2 / m2).tolist()
# highest state: M_top(g1,g2) = -M_low(-g1,-g2) for even L
if L % 2 == 0:
Mt = np.array([mutual(L, tf, g1, g2, 0, d, top=True) for d in ds])
res["max_dev_top_map"] = float(np.max(np.abs(Mt + Mm)))
return res
def main():
tf = 1.0
results = [run(8, tf, 0.04, -0.07), run(13, tf, 0.05, -0.03), run(13, tf, 0.03, 0.06)]
(OUT / "held_pair.json").write_text(json.dumps(results, indent=1))
lines = []
for r in results:
lines.append(f"L={r['L']} t_f={r['t_f']} g1={r['g1']} g2={r['g2']} "
f"(Kato bound {r['kato_bound_|g1|+|g2|<']:.4f})")
for k in ["max_err_Lambda_closed", "max_err_Lambda2_closed", "max_dev_translation",
"max_dev_reflection", "max_dev_exchange", "max_|F1+F2|", "max_dev_top_map"]:
if k in r:
lines.append(f" {k}: {r[k]:.3e}")
for s in r["scaling"]:
lines.append(" scale {scale}: max|M|={a:.3e} max|M-M2|={b:.3e} "
"max|M-M2-M3|={c:.3e} max|odd-M3|={e:.3e}".format(
scale=s["scale"], a=s["max|M|"], b=s["max|M-M2|"],
c=s["max|M-M2-M3|"], e=s["max|odd part - M3|"]))
lines.append(f" residual ratio (scale 1 / scale 1/2): {r['ratio_resid4_s1_over_s0.5']:.2f}"
" (16 expected for O(g^4))")
lines.append(" d, M_exact, M2, M3, (odd part)/M2:")
for d in r["d"]:
lines.append(f" {d:2d} {r['M_exact'][d]: .6e} {r['M2_closed'][d]: .6e} "
f"{r['M3_closed'][d]: .6e} {r['odd_part_over_M2'][d]: .5f}")
(OUT / "held_pair.log").write_text("\n".join(lines) + "\n")
print("\n".join(lines))
if __name__ == "__main__":
main()
check_mutual_fall.py13 KB · raw
"""Check of item 3 (mutual fall) of 07-ilang-weight/02-two-free-bodies.
Two Model D bodies (each in one clock level, half-gap M_i, motion amplitude tau_i, branch sigma_i,
coupling (a) or (c) with constant gamma_i) and N_f = 1 field object on a ring of L places.
The total contract commutes with the joint translation, so it is diagonalized in the L sectors of the
total plane-wave label P (relative coordinates, field object at y = 0 in the representative).
Start: the product of real Gaussian envelopes phi1, phi2 in the adiabatic basis
|x1,sigma1,x2,sigma2> (x) Omega(x1,x2) (Omega = field state, lowest or highest, of the held problem),
projected on the isolated group of levels connected to it (the band), and normalized.
Exact accelerations at lambda = 0: a_i = i <[C, v_i]>, v_i = i[C, x_i] (minimal-image displacement).
Joint evolution: <v_i>(lambda) from the exact evolution inside the band, slope at 0 from a cubic fit.
Prediction (2.12): a_i = -E''_i sum w_i(j,l) d_i W(j,l), E''_i from the band of the single body with the
field (same parameters), W the exact held eigenvalue. Deviation dev_i = a_i/pred_i - 1 at
tau-scale s = 1, 1/2, 1/4, extrapolated to s -> 0 (coefficient of tau^2) and compared with the
in-situ estimate (2.16).
Output: output/mutual_fall.json and output/mutual_fall.log
"""
import json
from pathlib import Path
import numpy as np
OUT = Path(__file__).parent / "output"
OUT.mkdir(exist_ok=True)
L = 14
TF = 0.5
S1 = np.array([[0, 1], [1, 0]], dtype=complex)
S3 = np.diag([1.0, -1.0]).astype(complex)
I2 = np.eye(2)
IDX = {+1: 0, -1: 1}
def shift(L, k):
"""|x> -> |x+k>."""
S = np.zeros((L, L))
for x in range(L):
S[(x + k) % L, x] = 1.0
return S
def h_field(pts):
H = -TF * (shift(L, 1) + shift(L, -1))
for x, g in pts:
H[x, x] += g
return H
def field_state(pts, top):
w, V = np.linalg.eigh(h_field(pts))
if top:
v, e = V[:, -1], w[-1]
v = v * np.sign(np.sum(v * (-1.0) ** np.arange(L)))
else:
v, e = V[:, 0], w[0]
v = v * np.sign(np.sum(v))
return e, v
def body_ops(b):
"""Own term + coupling (field object at y = 0) and velocity of one body, on (x, s): index 2x+s."""
M, tau, gam, cpl = b["M"], b["tau"], b["gamma"], b["coupling"]
P0 = np.zeros((L, L)); P0[0, 0] = 1.0
H = np.kron(np.eye(L), M * S3) + gam * M * np.kron(P0, S3)
V = np.zeros((2 * L, 2 * L), dtype=complex)
for x in range(L):
f = 1.0
if cpl == "c":
f += gam * 0.5 * ((x == 0) + ((x + 1) % L == 0))
E = np.zeros((L, L)); E[(x + 1) % L, x] = 1.0 # |x+1><x|
H = H + 0.5 * tau * f * (np.kron(E, -1j * S1) + np.kron(E.T, 1j * S1))
V = V - 0.5 * tau * f * (np.kron(E, S1) + np.kron(E.T, S1))
return H, V
def single_band_curv(b, top):
"""E'' at the rest point of the band of one body with the field (N_f = 1)."""
Hb, _ = body_ops(b)
Sm = np.kron(shift(L, -1), I2)
Sp = np.kron(shift(L, 1), I2)
g = b["sigma"] * b["gamma"] * b["M"]
_, om = field_state([(0, g)], top)
Es = []
for m in range(L):
P = 2 * np.pi * m / L
H = Hb - TF * (np.exp(-1j * P) * Sm + np.exp(1j * P) * Sp)
w, V = np.linalg.eigh(H)
G = np.zeros(2 * L, dtype=complex)
for t in range(L):
G[2 * ((-t) % L) + IDX[b["sigma"]]] = np.exp(-1j * P * t) * om[t]
ov = np.abs(G.conj() @ V) ** 2
k = int(np.argmax(ov))
assert ov[k] > 0.5
Es.append(w[k])
Es = np.array(Es)
rs = np.arange(-(L // 2) + 1, L // 2 + 1)
Ps = 2 * np.pi * np.arange(L) / L
kap = np.array([np.mean(Es * np.exp(1j * Ps * r)) for r in rs])
Prest = np.pi if top else 0.0
return float(np.real(-np.sum(rs ** 2 * kap * np.exp(-1j * Prest * rs))))
def gauss(center, w):
j = np.arange(L)
dj = (j - center + L / 2) % L - L / 2
f = np.exp(-dj ** 2 / (4 * w ** 2))
return f / np.linalg.norm(f)
def run_case(b1, b2, top, xc, widths, scale):
b1 = dict(b1, tau=b1["tau"] * scale)
b2 = dict(b2, tau=b2["tau"] * scale)
g1 = b1["sigma"] * b1["gamma"] * b1["M"]
g2 = b2["sigma"] * b2["gamma"] * b2["M"]
D = 4 * L * L
H1, V1 = body_ops(b1)
H2, V2 = body_ops(b2)
I = np.eye(2 * L)
H0 = np.kron(H1, I) + np.kron(I, H2)
v1 = np.kron(V1, I)
v2 = np.kron(I, V2)
Sm = np.kron(np.kron(shift(L, -1), I2), np.kron(shift(L, -1), I2))
Sp = Sm.T
# held problem: field states and eigenvalues W(j,l)
W = np.zeros((L, L))
Om = np.zeros((L, L, L))
for j in range(L):
for l in range(L):
W[j, l], Om[j, l] = field_state([(j, g1), (l, g2)], top)
phi1 = gauss(xc[0], widths[0])
phi2 = gauss(xc[1], widths[1])
s1, s2 = IDX[b1["sigma"]], IDX[b2["sigma"]]
def rep(x1, x2):
return ((2 * (x1 % L) + s1) * L + (x2 % L)) * 2 + s2
tt = np.arange(L)
X1 = (tt[None, :, None] + tt[:, None, None]) % L # [t, x1, 1] -> x1 + t
X2 = (tt[None, None, :] + tt[:, None, None]) % L # [t, 1, x2] -> x2 + t
F = phi1[X1] * phi2[X2] * Om[X1, X2, tt[:, None, None]]
acc = np.zeros(2)
lam = np.linspace(0.0, 60.0, 13)
vel = np.zeros((len(lam), 2))
norm2 = 0.0
store = []
for m in range(L):
P = 2 * np.pi * m / L
H = H0 - TF * (np.exp(-1j * P) * Sm + np.exp(1j * P) * Sp)
w, V = np.linalg.eigh(H)
# group of the held problem in this sector
G = np.zeros((D, L), dtype=complex)
for d in range(L):
for t in range(L):
G[rep(-t, d - t), d] = np.exp(-1j * P * t) * Om[0, d % L][t]
ov = np.sum(np.abs(G.conj().T @ V) ** 2, axis=0)
band = ov > 0.5
assert band.sum() == L, band.sum()
Vb, Eb = V[:, band], w[band]
# start in this sector
psi = np.zeros(D, dtype=complex)
amp = np.einsum("t,txy->xy", np.exp(-1j * P * tt), F) / np.sqrt(L)
for x1 in range(L):
for x2 in range(L):
psi[rep(x1, x2)] = amp[x1, x2]
c = Vb.conj().T @ psi
norm2 += np.vdot(c, c).real
store.append((H, Vb, Eb, c))
for H, Vb, Eb, c in store:
c = c / np.sqrt(norm2)
ps = Vb @ c
for i, v in enumerate([v1, v2]):
acc[i] += np.real(np.vdot(ps, 1j * (H @ (v @ ps) - v @ (H @ ps))))
for k, la in enumerate(lam):
pl = Vb @ (np.exp(-1j * Eb * la) * c)
vel[k, i] += np.real(np.vdot(pl, v @ pl))
slope = [np.polyfit(lam, vel[:, i], 3)[-2] for i in range(2)]
# prediction
Ec1 = single_band_curv(b1, top)
Ec2 = single_band_curv(b2, top)
j = np.arange(L)
d1W = (W[(j + 1) % L, :] - W[(j - 1) % L, :]) / 2 # d1W[j, l]
d2W = (W[:, (j + 1) % L] - W[:, (j - 1) % L]) / 2 # d2W[j, l]
w1 = np.outer(phi1[(j + 1) % L] * phi1[(j - 1) % L], phi2 ** 2)
w2 = np.outer(phi1 ** 2, phi2[(j + 1) % L] * phi2[(j - 1) % L])
pred = np.array([-Ec1 * np.sum(w1 * d1W), -Ec2 * np.sum(w2 * d2W)])
# in-situ estimate (2.16): relative change -/+ gamma_i * [1,2,1]/4-average of the change of the
# field density made by the other body at the hopping body's site; upper sign (a), lower (c)
drho2 = np.array([field_state([(l, g2)], top)[1] ** 2 - 1.0 / L for l in range(L)]) # [l, y]
drho1 = np.array([field_state([(l, g1)], top)[1] ** 2 - 1.0 / L for l in range(L)]) # [j, y]
av2 = (np.roll(drho2, 1, axis=1) + 2 * drho2 + np.roll(drho2, -1, axis=1)) / 4 # [l, y]
av1 = (np.roll(drho1, 1, axis=1) + 2 * drho1 + np.roll(drho1, -1, axis=1)) / 4 # [j, y]
R1 = av2.T # R1[j, l]: average density change by body 2 (at l) around site j
R2 = av1 # R2[j, l]: average density change by body 1 (at j) around site l
sg = [(-1.0 if b["coupling"] == "a" else 1.0) * b["gamma"] for b in (b1, b2)]
insitu = np.array([sg[0] * np.sum(w1 * R1 * d1W) / np.sum(w1 * d1W),
sg[1] * np.sum(w2 * R2 * d2W) / np.sum(w2 * d2W)])
return {"scale": scale, "a_exact": acc.tolist(), "a_evolution": slope,
"v_at_0": vel[0].tolist(), "a_pred": pred.tolist(), "Epp": [Ec1, Ec2],
"dev": (acc / pred - 1).tolist(),
"ratio_exact": acc[0] / acc[1], "ratio_pred": pred[0] / pred[1],
"inertia_ratio": -Ec1 / Ec2, "insitu_est": insitu.tolist(),
"c_factors": [float(np.sum(phi1[(j + 1) % L] * phi1[(j - 1) % L])),
float(np.sum(phi2[(j + 1) % L] * phi2[(j - 1) % L]))]}
CASES = [
{"name": "A: (a), sigma=(+,+), lowest", "top": False,
"b1": {"M": 2.0, "tau": 0.10, "gamma": 0.025, "sigma": +1, "coupling": "a"},
"b2": {"M": 3.0, "tau": 0.15, "gamma": 0.02, "sigma": +1, "coupling": "a"},
"xc": (3, 8), "widths": (1.3, 1.3)},
{"name": "B: (c), sigma=(+,-), lowest", "top": False,
"b1": {"M": 2.5, "tau": 0.12, "gamma": 0.02, "sigma": +1, "coupling": "c"},
"b2": {"M": 1.6, "tau": 0.08, "gamma": 0.03, "sigma": -1, "coupling": "c"},
"xc": (3, 8), "widths": (1.3, 1.3)},
{"name": "C: (a), sigma=(-,-), highest", "top": True,
"b1": {"M": 2.0, "tau": 0.10, "gamma": 0.025, "sigma": -1, "coupling": "a"},
"b2": {"M": 3.0, "tau": 0.15, "gamma": 0.02, "sigma": -1, "coupling": "a"},
"xc": (3, 8), "widths": (1.3, 1.3)},
{"name": "D: (c), sigma=(+,+), lowest, unequal widths", "top": False,
"b1": {"M": 2.0, "tau": 0.10, "gamma": 0.025, "sigma": +1, "coupling": "c"},
"b2": {"M": 3.0, "tau": 0.15, "gamma": 0.02, "sigma": +1, "coupling": "c"},
"xc": (3, 8), "widths": (1.1, 1.6)},
{"name": "E: (c), sigma=(+,+), lowest", "top": False,
"b1": {"M": 2.0, "tau": 0.10, "gamma": 0.025, "sigma": +1, "coupling": "c"},
"b2": {"M": 3.0, "tau": 0.15, "gamma": 0.02, "sigma": +1, "coupling": "c"},
"xc": (3, 8), "widths": (1.3, 1.3)},
]
GAMMA_SCAN = []
for base in (CASES[0], CASES[4]):
GAMMA_SCAN.append({"name": base["name"][:2] + " with gamma_1, gamma_2 times 0.5", "top": False,
"b1": dict(base["b1"], gamma=base["b1"]["gamma"] * 0.5),
"b2": dict(base["b2"], gamma=base["b2"]["gamma"] * 0.5),
"xc": (3, 8), "widths": (1.3, 1.3)})
def main():
results = []
lines = [f"L={L} t_f={TF} N_f=1; scales s multiply tau_1, tau_2"]
for case in CASES + GAMMA_SCAN:
runs = [run_case(case["b1"], case["b2"], case["top"], case["xc"], case["widths"], s)
for s in (1.0, 0.5, 0.25)]
ss = np.array([r["scale"] for r in runs])
A = np.vstack([np.ones(3), ss ** 2, ss ** 4]).T
dev0 = [float(np.linalg.solve(A, np.array([r["dev"][i] for r in runs]))[0]) for i in range(2)]
rr = np.array([r["ratio_exact"] / r["ratio_pred"] - 1 for r in runs])
rdev0 = float(np.linalg.solve(A, rr)[0])
res = {"case": case["name"], "params": {k: case[k] for k in ("b1", "b2", "xc", "widths", "top")},
"runs": runs, "dev_extrapolated_tau0": dev0, "ratio_dev_extrapolated_tau0": rdev0,
"insitu_estimate": runs[0]["insitu_est"],
"insitu_ratio_estimate": runs[0]["insitu_est"][0] - runs[0]["insitu_est"][1]}
results.append(res)
lines.append(case["name"] + f" b1={case['b1']} b2={case['b2']} centers={case['xc']}"
f" widths={case['widths']}")
for r in runs:
lines.append(" s={scale}: a_exact=({a0:.6e},{a1:.6e}) a_evol=({e0:.6e},{e1:.6e}) "
"v(0)=({v0:.1e},{v1:.1e})".format(scale=r["scale"], a0=r["a_exact"][0],
a1=r["a_exact"][1], e0=r["a_evolution"][0],
e1=r["a_evolution"][1], v0=r["v_at_0"][0],
v1=r["v_at_0"][1]))
lines.append(" a_pred=({p0:.6e},{p1:.6e}) E''=({c0:.6e},{c1:.6e}) dev=({d0:.3e},{d1:.3e})"
.format(p0=r["a_pred"][0], p1=r["a_pred"][1], c0=r["Epp"][0], c1=r["Epp"][1],
d0=r["dev"][0], d1=r["dev"][1]))
lines.append(" ratio exact={re:.6f} pred={rp:.6f} -E''1/E''2={ri:.6f} c=({c0:.4f},{c1:.4f})"
.format(re=r["ratio_exact"], rp=r["ratio_pred"], ri=r["inertia_ratio"],
c0=r["c_factors"][0], c1=r["c_factors"][1]))
lines.append(" extrapolated (s->0) dev_i = ({:.3e}, {:.3e}); in-situ estimate (2.16) = ({:.3e}, {:.3e})"
.format(dev0[0], dev0[1], res["insitu_estimate"][0], res["insitu_estimate"][1]))
lines.append(" extrapolated ratio deviation = {:.3e}; in-situ estimate = {:.3e}"
.format(rdev0, res["insitu_ratio_estimate"]))
print("\n".join(lines[-12:]), flush=True)
(OUT / "mutual_fall.json").write_text(json.dumps(results, indent=1))
(OUT / "mutual_fall.log").write_text("\n".join(lines) + "\n")
if __name__ == "__main__":
main()
output/held_pair.json7 KB · raw
[
{
"L": 8,
"t_f": 1.0,
"g1": 0.04,
"g2": -0.07,
"kato_bound_|g1|+|g2|<": 0.2928932188134525,
"max_err_Lambda_closed": 4.996003610813204e-16,
"max_err_Lambda2_closed": 8.881784197001252e-16,
"max_dev_translation": 3.1086244689504383e-15,
"max_dev_reflection": 2.6645352591003757e-15,
"max_dev_exchange": 1.9984014443252818e-15,
"max_|F1+F2|": 2.886579864025407e-15,
"scaling": [
{
"scale": 1.0,
"max|M|": 0.0004700330030609212,
"max|M-M2|": 1.0658003060921178e-05,
"max|M-M2-M3|": 3.464878055001252e-07,
"max|odd part - M3|": 1.625444594766722e-08
},
{
"scale": 0.5,
"max|M|": 0.00011615595868863515,
"max|M-M2|": 1.3122086886351427e-06,
"max|M-M2-M3|": 2.114592089665195e-08,
"max|odd part - M3|": 5.088112074177463e-10
},
{
"scale": 0.25,
"max|M|": 2.887370235860054e-05,
"max|M-M2|": 1.6276485860053678e-07,
"max|M-M2-M3|": 1.3056856839334916e-09,
"max|odd part - M3|": 1.5907177356680298e-11
}
],
"ratio_resid4_s1_over_s0.5": 16.38556235945179,
"d": [
0,
1,
2,
3,
4,
5,
6,
7
],
"M_exact": [
0.0004700330030609212,
0.00015417467231881865,
-6.789249971195233e-05,
-0.00019949433984844944,
-0.0002430675746944999,
-0.00019949433984889353,
-6.789249971328459e-05,
0.00015417467232148319
],
"M2_closed": [
0.00045937500000000004,
0.00015312500000000002,
-6.562500000000001e-05,
-0.00019687500000000003,
-0.00024062500000000003,
-0.00019687500000000003,
-6.562500000000001e-05,
0.00015312500000000002
],
"M3_closed": [
1.0335937500000003e-05,
1.1484375000000004e-06,
-2.1328125000000006e-06,
-2.789062500000001e-06,
-2.789062500000001e-06,
-2.789062500000001e-06,
-2.1328125000000006e-06,
1.1484375000000004e-06
],
"odd_part_over_M2": [
0.02249571914168981,
0.007445555003558331,
0.03249310235986513,
0.0141054282830322,
0.011523358146710995,
0.014105428281340432,
0.03249310235648159,
0.0074455550050084186
],
"max_dev_top_map": 1.5543122344752192e-15
},
{
"L": 13,
"t_f": 1.0,
"g1": 0.05,
"g2": -0.03,
"kato_bound_|g1|+|g2|<": 0.11454397434679008,
"max_err_Lambda_closed": 7.771561172376096e-16,
"max_err_Lambda2_closed": 5.773159728050814e-15,
"max_dev_translation": 3.1086244689504383e-15,
"max_dev_reflection": 1.3322676295501878e-15,
"max_dev_exchange": 2.220446049250313e-15,
"max_|F1+F2|": 9.992007221626409e-16,
"scaling": [
{
"scale": 1.0,
"max|M|": 0.0002424885281735456,
"max|M-M2|": 6.032181885625972e-06,
"max|M-M2-M3|": 2.7642075433761645e-07,
"max|odd part - M3|": 1.1764612111653337e-08
},
{
"scale": 0.5,
"max|M|": 6.135892809755461e-05,
"max|M-M2|": 7.712494172382834e-07,
"max|M-M2-M3|": 1.7325912757165085e-08,
"max|odd part - M3|": 3.683326622094916e-10
},
{
"scale": 0.25,
"max|M|": 1.5435056620383136e-05,
"max|M-M2|": 9.748775831508713e-08,
"max|M-M2-M3|": 1.0841579343439375e-09,
"max|odd part - M3|": 1.151525653372979e-11
}
],
"ratio_resid4_s1_over_s0.5": 15.954181358976506,
"d": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
],
"M_exact": [
0.0002424885281735456,
0.000139692807714642,
5.302271605867048e-05,
-1.6866551421523823e-05,
-6.955534839137023e-05,
-0.00010479219043824095,
-0.00012244017443485689,
-0.00012244017443463484,
-0.00010479219043690868,
-6.955534839092614e-05,
-1.686655142085769e-05,
5.302271605867048e-05,
0.00013969280771508608
],
"M2_closed": [
0.0002485207100591716,
0.0001420118343195266,
5.3254437869822475e-05,
-1.7751479289940815e-05,
-7.100591715976331e-05,
-0.000106508875739645,
-0.00012426035502958581,
-0.00012426035502958581,
-0.000106508875739645,
-7.100591715976331e-05,
-1.7751479289940815e-05,
5.3254437869822475e-05,
0.0001420118343195266
],
"M3_closed": [
-6.308602639963588e-06,
-2.403277196176605e-06,
-1.502048247610378e-07,
9.968138370505236e-07,
1.4747382794720077e-06,
1.61128812016386e-06,
1.6249431042330454e-06,
1.6249431042330454e-06,
1.61128812016386e-06,
1.4747382794720077e-06,
9.968138370505236e-07,
-1.502048247610378e-07,
-2.403277196176605e-06
],
"odd_part_over_M2": [
-0.025388665010641,
-0.016894589119640743,
-0.002712999948547198,
-0.05625296487095833,
-0.020709398916241017,
-0.015041951665270862,
-0.012982245965766278,
-0.012982245960405488,
-0.015041951675694623,
-0.020709398914677452,
-0.05625296487721258,
-0.002712999948547198,
-0.01689458911495005
]
},
{
"L": 13,
"t_f": 1.0,
"g1": 0.03,
"g2": 0.06,
"kato_bound_|g1|+|g2|<": 0.11454397434679008,
"max_err_Lambda_closed": 7.771561172376096e-16,
"max_err_Lambda2_closed": 5.773159728050814e-15,
"max_dev_translation": 3.552713678800501e-15,
"max_dev_reflection": 8.881784197001252e-16,
"max_dev_exchange": 3.552713678800501e-15,
"max_|F1+F2|": 1.1102230246251565e-15,
"scaling": [
{
"scale": 1.0,
"max|M|": 0.0002662167720459685,
"max|M-M2|": 3.2008080025037414e-05,
"max|M-M2-M3|": 2.058374230765957e-06,
"max|odd part - M3|": 6.076928569518851e-08
},
{
"scale": 0.5,
"max|M|": 7.042761312781032e-05,
"max|M-M2|": 4.12859988994116e-06,
"max|M-M2-M3|": 1.2970689203426144e-07,
"max|odd part - M3|": 1.8950521127997827e-09
},
{
"scale": 0.25,
"max|M|": 1.811489768721586e-05,
"max|M-M2|": 5.24155567222011e-07,
"max|M-M2-M3|": 8.132780524916674e-09,
"max|odd part - M3|": 5.918894510772356e-11
}
],
"ratio_resid4_s1_over_s0.5": 15.869428358689278,
"d": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12
],
"M_exact": [
-0.0002662167720459685,
-0.0001576591846077502,
-6.273500777753682e-05,
1.633884035889821e-05,
7.758364352916658e-05,
0.00011937989877530697,
0.00014057701670999734,
0.00014057701670999734,
0.00011937989877441879,
7.758364352961067e-05,
1.633884035801003e-05,
-6.2735007778425e-05,
-0.0001576591846073061
],
"M2_closed": [
-0.0002982248520710059,
-0.00017041420118343195,
-6.390532544378698e-05,
2.1301775147928983e-05,
8.520710059171599e-05,
0.00012781065088757402,
0.00014911242603550298,
0.00014911242603550298,
0.00012781065088757402,
8.520710059171599e-05,
2.1301775147928983e-05,
-6.390532544378698e-05,
-0.00017041420118343195
],
"M3_closed": [
3.406645425580337e-05,
1.2977696859353665e-05,
8.111060537096041e-07,
-5.382794720072827e-06,
-7.963586709148841e-06,
-8.700955848884845e-06,
-8.774692762858444e-06,
-8.774692762858444e-06,
-8.700955848884845e-06,
-7.963586709148841e-06,
-5.382794720072827e-06,
8.111060537096041e-07,
1.2977696859353665e-05
],
"odd_part_over_M2": [
-0.11428791238456865,
-0.07579724860931537,
-0.012081239644842243,
-0.2533337959325583,
-0.09346647771658426,
-0.06803569736634081,
-0.05879533884986123,
-0.05879533884986123,
-0.06803569736634081,
-0.09346647771137237,
-0.2533337959534058,
-0.012081239637893069,
-0.07579724861322427
]
}
]output/held_pair.log4 KB · raw
L=8 t_f=1.0 g1=0.04 g2=-0.07 (Kato bound 0.2929)
max_err_Lambda_closed: 4.996e-16
max_err_Lambda2_closed: 8.882e-16
max_dev_translation: 3.109e-15
max_dev_reflection: 2.665e-15
max_dev_exchange: 1.998e-15
max_|F1+F2|: 2.887e-15
max_dev_top_map: 1.554e-15
scale 1.0: max|M|=4.700e-04 max|M-M2|=1.066e-05 max|M-M2-M3|=3.465e-07 max|odd-M3|=1.625e-08
scale 0.5: max|M|=1.162e-04 max|M-M2|=1.312e-06 max|M-M2-M3|=2.115e-08 max|odd-M3|=5.088e-10
scale 0.25: max|M|=2.887e-05 max|M-M2|=1.628e-07 max|M-M2-M3|=1.306e-09 max|odd-M3|=1.591e-11
residual ratio (scale 1 / scale 1/2): 16.39 (16 expected for O(g^4))
d, M_exact, M2, M3, (odd part)/M2:
0 4.700330e-04 4.593750e-04 1.033594e-05 0.02250
1 1.541747e-04 1.531250e-04 1.148438e-06 0.00745
2 -6.789250e-05 -6.562500e-05 -2.132813e-06 0.03249
3 -1.994943e-04 -1.968750e-04 -2.789063e-06 0.01411
4 -2.430676e-04 -2.406250e-04 -2.789063e-06 0.01152
5 -1.994943e-04 -1.968750e-04 -2.789063e-06 0.01411
6 -6.789250e-05 -6.562500e-05 -2.132813e-06 0.03249
7 1.541747e-04 1.531250e-04 1.148438e-06 0.00745
L=13 t_f=1.0 g1=0.05 g2=-0.03 (Kato bound 0.1145)
max_err_Lambda_closed: 7.772e-16
max_err_Lambda2_closed: 5.773e-15
max_dev_translation: 3.109e-15
max_dev_reflection: 1.332e-15
max_dev_exchange: 2.220e-15
max_|F1+F2|: 9.992e-16
scale 1.0: max|M|=2.425e-04 max|M-M2|=6.032e-06 max|M-M2-M3|=2.764e-07 max|odd-M3|=1.176e-08
scale 0.5: max|M|=6.136e-05 max|M-M2|=7.712e-07 max|M-M2-M3|=1.733e-08 max|odd-M3|=3.683e-10
scale 0.25: max|M|=1.544e-05 max|M-M2|=9.749e-08 max|M-M2-M3|=1.084e-09 max|odd-M3|=1.152e-11
residual ratio (scale 1 / scale 1/2): 15.95 (16 expected for O(g^4))
d, M_exact, M2, M3, (odd part)/M2:
0 2.424885e-04 2.485207e-04 -6.308603e-06 -0.02539
1 1.396928e-04 1.420118e-04 -2.403277e-06 -0.01689
2 5.302272e-05 5.325444e-05 -1.502048e-07 -0.00271
3 -1.686655e-05 -1.775148e-05 9.968138e-07 -0.05625
4 -6.955535e-05 -7.100592e-05 1.474738e-06 -0.02071
5 -1.047922e-04 -1.065089e-04 1.611288e-06 -0.01504
6 -1.224402e-04 -1.242604e-04 1.624943e-06 -0.01298
7 -1.224402e-04 -1.242604e-04 1.624943e-06 -0.01298
8 -1.047922e-04 -1.065089e-04 1.611288e-06 -0.01504
9 -6.955535e-05 -7.100592e-05 1.474738e-06 -0.02071
10 -1.686655e-05 -1.775148e-05 9.968138e-07 -0.05625
11 5.302272e-05 5.325444e-05 -1.502048e-07 -0.00271
12 1.396928e-04 1.420118e-04 -2.403277e-06 -0.01689
L=13 t_f=1.0 g1=0.03 g2=0.06 (Kato bound 0.1145)
max_err_Lambda_closed: 7.772e-16
max_err_Lambda2_closed: 5.773e-15
max_dev_translation: 3.553e-15
max_dev_reflection: 8.882e-16
max_dev_exchange: 3.553e-15
max_|F1+F2|: 1.110e-15
scale 1.0: max|M|=2.662e-04 max|M-M2|=3.201e-05 max|M-M2-M3|=2.058e-06 max|odd-M3|=6.077e-08
scale 0.5: max|M|=7.043e-05 max|M-M2|=4.129e-06 max|M-M2-M3|=1.297e-07 max|odd-M3|=1.895e-09
scale 0.25: max|M|=1.811e-05 max|M-M2|=5.242e-07 max|M-M2-M3|=8.133e-09 max|odd-M3|=5.919e-11
residual ratio (scale 1 / scale 1/2): 15.87 (16 expected for O(g^4))
d, M_exact, M2, M3, (odd part)/M2:
0 -2.662168e-04 -2.982249e-04 3.406645e-05 -0.11429
1 -1.576592e-04 -1.704142e-04 1.297770e-05 -0.07580
2 -6.273501e-05 -6.390533e-05 8.111061e-07 -0.01208
3 1.633884e-05 2.130178e-05 -5.382795e-06 -0.25333
4 7.758364e-05 8.520710e-05 -7.963587e-06 -0.09347
5 1.193799e-04 1.278107e-04 -8.700956e-06 -0.06804
6 1.405770e-04 1.491124e-04 -8.774693e-06 -0.05880
7 1.405770e-04 1.491124e-04 -8.774693e-06 -0.05880
8 1.193799e-04 1.278107e-04 -8.700956e-06 -0.06804
9 7.758364e-05 8.520710e-05 -7.963587e-06 -0.09347
10 1.633884e-05 2.130178e-05 -5.382795e-06 -0.25333
11 -6.273501e-05 -6.390533e-05 8.111061e-07 -0.01208
12 -1.576592e-04 -1.704142e-04 1.297770e-05 -0.07580
output/mutual_fall.json22 KB · raw
[
{
"case": "A: (a), sigma=(+,+), lowest",
"params": {
"b1": {
"M": 2.0,
"tau": 0.1,
"gamma": 0.025,
"sigma": 1,
"coupling": "a"
},
"b2": {
"M": 3.0,
"tau": 0.15,
"gamma": 0.02,
"sigma": 1,
"coupling": "a"
},
"xc": [
3,
8
],
"widths": [
1.3,
1.3
],
"top": false
},
"runs": [
{
"scale": 1.0,
"a_exact": [
3.819916400920294e-07,
-5.730846831294809e-07
],
"a_evolution": [
3.8199154998992116e-07,
-5.730845865840511e-07
],
"v_at_0": [
-3.848917712323541e-18,
4.391018798566293e-18
],
"a_pred": [
3.813529593660609e-07,
-5.719570023822199e-07
],
"Epp": [
0.0049865554332740826,
0.007478885971070746
],
"dev": [
0.0016747758481543418,
0.0019716180456996746
],
"ratio_exact": -0.6665535676264505,
"ratio_pred": -0.666751098033092,
"inertia_ratio": -0.6667510980328748,
"insitu_est": [
-4.797135247350703e-05,
-3.2885713476182094e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.5,
"a_exact": [
9.537485141237011e-08,
-1.4306102977766345e-07
],
"a_evolution": [
9.53748509390395e-08,
-1.4306102933784577e-07
],
"v_at_0": [
1.043544591017298e-18,
4.472333961502706e-19
],
"a_pred": [
9.534045040435119e-08,
-1.429958736963776e-07
],
"Epp": [
0.0012466677635462092,
0.0018698080961585379
],
"dev": [
0.00036082279738591794,
0.0004556500799748342
],
"ratio_exact": -0.6666724792949957,
"ratio_pred": -0.6667356752320495,
"inertia_ratio": -0.6667356752318321,
"insitu_est": [
-4.797135247350703e-05,
-3.2885713476182094e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.25,
"a_exact": [
2.3836518485088773e-08,
-3.5752473264358225e-08
],
"a_evolution": [
2.3836518482931956e-08,
-3.5752473269416474e-08
],
"v_at_0": [
1.751664134921893e-18,
-1.5890338090490674e-18
],
"a_pred": [
2.3835252809133274e-08,
-3.574939159800023e-08
],
"Epp": [
0.0003116687742411227,
0.000467457557444024
],
"dev": [
5.310100822653041e-05,
8.620192457109432e-05
],
"ratio_exact": -0.6667096373679828,
"ratio_pred": -0.6667317048961074,
"inertia_ratio": -0.6667317048958903,
"insitu_est": [
-4.797135247350703e-05,
-3.2885713476182094e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
}
],
"dev_extrapolated_tau0": [
-4.762701273480145e-05,
-3.6099119583266406e-05
],
"ratio_dev_extrapolated_tau0": -1.1530050047752719e-05,
"insitu_estimate": [
-4.797135247350703e-05,
-3.2885713476182094e-05
],
"insitu_ratio_estimate": -1.5085638997324938e-05
},
{
"case": "B: (c), sigma=(+,-), lowest",
"params": {
"b1": {
"M": 2.5,
"tau": 0.12,
"gamma": 0.02,
"sigma": 1,
"coupling": "c"
},
"b2": {
"M": 1.6,
"tau": 0.08,
"gamma": 0.03,
"sigma": -1,
"coupling": "c"
},
"xc": [
3,
8
],
"widths": [
1.3,
1.3
],
"top": false
},
"runs": [
{
"scale": 1.0,
"a_exact": [
-4.037584132705835e-07,
-2.806167104714008e-07
],
"a_evolution": [
-4.037583549585417e-07,
-2.8061670746966844e-07
],
"v_at_0": [
-7.047314121155779e-19,
-2.574980159653073e-18
],
"a_pred": [
-4.0331367770713167e-07,
-2.803435906249676e-07
],
"Epp": [
0.005760574247307113,
-0.00400417877651
],
"dev": [
0.0011027038953406176,
0.0009742325331010271
],
"ratio_exact": 1.4388252666504433,
"ratio_pred": 1.438640622416328,
"inertia_ratio": 1.4386406224169563,
"insitu_est": [
-3.196021563754323e-05,
3.6159072426198804e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.5,
"a_exact": [
-1.0085626241936537e-07,
-7.010319992461986e-08
],
"a_evolution": [
-1.0085626227851891e-07,
-7.010320025485456e-08
],
"v_at_0": [
4.0657581468206416e-19,
-2.710505431213761e-20
],
"a_pred": [
-1.0083060798949153e-07,
-7.008455077773517e-08
],
"Epp": [
0.0014401748213120741,
-0.0010010254565115475
],
"dev": [
0.000254430974734543,
0.0002660949763926279
],
"ratio_exact": 1.4386827210143542,
"ratio_pred": 1.4386994975435288,
"inertia_ratio": 1.4386994975441574,
"insitu_est": [
-3.196021563754323e-05,
3.6159072426198804e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.25,
"a_exact": [
-2.52090133683712e-08,
-1.752278982824954e-08
],
"a_evolution": [
-2.5209013388167153e-08,
-1.7522789863960685e-08
],
"v_at_0": [
-1.2197274440461925e-19,
-3.5744790374131474e-19
],
"a_pred": [
-2.520779134839196e-08,
-1.7521054555236373e-08
],
"Epp": [
0.00036004569569416826,
-0.0002502551766414562
],
"dev": [
4.847786790795894e-05,
9.903930198373878e-05
],
"ratio_exact": 1.438641541413128,
"ratio_pred": 1.438714277666484,
"inertia_ratio": 1.4387142776671125,
"insitu_est": [
-3.196021563754323e-05,
3.6159072426198804e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
}
],
"dev_extrapolated_tau0": [
-1.962960118313036e-05,
4.424107404906114e-05
],
"ratio_dev_extrapolated_tau0": -6.386771177882246e-05,
"insitu_estimate": [
-3.196021563754323e-05,
3.6159072426198804e-05
],
"insitu_ratio_estimate": -6.811928806374203e-05
},
{
"case": "C: (a), sigma=(-,-), highest",
"params": {
"b1": {
"M": 2.0,
"tau": 0.1,
"gamma": 0.025,
"sigma": -1,
"coupling": "a"
},
"b2": {
"M": 3.0,
"tau": 0.15,
"gamma": 0.02,
"sigma": -1,
"coupling": "a"
},
"xc": [
3,
8
],
"widths": [
1.3,
1.3
],
"top": true
},
"runs": [
{
"scale": 1.0,
"a_exact": [
3.819916401097755e-07,
-5.730846832002965e-07
],
"a_evolution": [
3.819915499892558e-07,
-5.730845865833206e-07
],
"v_at_0": [
8.930864760123739e-18,
4.241594411172876e-18
],
"a_pred": [
3.8135295936583967e-07,
-5.71957002382968e-07
],
"Epp": [
-0.0049865554332712515,
-0.00747888597107775
],
"dev": [
0.0016747758952699865,
0.001971618168201683
],
"ratio_exact": -0.6665535675750509,
"ratio_pred": -0.6667510980318331,
"inertia_ratio": -0.6667510980318718,
"insitu_est": [
-4.7971352473480225e-05,
-3.288571347616394e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.5,
"a_exact": [
9.537485140690512e-08,
-1.4306102977110733e-07
],
"a_evolution": [
9.537485093876354e-08,
-1.4306102933748923e-07
],
"v_at_0": [
-1.2089343914136006e-18,
5.103293787675625e-18
],
"a_pred": [
9.534045040659365e-08,
-1.4299587369809068e-07
],
"Epp": [
-0.001246667763575547,
-0.001869808096180243
],
"dev": [
0.00036082271653592457,
0.00045565002214131844
],
"ratio_exact": -0.6666724792873472,
"ratio_pred": -0.6667356752397441,
"inertia_ratio": -0.6667356752397828,
"insitu_est": [
-4.7971352473480225e-05,
-3.288571347616394e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.25,
"a_exact": [
2.38365184867135e-08,
-3.575247326566627e-08
],
"a_evolution": [
2.3836518482811138e-08,
-3.5752473269186445e-08
],
"v_at_0": [
-2.3339038501960513e-18,
1.5312163140746602e-18
],
"a_pred": [
2.3835252808889173e-08,
-3.574939160312847e-08
],
"Epp": [
-0.0003116687742379347,
-0.0004674575575109069
],
"dev": [
5.3101086633144945e-05,
8.620181769836144e-05
],
"ratio_exact": -0.6667096373890343,
"ratio_pred": -0.666731704793637,
"inertia_ratio": -0.6667317047936757,
"insitu_est": [
-4.7971352473480225e-05,
-3.288571347616394e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
}
],
"dev_extrapolated_tau0": [
-4.7626864242827525e-05,
-3.609924315398994e-05
],
"ratio_dev_extrapolated_tau0": -1.1529778011068145e-05,
"insitu_estimate": [
-4.7971352473480225e-05,
-3.288571347616394e-05
],
"insitu_ratio_estimate": -1.5085638997316285e-05
},
{
"case": "D: (c), sigma=(+,+), lowest, unequal widths",
"params": {
"b1": {
"M": 2.0,
"tau": 0.1,
"gamma": 0.025,
"sigma": 1,
"coupling": "c"
},
"b2": {
"M": 3.0,
"tau": 0.15,
"gamma": 0.02,
"sigma": 1,
"coupling": "c"
},
"xc": [
3,
8
],
"widths": [
1.1,
1.6
],
"top": false
},
"runs": [
{
"scale": 1.0,
"a_exact": [
3.337904637527835e-07,
-6.21930930990129e-07
],
"a_evolution": [
3.3379040836661023e-07,
-6.219308210434791e-07
],
"v_at_0": [
4.336808689942018e-18,
1.7889335846010823e-18
],
"a_pred": [
3.3330756901870856e-07,
-6.208727346997645e-07
],
"Epp": [
0.005002072512129147,
0.0074970489865374135
],
"dev": [
0.0014487961839468877,
0.0017043690779499077
],
"ratio_exact": -0.5367002139954369,
"ratio_pred": -0.5368371815842198,
"inertia_ratio": -0.667205525949138,
"insitu_est": [
3.926186549027002e-05,
2.703312836246618e-05
],
"c_factors": [
0.6615147808486168,
0.8227836288995541
]
},
{
"scale": 0.5,
"a_exact": [
8.33592060751156e-08,
-1.5529115743510518e-07
],
"a_evolution": [
8.335920575675055e-08,
-1.5529115682916994e-07
],
"v_at_0": [
1.1519648082658485e-18,
4.404571325722362e-18
],
"a_pred": [
8.332844538667007e-08,
-1.552243984642719e-07
],
"Epp": [
0.0012505414364704132,
0.0018743372903227773
],
"dev": [
0.00036914991396752583,
0.00043008039646963425
],
"ratio_exact": -0.5367929987253182,
"ratio_pred": -0.5368256937123826,
"inertia_ratio": -0.6671912483025182,
"insitu_est": [
3.926186549027002e-05,
2.703312836246618e-05
],
"c_factors": [
0.6615147808486168,
0.8227836288995541
]
},
{
"scale": 0.25,
"a_exact": [
2.083461082604632e-08,
-3.8811239276855375e-08
],
"a_evolution": [
2.083461082728218e-08,
-3.8811239319896276e-08
],
"v_at_0": [
-1.4331797467542762e-18,
2.303929616531697e-19
],
"a_pred": [
2.0832210018687775e-08,
-3.880649736544316e-08
],
"Epp": [
0.00031263683992586007,
0.0004685891254112641
],
"dev": [
0.0001152449671153466,
0.0001221937493498526
],
"ratio_exact": -0.5368190043462692,
"ratio_pred": -0.536822734154788,
"inertia_ratio": -0.6671875700305033,
"insitu_est": [
3.926186549027002e-05,
2.703312836246618e-05
],
"c_factors": [
0.6615147808486168,
0.8227836288995541
]
}
],
"dev_extrapolated_tau0": [
3.203279555507861e-05,
2.0514691265506547e-05
],
"ratio_dev_extrapolated_tau0": 1.151733340525816e-05,
"insitu_estimate": [
3.926186549027002e-05,
2.703312836246618e-05
],
"insitu_ratio_estimate": 1.2228737127803836e-05
},
{
"case": "E: (c), sigma=(+,+), lowest",
"params": {
"b1": {
"M": 2.0,
"tau": 0.1,
"gamma": 0.025,
"sigma": 1,
"coupling": "c"
},
"b2": {
"M": 3.0,
"tau": 0.15,
"gamma": 0.02,
"sigma": 1,
"coupling": "c"
},
"xc": [
3,
8
],
"widths": [
1.3,
1.3
],
"top": false
},
"runs": [
{
"scale": 1.0,
"a_exact": [
3.831224813558941e-07,
-5.743721718188608e-07
],
"a_evolution": [
3.831223908362991e-07,
-5.743720747285364e-07
],
"v_at_0": [
3.6591823321385775e-18,
2.927345865710862e-18
],
"a_pred": [
3.825396470548429e-07,
-5.733460413274211e-07
],
"Epp": [
0.005002072512129147,
0.0074970489865374135
],
"dev": [
0.0015235918826672634,
0.0017897228156731337
],
"ratio_exact": -0.6670282791428814,
"ratio_pred": -0.6672055259493554,
"inertia_ratio": -0.667205525949138,
"insitu_est": [
4.797135247350703e-05,
3.2885713476182094e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.5,
"a_exact": [
9.567333073383558e-08,
-1.434067200891461e-07
],
"a_evolution": [
9.56733302618751e-08,
-1.4340671963411398e-07
],
"v_at_0": [
7.860465750519907e-19,
4.743384504624082e-18
],
"a_pred": [
9.563669430518183e-08,
-1.4334224939021836e-07
],
"Epp": [
0.0012505414364704132,
0.0018743372903227773
],
"dev": [
0.0003830792032275543,
0.0004497675960994929
],
"ratio_exact": -0.6671467743935713,
"ratio_pred": -0.6671912483027356,
"inertia_ratio": -0.6671912483025182,
"insitu_est": [
4.797135247350703e-05,
3.2885713476182094e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.25,
"a_exact": [
2.391213077228793e-08,
-3.584039488625268e-08
],
"a_evolution": [
2.3912130771552615e-08,
-3.584039493174827e-08
],
"v_at_0": [
-1.3738874404464751e-18,
6.471331717022855e-19
],
"a_pred": [
2.3909286822928032e-08,
-3.5835929649929067e-08
],
"Epp": [
0.00031263683992586007,
0.0004685891254112641
],
"dev": [
0.00011894747764573665,
0.00012460221814336592
],
"ratio_exact": -0.6671837977281863,
"ratio_pred": -0.6671875700307207,
"inertia_ratio": -0.6671875700305033,
"insitu_est": [
4.797135247350703e-05,
3.2885713476182094e-05
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
}
],
"dev_extrapolated_tau0": [
3.2769919720962784e-05,
1.7086952330193144e-05
],
"ratio_dev_extrapolated_tau0": 1.5681210105252506e-05,
"insitu_estimate": [
4.797135247350703e-05,
3.2885713476182094e-05
],
"insitu_ratio_estimate": 1.5085638997324938e-05
},
{
"case": "A: with gamma_1, gamma_2 times 0.5",
"params": {
"b1": {
"M": 2.0,
"tau": 0.1,
"gamma": 0.0125,
"sigma": 1,
"coupling": "a"
},
"b2": {
"M": 3.0,
"tau": 0.15,
"gamma": 0.01,
"sigma": 1,
"coupling": "a"
},
"xc": [
3,
8
],
"widths": [
1.3,
1.3
],
"top": false
},
"runs": [
{
"scale": 1.0,
"a_exact": [
1.0294295846719421e-07,
-1.544380383507312e-07
],
"a_evolution": [
1.0294293637824009e-07,
-1.5443801013154308e-07
],
"v_at_0": [
4.0657581468206416e-19,
-3.2526065174565133e-18
],
"a_pred": [
1.0286445900261971e-07,
-1.5430291233587728e-07
],
"Epp": [
0.004994292807897129,
0.007491741392406841
],
"dev": [
0.0007631349577457147,
0.000875719147541254
],
"ratio_exact": -0.6665647891318662,
"ratio_pred": -0.6666397765630667,
"inertia_ratio": -0.6666397765623665,
"insitu_est": [
-1.1585626255190855e-05,
-7.840360011277606e-06
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.5,
"a_exact": [
2.5720404285253986e-08,
-3.858403865249891e-08
],
"a_evolution": [
2.572040426064777e-08,
-3.858403864749707e-08
],
"v_at_0": [
-7.995991022080595e-19,
-5.271933063710765e-18
],
"a_pred": [
2.5716271031569084e-08,
-3.857620049419937e-08
],
"Epp": [
0.0012485807897519574,
0.001872958284644003
],
"dev": [
0.00016072523422350216,
0.00020318637395910777
],
"ratio_exact": -0.66660736365368,
"ratio_pred": -0.6666356640135149,
"inertia_ratio": -0.6666356640128148,
"insitu_est": [
-1.1585626255190855e-05,
-7.840360011277606e-06
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.25,
"a_exact": [
6.429272706372765e-09,
-9.644506437268185e-09
],
"a_evolution": [
6.429272704154837e-09,
-9.644506437227283e-09
],
"v_at_0": [
3.101834652845248e-18,
1.6601845766184287e-18
],
"a_pred": [
6.429077674580159e-09,
-9.644080329813652e-09
],
"Epp": [
0.0003121456789147159,
0.00046824103774068774
],
"dev": [
3.0335889917409986e-05,
4.418331660049901e-05
],
"ratio_exact": -0.6666253735420661,
"ratio_pred": -0.6666346043080279,
"inertia_ratio": -0.6666346043073278,
"insitu_est": [
-1.1585626255190855e-05,
-7.840360011277606e-06
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
}
],
"dev_extrapolated_tau0": [
-1.133050604466856e-05,
-8.006134871310264e-06
],
"ratio_dev_extrapolated_tau0": -3.3251457179300586e-06,
"insitu_estimate": [
-1.1585626255190855e-05,
-7.840360011277606e-06
],
"insitu_ratio_estimate": -3.745266243913249e-06
},
{
"case": "E: with gamma_1, gamma_2 times 0.5",
"params": {
"b1": {
"M": 2.0,
"tau": 0.1,
"gamma": 0.0125,
"sigma": 1,
"coupling": "c"
},
"b2": {
"M": 3.0,
"tau": 0.15,
"gamma": 0.01,
"sigma": 1,
"coupling": "c"
},
"xc": [
3,
8
],
"widths": [
1.3,
1.3
],
"top": false
},
"runs": [
{
"scale": 1.0,
"a_exact": [
1.0309902040229303e-07,
-1.54616743630061e-07
],
"a_evolution": [
1.0309899821846211e-07,
-1.5461671537201164e-07
],
"v_at_0": [
-7.318364664277155e-18,
-1.5720931501039814e-18
],
"a_pred": [
1.0303572426381479e-07,
-1.5450579957065156e-07
],
"Epp": [
0.005002608108152657,
0.007501592008132361
],
"dev": [
0.0006143125496567148,
0.0007180575727108174
],
"ratio_exact": -0.6668037237219905,
"ratio_pred": -0.6668728588191227,
"inertia_ratio": -0.6668728588184224,
"insitu_est": [
1.1585626255190855e-05,
7.840360011277606e-06
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.5,
"a_exact": [
2.576264112913557e-08,
-3.863358177654601e-08
],
"a_evolution": [
2.576264109302164e-08,
-3.8633581770528894e-08
],
"v_at_0": [
3.0696474008495844e-18,
8.267041565201971e-19
],
"a_pred": [
2.575905649698689e-08,
-3.862685774954246e-08
],
"Epp": [
0.0012506581169871422,
0.001875417804370069
],
"dev": [
0.00013916007168579547,
0.0001740764689468488
],
"ratio_exact": -0.66684578401622,
"ratio_pred": -0.6668690646287947,
"inertia_ratio": -0.6668690646280943,
"insitu_est": [
1.1585626255190855e-05,
7.840360011277606e-06
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
},
{
"scale": 0.25,
"a_exact": [
6.440034375101487e-09,
-9.657198094326671e-09
],
"a_evolution": [
6.4400343729866266e-09,
-9.657198106513925e-09
],
"v_at_0": [
5.692061405548898e-19,
1.5246593050577406e-19
],
"a_pred": [
6.439772096122589e-09,
-9.656740560096776e-09
],
"Epp": [
0.0003126649162986661,
0.00046885571940685766
],
"dev": [
4.072799083298939e-05,
4.7379778616685186e-05
],
"ratio_exact": -0.6668636505328418,
"ratio_pred": -0.6668680861876704,
"inertia_ratio": -0.6668680861869698,
"insitu_est": [
1.1585626255190855e-05,
7.840360011277606e-06
],
"c_factors": [
0.7439002134928834,
0.7439002134928835
]
}
],
"dev_extrapolated_tau0": [
9.72672287226947e-06,
5.9740894498153466e-06
],
"ratio_dev_extrapolated_tau0": 3.752034965742745e-06,
"insitu_estimate": [
1.1585626255190855e-05,
7.840360011277606e-06
],
"insitu_ratio_estimate": 3.745266243913249e-06
}
]output/mutual_fall.log9 KB · raw
L=14 t_f=0.5 N_f=1; scales s multiply tau_1, tau_2
A: (a), sigma=(+,+), lowest b1={'M': 2.0, 'tau': 0.1, 'gamma': 0.025, 'sigma': 1, 'coupling': 'a'} b2={'M': 3.0, 'tau': 0.15, 'gamma': 0.02, 'sigma': 1, 'coupling': 'a'} centers=(3, 8) widths=(1.3, 1.3)
s=1.0: a_exact=(3.819916e-07,-5.730847e-07) a_evol=(3.819915e-07,-5.730846e-07) v(0)=(-3.8e-18,4.4e-18)
a_pred=(3.813530e-07,-5.719570e-07) E''=(4.986555e-03,7.478886e-03) dev=(1.675e-03,1.972e-03)
ratio exact=-0.666554 pred=-0.666751 -E''1/E''2=-0.666751 c=(0.7439,0.7439)
s=0.5: a_exact=(9.537485e-08,-1.430610e-07) a_evol=(9.537485e-08,-1.430610e-07) v(0)=(1.0e-18,4.5e-19)
a_pred=(9.534045e-08,-1.429959e-07) E''=(1.246668e-03,1.869808e-03) dev=(3.608e-04,4.557e-04)
ratio exact=-0.666672 pred=-0.666736 -E''1/E''2=-0.666736 c=(0.7439,0.7439)
s=0.25: a_exact=(2.383652e-08,-3.575247e-08) a_evol=(2.383652e-08,-3.575247e-08) v(0)=(1.8e-18,-1.6e-18)
a_pred=(2.383525e-08,-3.574939e-08) E''=(3.116688e-04,4.674576e-04) dev=(5.310e-05,8.620e-05)
ratio exact=-0.666710 pred=-0.666732 -E''1/E''2=-0.666732 c=(0.7439,0.7439)
extrapolated (s->0) dev_i = (-4.763e-05, -3.610e-05); in-situ estimate (2.16) = (-4.797e-05, -3.289e-05)
extrapolated ratio deviation = -1.153e-05; in-situ estimate = -1.509e-05
B: (c), sigma=(+,-), lowest b1={'M': 2.5, 'tau': 0.12, 'gamma': 0.02, 'sigma': 1, 'coupling': 'c'} b2={'M': 1.6, 'tau': 0.08, 'gamma': 0.03, 'sigma': -1, 'coupling': 'c'} centers=(3, 8) widths=(1.3, 1.3)
s=1.0: a_exact=(-4.037584e-07,-2.806167e-07) a_evol=(-4.037584e-07,-2.806167e-07) v(0)=(-7.0e-19,-2.6e-18)
a_pred=(-4.033137e-07,-2.803436e-07) E''=(5.760574e-03,-4.004179e-03) dev=(1.103e-03,9.742e-04)
ratio exact=1.438825 pred=1.438641 -E''1/E''2=1.438641 c=(0.7439,0.7439)
s=0.5: a_exact=(-1.008563e-07,-7.010320e-08) a_evol=(-1.008563e-07,-7.010320e-08) v(0)=(4.1e-19,-2.7e-20)
a_pred=(-1.008306e-07,-7.008455e-08) E''=(1.440175e-03,-1.001025e-03) dev=(2.544e-04,2.661e-04)
ratio exact=1.438683 pred=1.438699 -E''1/E''2=1.438699 c=(0.7439,0.7439)
s=0.25: a_exact=(-2.520901e-08,-1.752279e-08) a_evol=(-2.520901e-08,-1.752279e-08) v(0)=(-1.2e-19,-3.6e-19)
a_pred=(-2.520779e-08,-1.752105e-08) E''=(3.600457e-04,-2.502552e-04) dev=(4.848e-05,9.904e-05)
ratio exact=1.438642 pred=1.438714 -E''1/E''2=1.438714 c=(0.7439,0.7439)
extrapolated (s->0) dev_i = (-1.963e-05, 4.424e-05); in-situ estimate (2.16) = (-3.196e-05, 3.616e-05)
extrapolated ratio deviation = -6.387e-05; in-situ estimate = -6.812e-05
C: (a), sigma=(-,-), highest b1={'M': 2.0, 'tau': 0.1, 'gamma': 0.025, 'sigma': -1, 'coupling': 'a'} b2={'M': 3.0, 'tau': 0.15, 'gamma': 0.02, 'sigma': -1, 'coupling': 'a'} centers=(3, 8) widths=(1.3, 1.3)
s=1.0: a_exact=(3.819916e-07,-5.730847e-07) a_evol=(3.819915e-07,-5.730846e-07) v(0)=(8.9e-18,4.2e-18)
a_pred=(3.813530e-07,-5.719570e-07) E''=(-4.986555e-03,-7.478886e-03) dev=(1.675e-03,1.972e-03)
ratio exact=-0.666554 pred=-0.666751 -E''1/E''2=-0.666751 c=(0.7439,0.7439)
s=0.5: a_exact=(9.537485e-08,-1.430610e-07) a_evol=(9.537485e-08,-1.430610e-07) v(0)=(-1.2e-18,5.1e-18)
a_pred=(9.534045e-08,-1.429959e-07) E''=(-1.246668e-03,-1.869808e-03) dev=(3.608e-04,4.557e-04)
ratio exact=-0.666672 pred=-0.666736 -E''1/E''2=-0.666736 c=(0.7439,0.7439)
s=0.25: a_exact=(2.383652e-08,-3.575247e-08) a_evol=(2.383652e-08,-3.575247e-08) v(0)=(-2.3e-18,1.5e-18)
a_pred=(2.383525e-08,-3.574939e-08) E''=(-3.116688e-04,-4.674576e-04) dev=(5.310e-05,8.620e-05)
ratio exact=-0.666710 pred=-0.666732 -E''1/E''2=-0.666732 c=(0.7439,0.7439)
extrapolated (s->0) dev_i = (-4.763e-05, -3.610e-05); in-situ estimate (2.16) = (-4.797e-05, -3.289e-05)
extrapolated ratio deviation = -1.153e-05; in-situ estimate = -1.509e-05
D: (c), sigma=(+,+), lowest, unequal widths b1={'M': 2.0, 'tau': 0.1, 'gamma': 0.025, 'sigma': 1, 'coupling': 'c'} b2={'M': 3.0, 'tau': 0.15, 'gamma': 0.02, 'sigma': 1, 'coupling': 'c'} centers=(3, 8) widths=(1.1, 1.6)
s=1.0: a_exact=(3.337905e-07,-6.219309e-07) a_evol=(3.337904e-07,-6.219308e-07) v(0)=(4.3e-18,1.8e-18)
a_pred=(3.333076e-07,-6.208727e-07) E''=(5.002073e-03,7.497049e-03) dev=(1.449e-03,1.704e-03)
ratio exact=-0.536700 pred=-0.536837 -E''1/E''2=-0.667206 c=(0.6615,0.8228)
s=0.5: a_exact=(8.335921e-08,-1.552912e-07) a_evol=(8.335921e-08,-1.552912e-07) v(0)=(1.2e-18,4.4e-18)
a_pred=(8.332845e-08,-1.552244e-07) E''=(1.250541e-03,1.874337e-03) dev=(3.691e-04,4.301e-04)
ratio exact=-0.536793 pred=-0.536826 -E''1/E''2=-0.667191 c=(0.6615,0.8228)
s=0.25: a_exact=(2.083461e-08,-3.881124e-08) a_evol=(2.083461e-08,-3.881124e-08) v(0)=(-1.4e-18,2.3e-19)
a_pred=(2.083221e-08,-3.880650e-08) E''=(3.126368e-04,4.685891e-04) dev=(1.152e-04,1.222e-04)
ratio exact=-0.536819 pred=-0.536823 -E''1/E''2=-0.667188 c=(0.6615,0.8228)
extrapolated (s->0) dev_i = (3.203e-05, 2.051e-05); in-situ estimate (2.16) = (3.926e-05, 2.703e-05)
extrapolated ratio deviation = 1.152e-05; in-situ estimate = 1.223e-05
E: (c), sigma=(+,+), lowest b1={'M': 2.0, 'tau': 0.1, 'gamma': 0.025, 'sigma': 1, 'coupling': 'c'} b2={'M': 3.0, 'tau': 0.15, 'gamma': 0.02, 'sigma': 1, 'coupling': 'c'} centers=(3, 8) widths=(1.3, 1.3)
s=1.0: a_exact=(3.831225e-07,-5.743722e-07) a_evol=(3.831224e-07,-5.743721e-07) v(0)=(3.7e-18,2.9e-18)
a_pred=(3.825396e-07,-5.733460e-07) E''=(5.002073e-03,7.497049e-03) dev=(1.524e-03,1.790e-03)
ratio exact=-0.667028 pred=-0.667206 -E''1/E''2=-0.667206 c=(0.7439,0.7439)
s=0.5: a_exact=(9.567333e-08,-1.434067e-07) a_evol=(9.567333e-08,-1.434067e-07) v(0)=(7.9e-19,4.7e-18)
a_pred=(9.563669e-08,-1.433422e-07) E''=(1.250541e-03,1.874337e-03) dev=(3.831e-04,4.498e-04)
ratio exact=-0.667147 pred=-0.667191 -E''1/E''2=-0.667191 c=(0.7439,0.7439)
s=0.25: a_exact=(2.391213e-08,-3.584039e-08) a_evol=(2.391213e-08,-3.584039e-08) v(0)=(-1.4e-18,6.5e-19)
a_pred=(2.390929e-08,-3.583593e-08) E''=(3.126368e-04,4.685891e-04) dev=(1.189e-04,1.246e-04)
ratio exact=-0.667184 pred=-0.667188 -E''1/E''2=-0.667188 c=(0.7439,0.7439)
extrapolated (s->0) dev_i = (3.277e-05, 1.709e-05); in-situ estimate (2.16) = (4.797e-05, 3.289e-05)
extrapolated ratio deviation = 1.568e-05; in-situ estimate = 1.509e-05
A: with gamma_1, gamma_2 times 0.5 b1={'M': 2.0, 'tau': 0.1, 'gamma': 0.0125, 'sigma': 1, 'coupling': 'a'} b2={'M': 3.0, 'tau': 0.15, 'gamma': 0.01, 'sigma': 1, 'coupling': 'a'} centers=(3, 8) widths=(1.3, 1.3)
s=1.0: a_exact=(1.029430e-07,-1.544380e-07) a_evol=(1.029429e-07,-1.544380e-07) v(0)=(4.1e-19,-3.3e-18)
a_pred=(1.028645e-07,-1.543029e-07) E''=(4.994293e-03,7.491741e-03) dev=(7.631e-04,8.757e-04)
ratio exact=-0.666565 pred=-0.666640 -E''1/E''2=-0.666640 c=(0.7439,0.7439)
s=0.5: a_exact=(2.572040e-08,-3.858404e-08) a_evol=(2.572040e-08,-3.858404e-08) v(0)=(-8.0e-19,-5.3e-18)
a_pred=(2.571627e-08,-3.857620e-08) E''=(1.248581e-03,1.872958e-03) dev=(1.607e-04,2.032e-04)
ratio exact=-0.666607 pred=-0.666636 -E''1/E''2=-0.666636 c=(0.7439,0.7439)
s=0.25: a_exact=(6.429273e-09,-9.644506e-09) a_evol=(6.429273e-09,-9.644506e-09) v(0)=(3.1e-18,1.7e-18)
a_pred=(6.429078e-09,-9.644080e-09) E''=(3.121457e-04,4.682410e-04) dev=(3.034e-05,4.418e-05)
ratio exact=-0.666625 pred=-0.666635 -E''1/E''2=-0.666635 c=(0.7439,0.7439)
extrapolated (s->0) dev_i = (-1.133e-05, -8.006e-06); in-situ estimate (2.16) = (-1.159e-05, -7.840e-06)
extrapolated ratio deviation = -3.325e-06; in-situ estimate = -3.745e-06
E: with gamma_1, gamma_2 times 0.5 b1={'M': 2.0, 'tau': 0.1, 'gamma': 0.0125, 'sigma': 1, 'coupling': 'c'} b2={'M': 3.0, 'tau': 0.15, 'gamma': 0.01, 'sigma': 1, 'coupling': 'c'} centers=(3, 8) widths=(1.3, 1.3)
s=1.0: a_exact=(1.030990e-07,-1.546167e-07) a_evol=(1.030990e-07,-1.546167e-07) v(0)=(-7.3e-18,-1.6e-18)
a_pred=(1.030357e-07,-1.545058e-07) E''=(5.002608e-03,7.501592e-03) dev=(6.143e-04,7.181e-04)
ratio exact=-0.666804 pred=-0.666873 -E''1/E''2=-0.666873 c=(0.7439,0.7439)
s=0.5: a_exact=(2.576264e-08,-3.863358e-08) a_evol=(2.576264e-08,-3.863358e-08) v(0)=(3.1e-18,8.3e-19)
a_pred=(2.575906e-08,-3.862686e-08) E''=(1.250658e-03,1.875418e-03) dev=(1.392e-04,1.741e-04)
ratio exact=-0.666846 pred=-0.666869 -E''1/E''2=-0.666869 c=(0.7439,0.7439)
s=0.25: a_exact=(6.440034e-09,-9.657198e-09) a_evol=(6.440034e-09,-9.657198e-09) v(0)=(5.7e-19,1.5e-19)
a_pred=(6.439772e-09,-9.656741e-09) E''=(3.126649e-04,4.688557e-04) dev=(4.073e-05,4.738e-05)
ratio exact=-0.666864 pred=-0.666868 -E''1/E''2=-0.666868 c=(0.7439,0.7439)
extrapolated (s->0) dev_i = (9.727e-06, 5.974e-06); in-situ estimate (2.16) = (1.159e-05, 7.840e-06)
extrapolated ratio deviation = 3.752e-06; in-situ estimate = 3.745e-06