amplfi.utils module

Auxiliary functions for distance ansatz see:10.3847/2041-8205/829/1/L15

amplfi.utils.distance.P(x)[source]
amplfi.utils.distance.Q(x)[source]
amplfi.utils.distance.H(x)[source]
amplfi.utils.distance.dHdz(z)[source]
amplfi.utils.distance.x2(z)[source]
amplfi.utils.distance.x3(z)[source]
amplfi.utils.distance.x4(z)[source]
amplfi.utils.distance.x2_prime(z)[source]
amplfi.utils.distance.x3_prime(z)[source]
amplfi.utils.distance.x4_prime(z)[source]
amplfi.utils.distance.f(z, s, m)[source]
amplfi.utils.distance.fprime(z, s, m)[source]
amplfi.utils.distance.moments_from_samples_impl(d)[source]

Given distance samples, assumed to be posterior samples, compute distance moments in monte-carlo sense.

Parameters:

d – Distance samples

amplfi.utils.distance.ansatz_impl(s, m, maxiter=10)[source]

Given s and m parameters (see Eqs. 1-3 of doi:10.3847/0067-0049/226/1/10) solve for mu, sigma, and norm parameters.

Parameters:
  • s – Std. dev calculated from moments

  • m – Conditional distance mean per pixel

class amplfi.utils.result.AmplfiResult(label='no_label', outdir='.', sampler=None, search_parameter_keys=None, fixed_parameter_keys=None, constraint_parameter_keys=None, priors=None, sampler_kwargs=None, injection_parameters=None, meta_data=None, posterior=None, samples=None, nested_samples=None, log_evidence=nan, log_evidence_err=nan, information_gain=nan, log_noise_evidence=nan, log_bayes_factor=nan, log_likelihood_evaluations=None, log_prior_evaluations=None, sampling_time=None, nburn=None, num_likelihood_evaluations=None, walkers=None, max_autocorrelation_time=None, use_ratio=None, parameter_labels=None, parameter_labels_with_unit=None, version=None)[source]

Bases: Result

A subclass of bilby.result.Result with additional convenience methods for generating AMPLFI skymaps

to_crossmatch_result(use_distance=True, min_samples_per_pix_dist=5, **kwargs)[source]

Calculate a ligo.skymap.postprocess.crossmatch.CrossmatchResult based on sky localization and distance posterior samples. The posterior dataframe and injection_parameters dict should have ra and dec entries

Return type:

CrossmatchResult

to_skymap(use_distance=True, adaptive=True, **kwargs)[source]

Calculate a histogram skymap from posterior samples The posterior dataframe and injection_parameters dict should have ra and dec entries.

Parameters:
  • use_distance (bool) – If True, estimate distance ansatz parameters

  • adaptive (bool) – If True, use adaptive histogram based on ligo.skymap.healpix_tree.adaptive_healpix_histogram

  • **kwargs – Additional arguments passed to amplfi.utils.skymap.histogram_skymap or amplfi.utils.skymap.adaptive_histogram_skymap

Return type:

Table

reweight_to_prior(target_prior, max_rejection_steps=1)[source]
Return type:

AmplfiResult

amplfi.utils.skymap.nest2uniq(nside, ipix)[source]
amplfi.utils.skymap.adaptive_histogram_skymap(ra, dec, dist=None, max_nside=2048, dist_nside=64, max_samples_per_pixel=20, min_samples_per_pix_dist=5, metadata=None)[source]

Given right ascension declination samples and optionally distance samples, calculate a HEALPix adaptive histogram skymap using ligo.skymap.healpix_tree.adaptive_histogram_skymap

Parameters:
  • ra (ndarray) – Samples of right-ascension like parameter between 0 and 2pi. Samples outside this range will raise an error with the HEALPix library.

  • dec (ndarray) – Declination samples between -pi/2 and pi/2. Samples outside this range will raise an error with the HEALPix library.

  • dist (Optional[ndarray]) – Distance samples in Mpc. If provided, will calculate distance ansatz parameters, DISTMU, DISTSIGMA, DISTNORM for each pixel containing more than min_samples_per_pix. If not provided, will use default values of np.inf, 1 Mpc, and 0 / Mpc^2 respectively.

  • max_nside (int) – Maximum HEALPix nside parameter for adaptive histogram

  • dist_nside (int) – Nside value to resample to after histogramming for distance ansatz estimation

  • max_samples_per_pix – Max samples per pixel when performing adaptive histogramming

  • min_samples_per_pix_dist (int) – Minimum number of samples per pixel to calculate distance ansatz parameters. Otherwise, the default values are used.

  • metadata (Optional[dict]) – Extra metadata for the skymap header.

Returns:

HEALPix histogram skymap

Return type:

astropy.table.Table

amplfi.utils.skymap.histogram_skymap(ra, dec, dist=None, nside=32, min_samples_per_pix_dist=5, metadata=None)[source]

Given right ascension declination samples and optionally distance samples, calculate a HEALPix histogram skymap.

Parameters:
  • ra (ndarray) – Samples of right-ascension like parameter between 0 and 2pi. Samples outside this range will raise an error with the HEALPix library.

  • dec (ndarray) – Declination samples between -pi/2 and pi/2. Samples outside this range will raise an error with the HEALPix library.

  • dist (Optional[ndarray]) – Distance samples in Mpc. If provided, will calculate distance ansatz parameters, DISTMU, DISTSIGMA, DISTNORM for each pixel containing more than min_samples_per_pix. If not provided, will use default values of np.inf, 1 Mpc, and 0 / Mpc^2 respectively.

  • nside (int) – HEALPix nside parameter

  • min_samples_per_pix – Minimum number of samples per pixel to calculate distance ansatz parameters. Otherwise, the default values are used.

  • metadata (Optional[dict]) – Extra metadata for the skymap header.

Returns:

HEALPix histogram skymap

Return type:

astropy.table.Table

amplfi.utils.skymap.plot_skymap(skymap, ra_inj, dec_inj, outpath)[source]