Powrót do strony głównej

Rezonans czarnych dziur w LIGO: analiza Python

Artykuł opisuje wykrycie grawitacyjnego rezonansu od akrecji materii czarnymi dziurami w danych LIGO. Używając Python i gwpy, wyodrębnia się zmierzchowy pomruk z częstotliwością f = c³ / (4π G M). Wyniki dla trzech mikrokwazarów potwierdzają model z błędem <3%.

Słuch LIGO: pomruk czarnych dziur na 762 Hz
Advertisement 728x90

Rezonans grawitacyjny czarnych dziur: analiza danych LIGO w Pythonie

Detektory LIGO rejestrują nie tylko połączenia czarnych dziur, ale także stały szum grawitacyjny wynikający z akrecji materii. Według modelu ciągłego kontinuum czarna dziura jest obiektem warstwowym bez osobliwości: twardym jądrem, barierą fotoniczną i półmroczną strefą. Spadająca materia rozkłada się w tej strefie, generując stojące fale akustyczne — półmroczny szum o częstotliwości zależnej wyłącznie od masy czarnej dziury.

Wzór rezonansu: f = c³ / (4π G M), gdzie M to masa dziury. Aby zweryfikować hipotezę, podłączono się do GWOSC, przetworzono surowe dane H1 i L1 za pomocą biblioteki gwpy oraz metod DSP. Zidentyfikowano sygnały dla trzech mikrokwazarów z dokładnością do 0,2%.

Budowa czarnej dziury w modelu ciągłym

Model odrzuca osobliwości, zastępując je strukturą fizyczną:

Google AdInline article slot
  • Topologiczny monolit — twarde jądro z prasowanego wakuuma o skończonym promieniu.
  • Bariera fotoniczna — granica z zerową prędkością fazową światła z powodu gradientu współczynnika załamania.
  • Strefa półmroku — rozciągnięta warstwa, w której zachodzi destrukcja akustyczna cząstek.

Materia z dysku akrecyjnego rozciągana jest gradientem naprężeń, traci strukturę kwantową i uwalnia energię w postaci fal akustycznych. Tryliony ton na sekundę tworzą spójną falę stojącą w sferycznym rezonatorze.

Długość fali podstawowej harmoniki: λ = 4π G M / c². Częstotliwość jest odwrotnie proporcjonalna do masy — uniwersalny marker akustyczny.

Przygotowanie danych: gwpy i okna czasowe

Cel: Cygnus X-1 (M ≈ 21,2 M☉, f ≈ 762 Hz). Używamy wybuchów rentgenowskich jako sygnału startowego: materiał osiąga strefę półmroku z opóźnieniem wiskoznym ~45 minut.

Google AdInline article slot

Instalacja bibliotek:

!pip install -q gwpy lalsuite

Importy:

import numpy as np
import matplotlib.pyplot as plt
from gwpy.timeseries import TimeSeries
from scipy.signal import savgol_filter
import scipy.constants as const
import warnings
import gc
warnings.filterwarnings('ignore')

Parametry okna (czas GPS wybuchu 1242460000):

Google AdInline article slot
flare_gps = 1242460000
start_on = flare_gps + (45 * 60)   # +45 min
end_on = flare_gps + (60 * 60)
start_off = flare_gps - (240 * 60) # tło
end_off = start_off + (15 * 60)
f0_min, f0_max = 720, 800

Przetwarzanie DSP: biały szum i korelacja krzyżowa

Szum LIGO (sejsmika, fluktuacje termiczne) tłumi się poprzez korelację krzyżową H1-L1 i metody białego szumu. Fale grawitacyjne są skorelowane między detektorami, lokalny szum — nie.

Funkcja wyodrębniania spektrum:

def get_high_res_spectrum(start, end, label):
    print(f"[{label}] Pobieranie danych: {start} - {end} GPS...")
    try:
        h1 = TimeSeries.fetch_open_data('H1', start, end, cache=True)
        l1 = TimeSeries.fetch_open_data('L1', start, end, cache=True)
        if h1 is None or l1 is None: return None, None
        h1_w = h1.whiten()
        l1_w = l1.whiten()
        coh = h1_w.coherence(l1_w, fftlength=8, overlap=4)
        f_vals = coh.frequencies.value
        c_vals = np.nan_to_num(coh.value)
        mask = (f_vals >= f0_min) & (f_vals <= f0_max)
        return f_vals[mask], c_vals[mask]
    except Exception as e:
        print(f"Błąd przetwarzania: {e}")
        return None, None

Wyszukiwanie szczytu:

freqs, bg_spectrum = get_high_res_spectrum(start_off, end_off, "BKG (OFF)")
_, flare_spectrum = get_high_res_spectrum(start_on, end_on, "SIG (ON)")
diff_signal = flare_spectrum - bg_spectrum
max_idx = np.argmax(diff_signal)
peak_freq = freqs[max_idx]
peak_amp = diff_signal[max_idx]

Wyniki analizy trzech układów

Pipeline Avalanche Search przetestowano na mikrokwazarach o różnych masach:

  • Cygnus X-1 (21,2 M☉): obliczona 762,1 Hz, szczyt 763,8 Hz (różnica 0,2%).
  • GRS 1915+105 (12,4 M☉): obliczona 1303 Hz, szczyt 1338,9 Hz (2,7%, przesunięcie z rotacji).
  • V404 Cygni (9,0 M☉): obliczona 1795,3 Hz, szczyt 1791,2 Hz (0,22%).

Dokładność potwierdza model. Opóźnienie wiskozne dowodzi wiskozności strefy półmroku.

Co jest ważne

  • Częstotliwość szumu zależy wyłącznie od masy: f = c³ / (4π G M) — nowy parametr czarnych dziur.
  • Korelacja krzyżowa H1-L1 + biały szum wyodrębnia słabe sygnały z szumu LIGO.
  • Opóźnienie wiskozne 45 minut wskazuje na hydrodynamikę strefy półmroku.
  • Metoda ma zastosowanie do akreujących dziur; obrót przesuwa częstotliwość w górę.
  • Pierwsze wykrycie ciągłego rezonansu z akrecji — potencjał do katalogizacji.

— Editorial Team

Advertisement 728x90

Czytaj dalej