Skip to content

MatheusGrego/sparc-itt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sparc-itt

Applies the ITT Engine to the SPARC database of 175 disk galaxies.

What it measures: Where and how sharply the rotation curve deviates from what Newton predicts from visible mass — expressed as informational tension, a graph-theoretic measure of radial structural uniqueness. Not a dark-matter detector. A structural heterogeneity scanner.


Quick start

git clone https://github.com/MatheusGrego/sparc-itt
cd sparc-itt
go run . download          # ~110 KB zip from astroweb.cwru.edu
go run . analyze           # 175 galaxies, ~18s, writes .sparc-data/results.json
go run . serve             # http://localhost:9090

Flags: --data-dir (default .sparc-data), --port (default 9090).


Encoding

Two sources compete for each radial bin r_i:

observed  ──wObs_i──▶ rot_r0    wObs_i = Vobs²_i / ΣVobs²
baryonic  ──wBar_i──▶ rot_r0    wBar_i = Vbar²_i / ΣVbar²

where Vbar² = Vgas² + Vdisk² + Vbulge². Both weights are normalised galaxy-wide so each source's distribution sums to exactly 1.0, regardless of whether baryons under- or over-explain the observed velocity at any individual bin. No clamping, no phantom "dark matter" node.

Informational tension τ(r_i): how much would removing bin i perturb each source's radial distribution relative to the rest of the galaxy? High τ means that radius is a structural inflection point — the shape of the rotation curve is most unlike its neighbours there.

The engine uses Jensen-Shannon Divergence (symmetric, bounded [0,1]) and normalises internally before all computations.

Additional per-galaxy metrics

Field Description
global_jsd JSD(normalised Vobs², normalised Vbar²) — overall Newton violation
mond_radius Radius (kpc) where g_bar = Vbar²/r first crosses a₀ = 1.2×10⁻¹⁰ m/s²; −1 if galaxy is fully deep-MOND
peak_tension_radius Radius of the highest-tension bin
deficit max(0, 1 − Vbar²/Vobs²) per bin — local dark-matter fraction proxy
g_bar_a0 Baryonic centripetal acceleration in units of a₀
profile_class τ(r) profile morphology: cusp / core / outer / flat
tau_inner_frac mean τ(inner half) / mean τ(outer half) — > 1 means DM concentrated at centre
tau_peak_pos_norm r_peak_τ / r_max ∈ [0,1] — normalised position of tension peak
tau_monotonicity Spearman ρ(r, τ) — negative = tension falls outward (cusp); positive = rises (outer)

Findings across 175 galaxies

Global statistics

Metric Value
Galaxies analysed 175
Total radial bins ~3 400
Galaxies in deep-MOND (g_bar < a₀ from first bin) 111 / 175 (63%)
r(global_JSD, mean_tension) −0.229
r(mean_deficit, mean_tension) 0.091

The near-zero r(deficit, tension) confirms that ITT tension is not a restatement of the mass discrepancy. A galaxy can have 80% dark matter and low tension (flat deficit profile) or 0% dark matter and high tension (steep baryonic gradient). Global JSD and local tension measure orthogonal properties.

MOND transition radius vs peak tension radius

For galaxies where g_bar actually crosses a₀ within the measured range (64/175):

Group n r(r_MOND, r_peak_τ) t sig
All 64 64 0.410 3.54 ***
Q=1 (high quality) 42 0.472 3.39 **
Early spirals (S0–Sb, T=0–3) 26 0.245 1.24
Mid spirals (Sbc–Sc, T=4–5) 25 0.435 2.32 *
Late spirals (Scd–Sd, T=6–7) 9 0.630 2.14 *
Late spirals, Q=1 7 0.864 3.84 ***

The strongest signal comes from late-type spirals (Scd–Sd) at high quality. These galaxies sit in the Newtonian-to-MOND transition zone: early types are baryon-dominated throughout (no structural kink from a Newton failure), and irregular galaxies are deep-MOND from the first measured point (no crossing to locate). Late spirals are the ones where g_bar actually crosses a₀ inside the observed range — and the ITT engine independently finds that crossing as the most structurally anomalous radius.

NGC2403 example: MOND crossing at 2.9 kpc; peak tension at 3.9 kpc (ratio 1.34). At the peak tension bin: g_bar/a₀ = 0.76, deficit = 21%. The tension rises monotonically as g_bar falls through a₀, then plateaus as the deficit flattens in the outer disc.

Structural heterogeneity by morphological type

Type n mean_JSD mean_tension mean_deficit
Early (S0–Sb) 28 0.033 0.020 0.20
Mid (Sbc–Sc) 34 0.024 0.032 0.21
Late (Scd–Sd) 32 0.021 0.025 0.48
Irr (Sdm–Im) 76 0.015 0.047 0.51
BCD 5 0.047 0.054 0.56

Irregular and BCD galaxies have the highest mean tension despite the lowest global JSD (most Newton-violating galaxies have the smallest overall shape difference). Their high tension is driven by lumpy, irregular radial velocity profiles — the structural signal is real but not linked to a Newtonian-to-MOND transition.

Early-type spirals have the highest global JSD but low tension: their Newton violation is spread uniformly across all radii, so no single bin is structurally unique.

τ(r) profile morphology

Classification of the shape of the tension curve as a proxy for dark-matter distribution morphology. Rules applied in order:

  1. cusptau_inner_frac > 1.5 AND mono < −0.1 — tension concentrated at centre, falling outward
  2. outerpeak_pos_norm > 0.65 OR mono > 0.3 — tension dominated by outer disc
  3. corepeak_pos_norm ∈ [0.2, 0.65] — peak at intermediate radius
  4. flat — everything else — no strong gradient

Distribution across 175 galaxies:

Class n mean_deficit Hubble-type signal
outer 114 (65%) 0.466 dominant in late spirals + irregulars
core 27 (15%) 0.228 peaks in mid spirals (Sbc–Sc)
cusp 17 (10%) 0.294 dominant in early spirals (S0–Sb)
flat 17 (10%) 0.304 mixed

Cross-tab by Hubble type:

Type                     cusp   core  outer   flat     n
Early (S0-Sb, T<=3)        12      6      1      9    28
Mid (Sbc-Sc, T=4-5)         4     11     17      2    34
Late (Scd-Sd, T=6-7)        1      6     22      3    32
Irr (T>=8)                  0      4     74      3    81

Early spirals are cusp-dominated (baryon-concentrated centres). Irregulars are outer-dominated (DM spread across the outer disc). The gradient follows Hubble sequence.

Two contrasting cases

  • NGC3109 — 80% of gravity unexplained by baryons; τ̄ = 0.017. The dark-matter fraction is essentially flat across all radii. A uniform deficit creates no structural tension.

  • F574-2 — 0% deficit (baryons fully explain the curve); τ̄ = 0.079 (top 10 galaxy). The tension comes entirely from the steep gradient in the disk's radial profile — no dark matter, but high structural complexity.


Analysis script

# Download SPARC main table (run once):
curl -o .sparc-data/sparc_meta.mrt \
  https://cdsarc.cds.unistra.fr/ftp/J/AJ/152/157/table1.mrt

# Run stratified analysis:
python3 scripts/analyze_meta.py

Architecture

sparc-itt/
├── data/           parse + download SPARC .dat files
│   ├── download.go  HTTPS fetch + zip extraction
│   ├── parser.go    7-column rotmod format → Galaxy structs
│   └── types.go
├── model/
│   └── graph.go     Galaxy → []itt.Event (2-source: observed / baryonic)
├── analysis/
│   ├── runner.go    AnalyzeGalaxy / AnalyzeAll + globalJSD + mondRadius
│   ├── profile.go   τ(r) shape classifier (cusp/core/outer/flat)
│   └── results.go   JSON-serialisable result types
├── server/
│   └── api.go       REST: /api/galaxies  /api/galaxy/:name  /api/phases
├── scripts/
│   └── analyze_meta.py  Hubble-type stratified correlation analysis
├── web/             static dashboard (Chart.js + d3-graphviz)
└── main.go          cobra CLI: download | analyze | serve

API

GET /api/galaxies          list of all 175 with summary stats
GET /api/galaxy/:name      full result including per-bin tension and DOT graph
GET /api/phases            name + phase classification for each galaxy

Known limitations

  1. All phases = FullRecovery. The ITT temporal classifier requires genuine time-series dynamics. Encoding radial position as pseudo-time (1 h/bin) does not produce the variation needed to push galaxies into phases 1–3.

  2. 63% of galaxies are deep-MOND throughout. For these, g_bar never reaches a₀ in the measured range, making the MOND radius undefined and the tension-vs-MOND-transition comparison impossible.

  3. Late-spiral sample is small. The strongest correlation (r = 0.864, Q=1 late spirals) rests on 7 galaxies. The t-statistic is significant (t = 3.84), but the result needs a larger, dedicated sample to be robust.

  4. Profile class thresholds are heuristic. The cusp/core/outer/flat boundaries (1.5, 0.65, 0.3) were chosen to produce interpretable categories on SPARC data. They are not derived from physical first principles.

  5. outer class is partially driven by truncation. 50/114 outer galaxies have tau_peak_pos_norm = 1.0 exactly — the tension is still rising at the last measured bin. These are classified outer by position, not by a genuine outer DM halo peak.

  6. Per-engine-per-galaxy design. One ITT Engine instance per galaxy. Graph size (10–50 nodes) is below the threshold where GPU acceleration helps.


Dependencies

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors