Skip to content

Commit 60c9220

Browse files
author
Kibrom Kidane Kahsay
committed
extend interference web to depth-2 echoes
1 parent 20b0d8d commit 60c9220

14 files changed

Lines changed: 1522 additions & 259 deletions

README.md

Lines changed: 31 additions & 27 deletions
Large diffs are not rendered by default.

interference/__init__.py

Lines changed: 62 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -141,17 +141,19 @@
141141
function of (d_10, d_11, n_7, n_26) + pi.
142142
143143
This has a strict consequence for how the code reads. In the Standard
144-
Model, RGE running and matching are tools for tuning free Yukawa
145-
couplings: a renormalised value at one scale is dressed into a
146-
prediction at another, and the dressing absorbs the free parameters.
147-
This framework has no Yukawas to tune, so the language of "dressing"
148-
does not apply: there is no bare prediction being patched. What
149-
DOES happen is BACK-REACTION: each closure echoes through the channels
150-
that already exist (the bridge self-loop, the e↔q cycle, the WZW
151-
vents), and the echo's weight is a theorem of the channel, not a
152-
fitted correction. Every factor that appears here is one reading of
153-
the same algebra at a particular emergence layer — the layer
154-
determines the factor, not the other way around.
144+
Model, RGE running and matching are tools for tuning free interference
145+
strengths (standard QFT: "Yukawa couplings"): a renormalised value at
146+
one scale is clothed into a prediction at another, and the closure
147+
(standard QFT: "dressing") absorbs the free parameters. This framework
148+
has no free interference strengths to tune, so the language of closure-
149+
as-absorption does not apply: there is no bare prediction being patched.
150+
What DOES happen is BACK-REACTION: each closure echoes through the
151+
channels that already exist (the bridge self-loop, the e↔q cycle, the
152+
WZW vents), and the echo's weight is a theorem of the channel, not a
153+
fitted back-reaction (standard QFT: "correction"). Every factor that
154+
appears here is one reading of the same algebra at a particular
155+
emergence layer -- the layer determines the factor, not the other way
156+
around.
155157
156158
The unified expression makes this manifest: instead of per-layer
157159
modules each with its own physical motivation (the v3_release format),
@@ -320,44 +322,66 @@
320322
E. M_Pl = 1.2209171e19 GeV (output).
321323
322324
PRE-REGISTERED WATCH (the 4/13 absence test): the symmetric
323-
no-self-dilution rule predicts NO anomalous gauge back-reaction
325+
no-self-dilution rule predicts NO anomalous gauge back-reaction --
324326
the G2-absorbed share of the bridge self-echo is invisible to gauge
325327
observables. Decidable at ~0.03% alpha_s precision (lattice
326328
trajectory): alpha_s(M_Z) = 0.1184 (no back-reaction, the law's bet,
327329
matched at mu*) vs 0.1177 / 0.1191 (a +-(4/13)/(2pi) anomalous
328330
back-reaction, which would falsify the symmetry). PDG 0.1180(9)
329331
cannot yet distinguish.
330-
DISCLOSURE (matching-scale degeneracy): the mu* migration shifts
331-
1/alpha_s by (32/3)(15/512)/(2pi) = 0.0497 -- numerically almost
332-
identical to the 4/13 back-reaction unit (4/13)/(2pi) = 0.0490. The
333-
original registration (2026-06, pre-migration) quoted 0.1177 as the
334-
no-back-reaction value under the v_EW-start convention; under that
335-
convention the back-reaction alternative was 0.1184. The two effects
336-
are nearly degenerate in 1/alpha, so any future discrimination must
337-
fix the matching scale FIRST (it is fixed: exactness of the WZW
338-
cancellation forces mu*) and then test for the back-reaction on top.
339-
History preserved here deliberately; this note is the audit trail.
332+
DISCLOSURE (matching-scale degeneracy -- CRITICAL TRANSPARENCY NOTE).
333+
The mu* migration shifts 1/alpha_s by (32/3)(15/512)/(2pi) = 0.0497,
334+
numerically almost identical to the 4/13 back-reaction unit
335+
(4/13)/(2pi) = 0.0490. The coincidence is uncomfortable: the two
336+
effects differ by only 1.4% in 1/alpha, meaning the migration and the
337+
back-reaction are NEARLY DEGENERATE and cannot be distinguished at
338+
current PDG precision (0.1180 +/- 0.0009 spans both).
339+
Pre-migration (2026-06, v_EW-start convention):
340+
no-back-reaction → alpha_s = 0.1177; with back-reaction → 0.1184.
341+
Post-migration (mu*-start, current):
342+
no-back-reaction → alpha_s = 0.1184; with back-reaction → 0.1191.
343+
The migration is FORCED: the WZW cancellation is an exact identity and
344+
terminates at mu* = M_Pl e^{-(9pi^2/2-6)}, not at v_EW (couplings.py).
345+
The formula is unchanged; only the scale identification was corrected.
346+
But the near-degeneracy means that the pre-migration no-back-reaction
347+
value (0.1177) and the post-migration no-back-reaction value (0.1184)
348+
swap positions relative to the PDG central value. Any future
349+
discrimination must fix the matching scale FIRST (done: mu*) and then
350+
test for the back-reaction on top. Decidable at ~0.03% alpha_s
351+
precision (lattice trajectory). History preserved deliberately; this
352+
note is the audit trail.
340353
341354
THE MASS COORDINATE (back-reaction, not running). A running mass
342355
m_q(mu) is a coordinate on an RG orbit, not an observable; no
343356
zero-parameter framework owes "the quark mass" until a comparison
344-
coordinate is chosen. The table uses ONE RULE over three dynamical
345-
classes (masses.py): unconfined fermions (e, mu, tau, t) at the
346-
propagator pole, the only scheme-independent mass an asymptotic
347-
state has; confined heavy quarks (c, b) at the self-scale m(m),
348-
the unique fixed point of mu -> m(mu) (no pole exists below
349-
confinement); light quarks (u, d, s) through their RG-INVARIANT
350-
RATIOS, which carry no coordinate at all: m_u/m_d = 38/83
351-
(-0.9 sigma), m_s/m_ud = 27.130 vs PDG 27.30(8) (-2.1 sigma, the
352-
sharpest mass-sector pull, watched alongside m_b), Q_ellipse =
353-
22.229 (+0.2 sigma dispersive, -2.0 sigma lattice; the two data
354-
determinations disagree, PDG quark-masses review Sec. 60). The
355-
absolute light entries are quoted in the PDG MS-bar(2 GeV)
356-
coordinate, a declared dictionary entry — not a fitted one. The
357-
algebra does not run to a scale; its output IS the prediction. A
357+
coordinate is chosen.
358+
359+
The strongest quark-sector tests are the COORDINATE-FREE observables,
360+
which carry no scheme dependence at all:
361+
m_u/m_d = 38/83 = 0.45783 PDG 2024: 0.473(17) (-0.9 sigma)
362+
m_s/m_ud = 27.130 PDG 2024: 27.30(8) (-2.1 sigma)
363+
Q_ellipse = 22.229 dispersive: 22.1(7) (+0.2 sigma)
364+
lattice: 23.4(6) (-2.0 sigma; the
365+
two data determinations disagree,
366+
PDG quark-masses review Sec. 60)
367+
These ratios test the algebra directly. The -2.1 sigma on m_s/m_ud
368+
is the sharpest mass-sector pull, watched alongside m_b.
369+
370+
For absolute masses, the comparison coordinate follows the standard
371+
PDG primary conventions (masses.py): leptons (e, mu, tau) at the
372+
propagator pole; top at the pole (decays before hadronisation,
373+
Gamma_t >> Lambda_QCD, renormalon ambiguity ~0.1% of m_t); confined
374+
heavy quarks (c, b) at the self-scale m(m) (Lambda_QCD/m is ~5% for
375+
b and ~16% for c, so no pole exists below confinement); light quarks
376+
(u, d, s) via RG-invariant ratios (above). The absolute light
377+
entries are quoted in the PDG MS-bar(2 GeV) coordinate, a declared
378+
dictionary entry -- not a fitted one. Choosing the wrong coordinate
379+
inflates residuals catastrophically: the charm pole mass shifts the
380+
Koide residual from +0.06% to roughly -24%.
381+
The algebra does not run to a scale; its output IS the prediction. A
358382
reader who wants a different convention applies standard RGE transport
359383
with the framework's own alpha_s (also algebraic): both endpoints
360-
fixed, zero freedom enters but that is the SM's coordinate change,
384+
fixed, zero freedom enters -- but that is the SM's coordinate change,
361385
not a step in the prediction.
362386
363387
PRE-REGISTERED WATCH (not a claim): the quark sector is currently
@@ -375,7 +399,7 @@
375399
AUDITED (gravity.py): data-driven ingredients are measurements,
376400
parameter dependencies are recalculated from the framework's own
377401
values and verified compatible, and pure loop integrals are
378-
mathematics fixed by the field content. Nothing is dressed every
402+
mathematics fixed by the field content. Nothing is dressed -- every
379403
non-trivial factor is a back-reaction through an existing channel;
380404
nothing is tuned (Delta-r-hat_W, rho-hat at one loop; the Higgs
381405
prescription, SM 2-loop RGE + tree matching + lambda(M_Pl) =

interference/couplings.py

Lines changed: 43 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
1. UV value: α_G₂(M_Pl) = |Z₃|/(2π D²_tot) = 1/(24π) (SU(3)₃ MTC,
77
executable in root.py).
88
9-
2. EXACT WZW CANCELLATION down to μ*. One-loop G₂ running with
9+
2. EXACT WZW CANCELLATION down to μ*. Layer-1 G₂ back-reaction with
1010
C_A = h∨(G₂) = 4 and three Dirac fermions in the 7 (T(7) = 1):
1111
b₀ = (11/3)·4 − (4/3)·3 = 32/3
1212
over the GAUGE lever arm 9π²/2 − 6 (the lepton action with the
@@ -27,7 +27,7 @@
2727
is the algebraic coupling of the embedding layer, defined by the
2828
Singh division of the WZW identity, not a running coupling
2929
evaluated at 246.2 GeV.)
30-
STATUS: a NON-PERTURBATIVE WZW IDENTITY. The two-loop
30+
STATUS: a NON-PERTURBATIVE WZW IDENTITY. The layer-2
3131
coefficient b₁ = (34/3)C_A² − ((20/3)C_A + 4C₂(7))·T(7)·n_f
3232
= 232/3 > 0 would shift α_s(μ*) up ~14%, consistent with
3333
π/32 being an exact operator identity (Knizhnik-Zamolodchikov
@@ -39,7 +39,9 @@
3939
half. The 7 of G₂ is a real representation, consistent with
4040
exactly this non-chiral embedding.
4141
42-
3. THRESHOLD at G₂ → SU(3) (Weinberg 1980 / Hall 1981 matching).
42+
3. DERIVED THRESHOLD at G₂ → SU(3) (Weinberg 1980 / Hall 1981 matching).
43+
(Standard QFT calls this "threshold correction"; here the matching
44+
scale M_V is derived, not fitted — see below.)
4345
The coset G₂/SU(3) (dim 6) gives six massive vectors in 3 ⊕ 3̄:
4446
1/α_s(μ*) = 1/α_G₂(μ*) − λ₃/(12π),
4547
λ₃ = (C_{G₂} − C_{SU(3)}) − 21·T_V·ln(M_V/μ*),
@@ -58,9 +60,9 @@
5860
transmits only scalar-like spectral weight, and no coset
5961
quantum number survives as a conserved charge below matching.
6062
M_V enters ONLY as a matching parameter (exactly like heavy
61-
states in GUT threshold corrections), not as a particle.
63+
states in GUT threshold back-reactions), not as a particle.
6264
63-
4. SM 2-loop QCD running μ* → M_Z with derived thresholds
65+
4. SM layer-2 QCD running μ* → M_Z with derived thresholds
6466
→ α_s(M_Z) = 0.1184 (+0.33%, +0.43σ of PDG 0.1180(9)).
6567
Without the threshold, π/32 + SM running alone gives 0.1119
6668
(−5.1%): the derived 112 GeV matching is load-bearing.
@@ -91,21 +93,21 @@
9193
Used in the lepton vertex factor.
9294
9395
The relation between them is NOT a perturbative running approximation;
94-
it is a one-loop identity of the (7,26) bridge sector, fixed by three
96+
it is a layer-1 identity of the (7,26) bridge sector, fixed by three
9597
independent rational identities in the four integers:
9698
9799
(A) h_bridge = h(n₇,G₂) + h(n₂₆,F₄) = 2/5 + 3/5 = 1 [MARGINAL]
98100
(B) D²_local = 1 [LAGRANGIAN]
99101
(C) c_coset = c(E₈) − c(G₂) − c(F₄) = 0 [TOPOLOGICAL]
100102
101103
The worldsheet integral of a marginal (h=1) primary with unit coupling
102-
gives the universal h/() = 1/(); c_coset = 0 forbids higher-loop
103-
contributions. The reading is one-loop exact.
104+
gives the universal h/(2pi) = 1/(2pi); c_coset = 0 forbids higher-layer
105+
back-reactions. The reading is layer-1 exact.
104106
105107
Same bridge, two observables. gravity.py reads the same (7,26) sector
106108
as 182 scalar-like heat-kernel channels with non-minimal coupling
107109
ξ_bridge = α_G₂·E[v²]·h_bridge = 1/(48π) and derives Newton's constant.
108-
The conformal weight h_bridge = 1 sets BOTH the QED one-loop fraction
110+
The conformal weight h_bridge = 1 sets BOTH the QED layer-1 fraction
109111
1/(2π) and the gravitational coupling 1/(48π). EM renormalisation and
110112
induced gravity are two readings through one bridge.
111113
@@ -135,32 +137,31 @@ def _rk4_run(beta_func, a0, t0, t1, n_steps=10000):
135137
return _shared_rk4(beta_func, a0, t0, t1, n_steps)
136138

137139

138-
def _run_SM_2loop(a0, mu0, mu1, nf):
139-
"""Two-loop SM QCD running in d/d(ln mu) convention.
140+
def _b0(nf):
141+
"""Layer-1 QCD beta coefficient, derived from SU(d₁₁) Casimirs."""
142+
C_A = d11
143+
return (11 * C_A - 2*nf) / (6*math.pi)
140144

141-
All coefficients derived from SU(d₁₁) gauge theory with nf Dirac fermions:
142-
C_A = d₁₁ = 3, C_F = (d₁₁²−1)/(2d₁₁) = 4/3, T_F = 1/2
143145

144-
One-loop:
145-
b₀ = (11·C_A − 2nf)/(6π) = (11d₁₁ − 2nf)/(6π)
146+
def _b1(nf):
147+
"""Layer-2 QCD beta coefficient, derived from SU(d₁₁) Casimirs.
146148
147-
Two-loop:
148-
b₁ = (34·C_A² − 10·C_A·nf − 6·C_F·nf) / (24π²)
149-
= (34d₁₁² − 10d₁₁·nf − 6·(d₁₁²−1)/(2d₁₁)·nf) / (24π²)
150-
= (34·9 − (10·3 + 3·4/3)·nf) / (24π²)
151-
= (306 − (30+4)nf) / (24π²)
152-
but standard MS-bar two-loop for SU(N) gives:
153-
b₁ = (34C_A² − (10C_A + 6C_F)nf) / (24π²) = (306 − 38nf)/(24π²)
154-
= (153 − 19nf) / (12π²)
149+
b₁ = (34·C_A² − (10·C_A + 6·C_F)·nf) / (24π²)
150+
= (153 − 19·nf) / (12π²) for SU(3)
155151
156-
nf = d₁₀ × d₁₁ = 6 active flavours (2 types × 3 gen).
157152
No external numerical input: all numbers trace to d₁₀, d₁₁.
158153
"""
159-
# C_A = d₁₁, C_F = (d₁₁²−1)/(2d₁₁) = 4/3 for SU(d₁₁)
160154
C_A = d11
161155
C_F = (d11**2 - 1) / (2.0 * d11)
162-
b0 = (11 * C_A - 2*nf) / (6*math.pi)
163-
b1 = (34*C_A**2 - (10*C_A + 6*C_F)*nf) / (24*math.pi**2)
156+
return (34*C_A**2 - (10*C_A + 6*C_F)*nf) / (24*math.pi**2)
157+
158+
159+
def _run_SM_2loop(a0, mu0, mu1, nf):
160+
"""Layer-2 SM QCD running in d/d(ln mu) convention.
161+
162+
nf = d₁₀ × d₁₁ = 6 active flavours (2 types × 3 gen).
163+
"""
164+
b0, b1 = _b0(nf), _b1(nf)
164165
return _rk4_run(lambda a: -b0*a**2 - b1*a**3,
165166
a0, math.log(mu0), math.log(mu1))
166167

@@ -188,12 +189,12 @@ def _derive_bridge():
188189
3. Coset central charge:
189190
c_coset = c(E₈) − c(G₂) − c(F₄) = 8 − 14/5 − 26/5 = 0
190191
Vanishing c_coset makes the bridge sector TOPOLOGICAL:
191-
no propagating degrees of freedom → one-loop exact (no higher
192-
loop corrections to the self-interference integral).
192+
no propagating degrees of freedom → layer-1 exact (no higher
193+
back-reaction layers in the self-interference integral).
193194
194195
4. Self-interference integral:
195196
A marginal primary (h=1) with unit coupling (g²=1) on a genus-0
196-
worldsheet gives the universal correction:
197+
worldsheet gives the universal back-reaction:
197198
δ(1/α) = g²·h/(2π) = 1/(2π)
198199
This is a standard 2D CFT result for the integrated two-point
199200
function of a dimension-1 primary on the sphere.
@@ -211,7 +212,7 @@ def _derive_bridge():
211212

212213
g2 = D2_local # bridge coupling² = 1
213214
h = float(h_bridge) # = 1 (marginal)
214-
delta_inv = g2 * h / (2.0 * math.pi) # = 1/(2π) (one-loop exact, c_coset=0)
215+
delta_inv = g2 * h / (2.0 * math.pi) # = 1/(2π) (layer-1 exact, c_coset=0)
215216
inv_alpha_alg = 2**9 / math.pi # = 512/π (emergence value)
216217

217218
# Depth-3 echo: the mutual electron↔quark loop through the EM channel.
@@ -313,7 +314,7 @@ def derive(R, masses):
313314
alpha_MZ_no_th = _run_SM_2loop(a_no_th_mt, m_t_GeV, M_Z_PDG, n_f - 1)
314315
err_no_th = 100 * (alpha_MZ_no_th - alpha_s_PDG) / alpha_s_PDG
315316

316-
print(f"\n SM 2-loop running (no threshold):")
317+
print(f"\n SM layer-2 running (no threshold):")
317318
print(f" alpha_s(M_Z) = {alpha_MZ_no_th:.4f} ({err_no_th:+.1f}%)")
318319

319320
# ── G₂ -> SU(3) threshold (matched at μ*) ──
@@ -350,13 +351,22 @@ def derive(R, masses):
350351
print(f" Delta = {abs(alpha_MZ_thresh-alpha_s_PDG):.4f}"
351352
f", {abs(alpha_MZ_thresh-alpha_s_PDG)/0.0009:.1f}sigma")
352353

354+
# ── RK4 convergence self-certification ──
355+
# Re-run the full chain at 2× step count; assert agreement.
356+
a_mt_2x = _rk4_run(lambda a: -_b0(n_f)*a**2 - _b1(n_f)*a**3,
357+
a_thresh, math.log(mu_star), math.log(m_t_GeV), 20000)
358+
a_MZ_2x = _rk4_run(lambda a: -_b0(n_f-1)*a**2 - _b1(n_f-1)*a**3,
359+
a_mt_2x, math.log(m_t_GeV), math.log(M_Z_PDG), 20000)
360+
assert abs(alpha_MZ_thresh - a_MZ_2x) < 1e-6, \
361+
f"RK4 not converged: {alpha_MZ_thresh} vs {a_MZ_2x}"
362+
353363
# ── Bridge self-interference: alpha(0) ──
354364
bridge = _derive_bridge()
355365

356366
print(f"\n Bridge self-interference -> alpha(0):")
357367
print(f" h_bridge = h({n7},G₂) + h({n26},F₄) = {float(h_7)} + {float(h_26)} = {float(h_bridge)}")
358368
print(f" D²_local = {bridge['D2_local']:.1f} (Lagrangian condensation)")
359-
print(f" c_coset = {bridge['c_coset']:.0f} (topological -> one-loop exact)")
369+
print(f" c_coset = {bridge['c_coset']:.0f} (topological -> layer-1 exact)")
360370
print(f" depth 1: 1/alpha = (2⁹/pi)(1 - 1/(2pi)) = 137.036439")
361371
print(f" depth 3: e↔q loop, 2 orientations (S,S† rule), self-consistent:")
362372
print(f" 1/alpha(0) = (2⁹/pi)(1 - 1/(2pi) - 2(alpha/2pi)²)")

interference/dark_sector.py

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
the universal materialization fraction 1/(2π), the same factor
1111
that converts α_alg = π/512 to α(0) = 1/137.035999050.
1212
f_baryonic = 1/(2π) → Ω_DM/Ω_b = 2π−1 ≈ 5.283
13-
The c_coset = 0 property ensures one-loop exactness on the
14-
worldsheet, so this is exact, no higher-order corrections.
13+
The c_coset = 0 property ensures layer-1 exactness on the
14+
worldsheet, so this is exact, no higher-layer back-reactions.
1515
1616
Equivalently: Ω_m/Ω_b = 2π (total matter/baryon ratio).
1717
@@ -39,7 +39,7 @@
3939
from root import (d10, d11, n7, n26,
4040
h_bridge, c_coset,
4141
alpha_G2_WZW,
42-
M_Pl_GeV, pct)
42+
M_Pl_GeV, RHO_LAMBDA, PDG_COSMO, pct)
4343

4444

4545
# ═══════════════════════════════════════════════════════════════════════
@@ -105,13 +105,13 @@ def derive(R, grav_data):
105105

106106
# ── Bridge self-interference → baryon/DM split ───────────────────
107107
#
108-
# h_bridge = 1 (marginal), c_coset = 0 (one-loop exact on worldsheet)
108+
# h_bridge = 1 (marginal), c_coset = 0 (layer-1 exact on worldsheet)
109109
# D²_local = 1 (Lagrangian condensation)
110110
# f_baryonic = h_bridge/(2π) = 1/(2π)
111111
# Ω_DM/Ω_b = (1 − f_b)/f_b = 2π − 1
112112
#
113-
# c_coset = 0 ensures one-loop exactness, so this is the EXACT result.
114-
# No vertex corrections, no external inputs, pure algebraic emergence.
113+
# c_coset = 0 ensures layer-1 exactness, so this is the EXACT result.
114+
# No vertex back-reactions, no external inputs, pure algebraic emergence.
115115

116116
f_baryonic = 1.0 / (2.0 * math.pi) # 1/(2π)
117117
f_dark = 1.0 - f_baryonic
@@ -128,7 +128,7 @@ def derive(R, grav_data):
128128
print(f" f_baryon = 1/(2π) = {f_baryonic:.6f}")
129129
print(f" Ω_DM/Ω_b = 2π−1 = {DM_baryon_ratio:.6f}")
130130
print(f" Ω_m/Ω_b = 2π = {matter_baryon_ratio:.6f}")
131-
print(f" (Exact: c_coset = 0 ensures one-loop exactness)")
131+
print(f" (Exact: c_coset = 0 ensures layer-1 exactness)")
132132

133133
# ── Comparison with CMB observations ─────────────────────────────
134134
#
@@ -204,17 +204,12 @@ def derive(R, grav_data):
204204
# diluting. As Ω_Λ → 1, the observed value converges to the
205205
# prediction: standard cosmological evolution.
206206

207-
H_0_SI = PLANCK_2018['H_0_km_s_Mpc'] * 1e3 / 3.0856e22 # s⁻¹
208-
hbar_SI = 1.0546e-34
209-
GeV_per_J = 1.0 / 1.602e-10
210-
H_0_GeV = H_0_SI * hbar_SI * GeV_per_J
211-
212-
rho_Lambda = 3.0 * H_0_GeV**2 * M_Pl_GeV**2 / (8.0 * math.pi)
207+
rho_Lambda = RHO_LAMBDA # derived in root.py: (3/8π) M_Pl² H₀²
213208
rho_naive = M_Pl_GeV**4
214209
CC_suppression = math.log10(rho_Lambda / rho_naive)
215210

216211
# Current epoch comparison
217-
Omega_Lambda = 0.685
212+
Omega_Lambda = PDG_COSMO['Omega_Lambda']
218213
rho_Lambda_obs = Omega_Lambda * rho_Lambda
219214

220215
print(f"\n Cosmological constant (Volovik → Jacobson-Clausius → CKN):")

0 commit comments

Comments
 (0)