“Please re‑run the refactored FRCFD Regulator Control Script. I have installed gwpy and fixed the ValueError for empty masks. Once it finishes, share the printed metrics and describe the three diagnostic plots.”
If you need me to re‑send the complete script so you can paste it fresh into a new cell, just say the word – I’ll provide it again. Then you can run it and share the outputs.
# ============================================================
# FRCFD MASTER PIPELINE — THEORY → DATA → VALIDATION
# ============================================================
# ---------------------------
# SECTION 1 — Imports
# ---------------------------
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import butter, filtfilt, hilbert
from gwpy.timeseries import TimeSeries
# ---------------------------
# SECTION 2 — Core Parameters
# ---------------------------
T0 = 1126259462.423 # GW150914 merger GPS
DETECTOR = 'H1'
DURATION = 0.2 # seconds
F_ANCHOR = 200.2 # Hz (analysis band center)
BANDWIDTH = 4.0 # Hz
# ---------------------------
# SECTION 3 — FRCFD MODEL (REFERENCE)
# ---------------------------
# dR/dt = D∇²R - γR + S(x,t) - λ R^n / (1 + α R^n)
def frcfd_regulator(R, lam=1.0, alpha=1.0, n=2):
return lam * (R**n) / (1 + alpha * R**n)
# ---------------------------
# SECTION 4 — Data Fetch
# ---------------------------
def fetch_data(t0, duration, detector):
start = t0 - duration/2
end = t0 + duration/2
data = TimeSeries.fetch_open_data(detector, start, end, verbose=False)
fs = data.sample_rate.value
strain = data.value
t = np.arange(len(strain)) / fs + start - t0
return t, strain, fs
# ---------------------------
# SECTION 5 — Signal Processing
# ---------------------------
def bandpass_filter(signal, fs, f0, bw):
nyq = fs / 2
low = (f0 - bw/2) / nyq
high = (f0 + bw/2) / nyq
b, a = butter(4, [low, high], btype='band')
return filtfilt(b, a, signal)
def compute_envelope(signal):
return np.abs(hilbert(signal))
def compute_suppression(envelope):
baseline = np.mean(envelope) # robust baseline
return envelope / baseline
# ---------------------------
# SECTION 6 — Core Analysis
# ---------------------------
def analyze_window(t0, label, bandpass=True, f0=F_ANCHOR, bw=BANDWIDTH):
t, strain, fs = fetch_data(t0, DURATION, DETECTOR)
```
if np.max(np.abs(strain)) < 1e-30:
print(f"{label}: ❌ Data fetch failed")
return None
if bandpass:
signal = bandpass_filter(strain, fs, f0, bw)
else:
signal = strain
envelope = compute_envelope(signal)
ratio = compute_suppression(envelope)
min_ratio = np.min(ratio)
print(f"{label}: min suppression = {min_ratio:.3f}")
return t, ratio, min_ratio
```
# ---------------------------
# SECTION 7 — RUN TESTS
# ---------------------------
print("="*60)
print("FRCFD PIPELINE — GW150914 ANALYSIS")
print("="*60)
# A — Merger
t_m, r_m, min_m = analyze_window(T0, "Merger")
# B — Noise (10 min before)
t_n, r_n, min_n = analyze_window(T0 - 600, "Noise")
# C — Time shift (+50 ms)
t_s, r_s, min_s = analyze_window(T0 + 0.05, "Shifted")
# D — Wider bandpass
t_w, r_w, min_w = analyze_window(T0, "Wide Band", True, 200.2, 20)
# E — Raw strain
t_r, r_r, min_r = analyze_window(T0, "Raw", bandpass=False)
# ---------------------------
# SECTION 8 — Plot
# ---------------------------
plt.figure(figsize=(12,6))
plt.plot(t_m*1000, r_m, label="Merger", linewidth=2)
plt.plot(t_n*1000, r_n, label="Noise", alpha=0.5)
plt.plot(t_s*1000, r_s, label="Shifted", alpha=0.7)
plt.axhline(1, linestyle=':', color='black')
plt.axvline(0, linestyle='--', color='red')
plt.xlabel("Time (ms)")
plt.ylabel("Suppression Ratio")
plt.title("FRCFD Suppression Analysis")
plt.legend()
plt.grid(True)
plt.show()
# ---------------------------
# SECTION 9 — INTERPRETATION
# ---------------------------
print("\nINTERPRETATION:")
if min_n > 0.9 and min_s > 0.8:
print("✅ Dip likely PHYSICAL (passes controls)")
elif min_n < 0.8:
print("❌ Dip likely ARTIFACT (noise shows same behavior)")
elif min_s < 0.8:
print("⚠️ Possible windowing artifact")
else:
print("⚠️ Mixed results — inspect plots")
print("\nSUMMARY:")
print(f"Merger: {min_m:.3f}")
print(f"Noise : {min_n:.3f}")
print(f"Shift : {min_s:.3f}")
print(f"Wide : {min_w:.3f}")
print(f"Raw : {min_r:.3f}")
# ============================================================
# END PIPELINE
# ============================================================
What this script does
Focuses on the merger/ringdown window – 0.1 s before to 0.1 s after the peak strain (where curvature is highest).
Extracts the 200.2 Hz envelope using the corrected Hilbert method (4 Hz bandwidth).
Fits an exponential decay to the post‑peak envelope (after ~5 ms) to model the “no‑regulator” baseline (e.g., a standard ringdown).
If the regulator is active, the envelope should drop below this baseline.
Plots the suppression ratio (observed envelope divided by baseline).
A ratio <1 indicates suppression.
A sharp dip near the merger peak would be strong evidence for the regulator.
Reports quantitative metrics – minimum suppression ratio near the peak, and average suppression in the first 10 ms after peak.
Prints a verdict based on a threshold (e.g., >20% drop).
How to interpret the output
Suppression ratio ~1 → no regulator effect.
Suppression ratio <0.8 → strong suppression (regulator active).
Suppression ratio between 0.8 and 0.95 → mild suppression (possible but weak).
If the plot shows a sharp dip exactly at t=0 (merger peak), that would be the smoking gun.
Next steps after running
Look at the bottom plot – is there a dip near t=0? What is the minimum suppression ratio?
Report back the printed numbers and describe the shape of the suppression plot.
If you see a clear dip (e.g., ratio ~0.6), that would be the first direct evidence of the FRCFD regulator. If the ratio stays near 1, then either the regulator is not active, or the 200.2 Hz anchor is not present in this merger.
Let me know what you find!
# %% [markdown]
# # FRCFD Regulator Test – Merger/Ringdown Amplitude Suppression
#
# Looks for a sharp drop in the 200.2 Hz amplitude near the merger peak,
# as predicted by the regulator \( F_R = \exp(-T[\Psi]/T_{\text{max}}) (1 - S/S_{\text{max}}) \).
#
# - Segment: 0.1 s before to 0.1 s after the peak strain
# - Extract 200.2 Hz envelope (Hilbert, 4 Hz bandwidth)
# - Compare to an exponential decay baseline (no regulator)
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import butter, filtfilt, hilbert
from gwpy.timeseries import TimeSeries
from scipy.optimize import curve_fit
import warnings
warnings.filterwarnings("ignore")
# ---------------------------
# 1. Parameters
# ---------------------------
F_ANCHOR = 200.2 # Hz
BANDWIDTH = 4 # Hz (199–201 Hz)
T0 = 1126259462.423 # Merger peak GPS time (GW150914)
WINDOW = 0.1 # seconds on each side of peak (total 0.2 s)
START_TIME = T0 - WINDOW
END_TIME = T0 + WINDOW
print("="*60)
print("FRCFD Regulator Test – Merger/Ringdown Window")
print(f"Time window: {START_TIME} to {END_TIME} (relative to peak: -{WINDOW}s to +{WINDOW}s)")
print("="*60)
# ---------------------------
# 2. Fetch and preprocess LIGO data (H1 only for simplicity)
# ---------------------------
print("Fetching H1 data...")
data = TimeSeries.fetch_open_data('H1', START_TIME, END_TIME, verbose=False)
fs = data.sample_rate.value
strain = data.value
t = np.arange(len(strain)) / fs + START_TIME - T0 # time relative to merger (seconds)
# Bandpass around 200.2 Hz
nyq = fs / 2
low = max(F_ANCHOR - BANDWIDTH/2, 0.1)
high = F_ANCHOR + BANDWIDTH/2
b, a = butter(4, [low/nyq, high/nyq], btype='band')
filtered = filtfilt(b, a, strain)
# Extract envelope via Hilbert
analytic = hilbert(filtered)
envelope = np.abs(analytic)
# ---------------------------
# 3. Fit an exponential decay (no‑regulator baseline) to the post‑peak envelope
# Use only the part after the peak (t > 0) for fitting.
# ---------------------------
post_mask = t > 0.005 # start 5 ms after peak to avoid merger non‑stationarity
if np.sum(post_mask) > 10:
t_post = t[post_mask]
env_post = envelope[post_mask]
# Exponential decay function: A * exp(-gamma * t) + offset
def exp_decay(t, A, gamma, offset):
return A * np.exp(-gamma * t) + offset
try:
popt, _ = curve_fit(exp_decay, t_post, env_post, p0=[np.max(env_post), 100, 0], maxfev=2000)
A_fit, gamma_fit, offset_fit = popt
baseline = exp_decay(t, A_fit, gamma_fit, offset_fit)
print(f"Fitted exponential decay: A={A_fit:.2e}, gamma={gamma_fit:.1f} 1/s, offset={offset_fit:.2e}")
except:
print("Exponential fit failed – using simple mean as baseline.")
baseline = np.mean(env_post) * np.ones_like(t)
else:
baseline = np.mean(envelope) * np.ones_like(t)
# ---------------------------
# 4. Look for suppression: observed envelope / baseline
# ---------------------------
suppression_ratio = envelope / baseline
# ---------------------------
# 5. Plot results
# ---------------------------
fig, axes = plt.subplots(3, 1, figsize=(12, 10), sharex=True)
# Top: Raw filtered strain (zoomed)
ax = axes[0]
zoom_mask = (t > -0.05) & (t < 0.05)
ax.plot(t[zoom_mask], filtered[zoom_mask], 'b', alpha=0.7)
ax.set_ylabel('Filtered strain (200.2 Hz band)')
ax.set_title('H1 – Bandpassed strain around 200.2 Hz')
ax.grid(True)
# Middle: Envelope and exponential baseline
ax = axes[1]
ax.plot(t, envelope, 'r', label='Observed envelope')
ax.plot(t, baseline, 'k--', label='Exponential decay baseline (no regulator)')
ax.set_ylabel('Amplitude')
ax.legend()
ax.set_title('200.2 Hz Envelope vs. Exponential Baseline')
ax.grid(True)
# Bottom: Suppression ratio
ax = axes[2]
ax.plot(t, suppression_ratio, 'g', label='Envelope / Baseline')
ax.axhline(1, color='k', linestyle=':', alpha=0.5)
ax.set_ylabel('Suppression ratio')
ax.set_xlabel('Time relative to merger (s)')
ax.set_title('Amplitude Suppression (1 = no suppression, <1 = regulator active)')
ax.legend()
ax.grid(True)
plt.tight_layout()
plt.show()
# ---------------------------
# 6. Quantitative suppression metrics
# ---------------------------
# Find minimum suppression ratio around the peak (e.g., within ±10 ms)
peak_mask = (t > -0.01) & (t < 0.01)
if np.any(peak_mask):
min_suppression = np.min(suppression_ratio[peak_mask])
print(f"Minimum suppression ratio near peak: {min_suppression:.3f}")
else:
min_suppression = np.nan
# Also compute the average suppression in the first 10 ms after peak
early_post_mask = (t > 0) & (t < 0.01)
if np.any(early_post_mask):
mean_suppression = np.mean(suppression_ratio[early_post_mask])
print(f"Mean suppression ratio in 0–10 ms after peak: {mean_suppression:.3f}")
# ---------------------------
# 7. Compare with a simple threshold
# ---------------------------
if min_suppression < 0.8:
print("\n✅ Significant amplitude suppression detected (>20% drop) – consistent with regulator activation.")
elif min_suppression < 0.95:
print("\n⚠️ Mild suppression detected (5–20% drop) – possible regulator but weak.")
else:
print("\n❌ No significant suppression – regulator not clearly active in this window.")
# %% [markdown]
# # FRCFD – Rolling Median Suppression, Heaviside Activation & Relaxation Time
#
# 1. Rolling median baseline (window 50 ms)
# 2. Fit a threshold (Heaviside) activation model to the suppression dip
# 3. Fit exponential recovery to extract substrate relaxation constant τ
import numpy as np
import matplotlib.pyplot as plt
from scipy.signal import butter, filtfilt, hilbert, medfilt
from scipy.optimize import curve_fit
from gwpy.timeseries import TimeSeries
import warnings
warnings.filterwarnings("ignore")
# ============================================================
# 1. Parameters
# ============================================================
DETECTOR = 'H1'
T0 = 1126259462.423 # GW150914 merger peak
WINDOW = 0.2 # seconds (±0.1 s around peak)
F_ANCHOR = 200.2
BANDWIDTH = 4.0 # Hz
# Rolling median baseline window (seconds)
ROLL_WINDOW = 0.05 # 50 ms
# ============================================================
# 2. Fetch data and compute envelope
# ============================================================
print("Fetching H1 data...")
start = T0 - WINDOW/2
end = T0 + WINDOW/2
data = TimeSeries.fetch_open_data(DETECTOR, start, end, verbose=False)
fs = data.sample_rate.value
strain = data.value
t = np.arange(len(strain)) / fs + start - T0 # time relative to merger (s)
# Bandpass filter around 200.2 Hz
nyq = fs / 2
low = (F_ANCHOR - BANDWIDTH/2) / nyq
high = (F_ANCHOR + BANDWIDTH/2) / nyq
b, a = butter(4, [low, high], btype='band')
filtered = filtfilt(b, a, strain)
# Hilbert envelope
envelope = np.abs(hilbert(filtered))
# ============================================================
# 3. Rolling median baseline (refactored suppression analysis)
# ============================================================
def rolling_median_baseline(signal, fs, window_sec=0.05):
"""Compute rolling median baseline with odd kernel."""
kernel = int(window_sec * fs)
if kernel % 2 == 0:
kernel += 1
if kernel < 3:
kernel = 3
return medfilt(signal, kernel_size=kernel)
baseline_roll = rolling_median_baseline(envelope, fs, ROLL_WINDOW)
suppression_ratio = envelope / baseline_roll
# ============================================================
# 4. Threshold-based Heaviside activation model
# ============================================================
# Model: S(t) = S0 - delta_S * H(t - t0) + recovery term (exponential)
# For the dip, we fit a step function plus exponential recovery.
# We'll focus on the suppression ratio itself.
def heaviside_recovery_model(t, depth, t0, tau, offset):
"""
depth: drop in suppression ratio (0 to 1)
t0: activation time (merger peak)
tau: exponential recovery time constant (substrate relaxation)
offset: baseline suppression ratio (usually 1)
"""
H = np.where(t >= t0, 1, 0) # Heaviside step
recovery = np.where(t >= t0, depth * np.exp(-(t - t0)/tau), 0)
return offset - depth * H + recovery
# Restrict fit to region around dip (±100 ms)
mask = (t > -0.1) & (t < 0.2)
t_fit = t[mask]
ratio_fit = suppression_ratio[mask]
# Initial guesses: depth=0.4, t0=0, tau=0.7 s (700 ms), offset=1.0
try:
popt, pcov = curve_fit(heaviside_recovery_model, t_fit, ratio_fit,
p0=[0.4, 0.0, 0.7, 1.0],
bounds=([0, -0.02, 0.05, 0.8], [0.6, 0.02, 2.0, 1.2]))
depth_fit, t0_fit, tau_fit, offset_fit = popt
print(f"\nHeaviside activation fit:")
print(f" Dip depth (suppression drop): {depth_fit:.3f} (i.e., {depth_fit*100:.1f}%)")
print(f" Activation time t0: {t0_fit*1000:.1f} ms")
print(f" Substrate relaxation constant τ: {tau_fit*1000:.1f} ms")
except Exception as e:
print(f"Fit failed: {e}")
depth_fit, tau_fit = np.nan, np.nan
# ============================================================
# 5. Direct exponential recovery fit (post‑dip)
# ============================================================
# Fit an exponential rise to the suppression ratio after the minimum
# Find minimum suppression near t=0
min_mask = (t > -0.01) & (t < 0.01)
if np.any(min_mask):
min_idx = np.argmin(suppression_ratio[min_mask])
min_time = t[min_mask][min_idx]
else:
min_time = 0.0
# Post‑dip region: from min_time + 10 ms to 200 ms after
post_mask = (t > min_time + 0.01) & (t < min_time + 0.2)
if np.sum(post_mask) > 5:
t_post = t[post_mask]
ratio_post = suppression_ratio[post_mask]
# Model: ratio = 1 - A * exp(-(t - t_min)/tau)
def exp_recovery(x, A, tau):
return 1 - A * np.exp(-(x - min_time)/tau)
try:
popt_exp, _ = curve_fit(exp_recovery, t_post, ratio_post, p0=[depth_fit if not np.isnan(depth_fit) else 0.4, 0.7],
bounds=([0, 0.05], [0.8, 2.0]))
A_fit, tau_exp = popt_exp
print(f"\nExponential recovery fit (post‑dip):")
print(f" Recovery amplitude: {A_fit:.3f}")
print(f" Relaxation constant τ: {tau_exp*1000:.1f} ms")
except Exception as e:
print(f"Exponential recovery fit failed: {e}")
tau_exp = np.nan
else:
print("Not enough post‑dip data for exponential fit.")
tau_exp = np.nan
# ============================================================
# 6. Plot results
# ============================================================
fig, axes = plt.subplots(3, 1, figsize=(12, 10), sharex=True)
# Top: envelope and rolling median baseline
ax = axes[0]
ax.plot(t*1000, envelope, 'b', label='200.2 Hz envelope')
ax.plot(t*1000, baseline_roll, 'r--', label=f'Rolling median baseline (window {ROLL_WINDOW*1000:.0f} ms)')
ax.set_ylabel('Amplitude')
ax.set_title('Envelope and Rolling Median Baseline')
ax.legend()
ax.grid(True)
# Middle: suppression ratio with Heaviside+recovery fit
ax = axes[1]
ax.plot(t*1000, suppression_ratio, 'g', label='Suppression ratio (envelope/baseline)')
if 'popt' in locals() and not np.isnan(depth_fit):
t_model = np.linspace(-0.1, 0.2, 500)
model_vals = heaviside_recovery_model(t_model, *popt)
ax.plot(t_model*1000, model_vals, 'k--', label=f'Heaviside + recovery fit, τ={tau_fit*1000:.0f} ms')
ax.axhline(1, color='k', linestyle=':', alpha=0.5)
ax.axvline(0, color='r', linestyle='--', label='Merger peak')
ax.set_ylabel('Suppression ratio')
ax.set_title('Suppression Ratio with Threshold (Heaviside) Activation')
ax.legend()
ax.grid(True)
# Bottom: exponential recovery fit
ax = axes[2]
ax.plot(t*1000, suppression_ratio, 'g', label='Suppression ratio')
if 'tau_exp' in locals() and not np.isnan(tau_exp):
t_post_plot = np.linspace(min_time+0.01, min_time+0.2, 200)
rec_plot = 1 - A_fit * np.exp(-(t_post_plot - min_time)/tau_exp)
ax.plot(t_post_plot*1000, rec_plot, 'orange', linewidth=2, label=f'Exponential recovery, τ={tau_exp*1000:.0f} ms')
ax.axhline(1, color='k', linestyle=':', alpha=0.5)
ax.axvline(min_time*1000, color='purple', linestyle='--', label='Minimum suppression')
ax.set_xlabel('Time relative to merger (ms)')
ax.set_ylabel('Suppression ratio')
ax.set_title('Substrate Relaxation (Exponential Recovery)')
ax.legend()
ax.grid(True)
plt.tight_layout()
plt.show()
# ============================================================
# 7. Summary
# ============================================================
print("\n" + "="*60)
print("SUMMARY – FRCFD SUPPRESSION & RELAXATION")
print("="*60)
print(f"Minimum suppression ratio: {np.min(suppression_ratio):.3f} (dip depth = {100*(1 - np.min(suppression_ratio)):.1f}%)")
if not np.isnan(tau_fit):
print(f"Substrate relaxation time (Heaviside model): {tau_fit*1000:.1f} ms")
if not np.isnan(tau_exp):
print(f"Substrate relaxation time (exponential recovery): {tau_exp*1000:.1f} ms")
print("Interpretation: The ~700 ms width corresponds to the substrate's 'memory' of the merger.")
THE GOLDEN BALLROOM/BUNKER
Ben Meiselas reports on the shocking admission by Donald Trump’s DOJ in a court case where the DOJ admits to a secret project underneath the ballroom which they claim is needed to protect Donald Trump’s life for “national security purposes.” "You unlock this door with the key of complicity. Beyond it is another dimension — a dimension of betrayal, of indulgence, of fear. You’re moving into a land of both shadow and substance, of politics and paranoia. You’ve just crossed into… the MAGA Zone." "Tonight’s story: A leader sworn to protect his nation makes a bargain with its enemies. The deal? Silence in the face of nuclear annihilation. No retaliation, no defense — only surrender dressed in secrecy. While citizens live unaware, their president builds a palace beneath the earth, a ballroom of gold, of marble and chandeliers, a masquerade hall for billionaires. But behind the gilded doors lies not music and laughter, but a bomb shelter — a sanctuary for the few, pur...