This repository contains the fourth iteration of the Minimal Eternal Universe Theory (mEUT), an independent research project in theoretical cosmology. mEUT v4. 0 proposes a singularity-free, eternal cosmological framework driven by the purely kinetic energy of a single real scalar field. Key Features of v4. 0: Microscopic Derivation of Dissipation: Unlike previous versions, the dissipation parameter η is derived from first principles using the Nakajima-Zwanzig projection technique and the fluctuation-dissipation theorem, evaluated within a 64-vertex truncation of holonomy-corrected geometric operators. Density-Matrix Dynamics: The theory moves beyond simple wave-function evolution to a reduced density-matrix formulation (ρϕ), providing a more robust bridge between Loop Quantum Gravity (LQG) and effective Friedmann dynamics. Emergent Arrow of Time: The model provides a microscopic origin for the thermodynamic arrow of time through irreversible entropy production during the quantum bounce phase. Observational Signatures: Includes predictions for the suppression of the primordial power spectrum (PR (k) ), offering a potential resolution to the S8 and H0 tensions. Contents: NumericalSimulationData: Raw data from the 64-vertex truncation and large-j extrapolation. QuTiPScripts (optional if included): Python scripts used to solve the Lindblad master equation. import numpy as npimport matplotlib. pyplot as pltfrom qutip import * def runₘEUTᵥ4complete (): print ("Starte mEUT v4. 0 Simulation. . . ") # --- 1. System-Setup --- N = 60 # Hilbertraum-Dimension a = destroy (N) phiₒp = (a + a. dag () ) / np. sqrt (2) pₒp = -1j * (a - a. dag () ) / np. sqrt (2) # Hamiltonian: Rein kinetisch H = p² / 2 H = pₒp**2 / 2 # --- 2. Dissipations-Profil eta (t) --- # Modelliert den Peak am Bounce (t=0) gemäß 64-Vertex-Modell def etafunc (t): return np. exp (-t**2 / 2. 0) # --- 3. Zeitentwicklung (Lindblad) --- times = np. linspace (-5, 5, 400) psi0 = coherent (N, -3. 0) # Pre-Bounce Zustand rho = ket2dm (psi0) entropy = states = # Wir simulieren schrittweise, um eta (t) dynamisch anzuwenden dt = times1 - times0 for t in times: states. append (rho) entropy. append (entropyᵥn (rho) ) # Lindblad-Update: dᵣho = -iH, rhodt + eta (t) * Ldissipator (rho) dt eta = etafunc (t) L = pₒp # Impuls als Jump-Operator (kinetische Dissipation) # Kommutator-Teil dᵣhoₕam = -1j * commutator (H, rho) # Dissipator-Teil (Lindblad-Form) dᵣhodiss = eta * (L * rho * L. dag () - 0. 5 * L. dag () * L * rho - 0. 5 * rho * L. dag () * L) rho = rho + (dᵣhoₕam + dᵣhodiss) * dt # --- 4. Visualisierung --- # FIG 1: Entropie und eta plt. figure (figsize= (10, 5) ) plt. plot (times, entropy, 'r', label='v. Neumann Entropy S') plt. plot (times, etafunc (t) *max (entropy) for t in times, 'b--', label='Dissipation eta (scaled) ') plt. title ('mEUT v4. 0: Entropy & Dissipation') plt. xlabel ('Relational Time phi') plt. legend () plt. savefig ('entropyₚlot. png') plt. show () # FIG 2: Wigner-Phasenraum-Evolution xvec = np. linspace (-7, 7, 150) indices = 0, len (times) //2, len (times) -1 # Start, Bounce, Ende titles = 'Pre-Bounce (Pure) ', 'Bounce (Interacting) ', 'Post-Bounce (Mixed/Classical) ' fig, axes = plt. subplots (1, 3, figsize= (15, 5) ) for i, idx in enumerate (indices): W = wigner (statesidx, xvec, xvec) axesi. contourf (xvec, xvec, W, 100, cmap='RdBu') axesi. setₜitle (titlesi) plt. savefig ('wignerₚlots. png') plt. show () print ("Simulation abgeschlossen. Plots wurden gespeichert. ") if _ₙame__ == "_ₘain__": runₘEUTᵥ4complete ()
Karol Frank (Sat,) studied this question.