Skip to content

neutron_star_eos

The equation of state (EOS) of neutron-star matter, the relation between pressure and density beyond nuclear density, constrained jointly by the two binary neutron stars, GW170817 and GW190425.

gwtc_analysis neutron_star_eos                    # low-spin PE priors
gwtc_analysis neutron_star_eos --spin-prior high

Method

The EOS fixes, through the equations of hydrostatic equilibrium, the radius and the tidal deformability \(\Lambda = \frac{2}{3} k_2 (Rc^2/Gm)^5\) of a star of each mass. All neutron stars share it, so the four stars of the two events lie on one curve. For stars of nearly equal radius (De et al. 2018 [87]),

\[ \Lambda(m) = \Lambda_{1.4} \left(\frac{m}{1.4\,M_\odot}\right)^{-6}, \]

and the EOS is summarized by \(\Lambda_{1.4}\), the deformability of a 1.4 M☉ star. The radius follows from the empirical relation \(\Lambda_{1.4} = 2.88 \times 10^{-6} (R_{1.4}/\text{km})^{7.5}\) of Annala et al. 2018 [88], accurate to about 0.5 km across EOS models.

The data measure mostly the mass-weighted combination \(\tilde\Lambda = a\Lambda_1 + b\Lambda_2\) (see Tidal deformability). For each event, with PE samples \((m_{1,i}, m_{2,i}, \tilde\Lambda_i)\) in the source frame,

\[ \mathcal{L}(\Lambda_{1.4}) \propto \sum_i \frac{K_h\big(\tilde\Lambda_i - \tilde\Lambda_\text{model}(m_{1,i}, m_{2,i}; \Lambda_{1.4})\big)} {\pi(\tilde\Lambda_i \mid m_{1,i}, m_{2,i})}, \]

with \(K_h\) a Gaussian kernel (reflected at 0) and \(\pi\) the prior on \(\tilde\Lambda\) that the PE priors (\(\Lambda_1, \Lambda_2\) uniform on 0–5000) imply at the sample's masses: a trapezoid, computed exactly. The events multiply, with a flat prior on \(\Lambda_{1.4}\); the mass population is the PE mass prior.

Event PE label (low spin) Masses (M☉)
GW170817 C02:IMRPhenomPv2_NRTidal-LowSpin (bundle) 1.47, 1.27
GW190425 C01:IMRPhenomPv2_NRTidal:LowSpin (GWTC-2.1) 1.75, 1.56

What the mode does

The mode runs no inference on strain data. It reads the released PE samples of the two events and evaluates the likelihood above on a grid of \(\Lambda_{1.4}\).

  1. Samples. GW190425: the PE file of GW190425_081805 on Zenodo (kept in the PE cache). GW170817: the bundle that unofficial_pe builds from the public GWTC-1 products. The analysis is the one of --spin-prior (the HighSpin labels with high). From each sample the mode takes the source-frame masses and \(\Lambda_1, \Lambda_2\), orders the stars so that \(m_1 \ge m_2\), and recomputes \(\tilde\Lambda\) from them.
  2. Weights. \(1/\pi(\tilde\Lambda_i \mid m_{1,i}, m_{2,i})\), the trapezoid for \(\Lambda_1, \Lambda_2\) uniform on 0–--lambda-max; samples where it vanishes are dropped, and the weights are capped at their 99.5th percentile (a few samples at \(\tilde\Lambda \approx 0\) carry huge weights).
  3. Kernel. Gaussian, of width half Silverman's rule, \(h = 0.5 \times 1.06\,\sigma_{\tilde\Lambda}\, n^{-1/5}\), reflected at 0. At each grid value the model gives \(\Lambda_1, \Lambda_2\) at the sample's masses; a sample whose predicted \(\Lambda_1\) or \(\Lambda_2\) exceeds --lambda-max (outside the PE prior) counts zero.
  4. Posteriors. \(\Lambda_{1.4}\) on 1201 points from 0 to 3000; the joint ln L is the sum over the events. Each posterior is normalized by trapezoids; the median and the 90% interval come from its cumulative distribution, and \(R_{1.4}\) from these quantiles with the Annala et al. relation.

The PE runs are not redone, and no sampler is run: the posterior is a one-dimensional grid. The published GW170817 value it is compared with is a constant of the code.

Results

Analysis Λ₁.₄, median (90%) R₁.₄ (km)
GW170817 216 (80–628) 11.2 (9.8–12.9)
GW190425 628 (109–1783) 12.9 (10.2–14.9)
joint, low spin 241 (97–631) 11.4 (10.1–12.9)
joint, high spin 212 (57–608) 11.2 (9.4–12.9)
GW170817, LVK 2018 [70] 190 (70–580)

Joint neutron-star EOS

Left: the Λ₁.₄ posteriors, with the radius scale on top. Right: the common Λ(m) curve, with the PE medians of the four stars, which the common EOS pulls together.

GW170817 alone agrees with the published common-EOS result. GW190425 adds little: its stars are heavier, so less deformable (Λ ≈ 0.2–0.7 Λ₁.₄), and it was seen essentially by one detector; it removes some of the lowest values (the joint 5% bound rises from 80 to 97).

Validation

On mock events (PE-like samples with uniform Λ priors and a Gaussian likelihood of Λ̃ around the common-EOS value of a known Λ₁.₄), the truth falls inside the 90% interval about 90% of the time and at the posterior median on average (tests/test_ns_eos.py). Dividing the smoothed posterior by the prior at the model point instead of reweighting the samples diverges at small Λ₁.₄, where the prior of Λ̃ vanishes; the kernel width is half of Silverman's rule, the full width over-smoothing (98% coverage).

Limits

  • Λ ∝ m⁻⁶ assumes stars of equal radius over 1.2–1.9 M☉; real EOSs bend this slightly.
  • No maximum-mass constraint from heavy pulsars and no X-ray radii are included: this is the gravitational-wave constraint alone.
  • GW190425's PE file does not record its Λ prior; uniform on 0–5000 is assumed, as recorded for GW170817 (--lambda-max).

Outputs

  • The HTML report ends with the PE files of this run: for each event the file read, its type (nocosmo, cosmo, combined or the GW170817 bundle) and where it was taken from (Zenodo, the S3 mirror, Galaxy, a PE cache), then the options of the run; see Which PE file is read;
  • --out-report (HTML): Λ₁.₄ and R₁.₄ of each event and jointly, against the published values, with the plot;
  • --out-summary (TSV): Λ₁.₄ and R₁.₄ (median and 90%); <name>.posterior.tsv: the Λ₁.₄ posteriors on a grid;
  • --plots-dir: ns_eos.png.

Options

Option Default Meaning
--events {GW170817,GW190425} GW170817 GW190425 Binary neutron stars to combine.
--spin-prior {low,high} low PE analyses with the low-spin (|chi| <= 0.05) or high-spin (|chi| <= 0.89) prior.
--lambda-max 5000.0 Upper bound of the uniform PE priors on Lambda_1, Lambda_2.
--cache-dir .cache_gwosc Cache root of the GW170817 bundle.
--pe-cache — PE cache of the Zenodo files (default: that of hubble_constant).
--out-report neutron_star_eos.html Output HTML report path.
--out-summary neutron_star_eos.tsv Output TSV of Lambda_1.4 and R_1.4 (the posteriors go to <name>.posterior.tsv).
--plots-dir neutron_star_eos_plots Directory for the plots.
--data-repo {zenodo,s3,galaxy} zenodo where the PE files and the GWTC-1 products of GW170817 are downloaded from: their public sources, or a mirror holding the same files, s3 (the MinIO bucket, faster) or galaxy (the public usegalaxy.org history), else the public source (S3 mirror of the public files)

Every report ends with the options of its run, defaults included. The same table with the help text of all the modes: CLI reference.