jesterTOV.inference.likelihoods.nicer.NICERLikelihood#
- class NICERLikelihood(
- psr_name,
- amsterdam_model_dir=None,
- maryland_model_dir=None,
- penalty_value=-99999.0,
- N_masses_evaluation=20,
- N_masses_batch_size=10,
- seed=42,
Bases:
LikelihoodBaseNICER likelihood using normalizing flows (NEW DEFAULT).
This is the recommended NICER likelihood implementation that uses pre-trained normalizing flows on M-R posteriors for efficient and deterministic likelihood evaluation.
For the legacy KDE-based version, see NICERKDELikelihood.
The likelihood loads pre-trained flow models for one or both of the Amsterdam and Maryland analysis groups, and evaluates the likelihood by: 1. Pre-sampling masses ONCE at initialization (deterministic with seed) 2. During evaluation: interpolating radius from the EOS for pre-sampled masses 3. Evaluating the flow log probability at (mass, radius) 4. Averaging over all samples, then averaging over available groups
At least one of
amsterdam_model_dirormaryland_model_dirmust be provided. If only one group is provided, the likelihood uses only that group.- Parameters:
psr_name (str) – Pulsar name (e.g., “J0030”, “J0740”, “J0437”, “J0614”)
amsterdam_model_dir (str | None) – Path to directory containing Amsterdam flow model (flow_weights.eqx, metadata.json, flow_kwargs.json). If None, Amsterdam group is omitted.
maryland_model_dir (str | None) – Path to directory containing Maryland flow model. If None, Maryland group is omitted.
penalty_value (float, optional) – Penalty value for samples where mass exceeds Mtov (default: -99999.0)
N_masses_evaluation (int, optional) – Number of mass samples per likelihood evaluation (default: 20)
N_masses_batch_size (int, optional) – Batch size for processing mass samples (default: 10)
seed (int, optional) – Random seed for pre-sampling masses (default: 42)
- Variables:
psr_name (str) – Pulsar name
penalty_value (float) – Penalty value for samples where mass exceeds Mtov
N_masses_evaluation (int) – Number of mass samples per likelihood evaluation
N_masses_batch_size (int) – Batch size for processing mass samples
seed (int) – Random seed for deterministic pre-sampling
amsterdam_flow (Flow | None) – Normalizing flow for Amsterdam M-R posterior, or None if not provided
maryland_flow (Flow | None) – Normalizing flow for Maryland M-R posterior, or None if not provided
amsterdam_fixed_mass_samples (Float[Array, "n_samples"] | None) – Pre-sampled mass values from Amsterdam flow (fixed at initialization), or None
maryland_fixed_mass_samples (Float[Array, "n_samples"] | None) – Pre-sampled mass values from Maryland flow (fixed at initialization), or None
- __init__(
- psr_name,
- amsterdam_model_dir=None,
- maryland_model_dir=None,
- penalty_value=-99999.0,
- N_masses_evaluation=20,
- N_masses_batch_size=10,
- seed=42,
Methods
__init__(psr_name[, amsterdam_model_dir, ...])evaluate(params)Evaluate log likelihood for given EOS parameters.
Attributes
dataThe data for the likelihood.
modelThe model for the likelihood.