eps_component_summary

ell1fit.eccentricity.eps_component_summary(eps1, eps2, weights=None, upper_limit_level=0.9973002039367398)[source]

Summarize the EPS1 and EPS2 marginals: values, errors, limits.

These are the marginals, and they are not a route to the eccentricity – see the warning in the module docstring, and eccentricity_summary(), which uses the joint samples. What they are good for is quoting the two fitted components themselves, which a parfile carries but the result table previously recorded only in the sampler’s local coordinates.

The upper limit is on the magnitude. EPS1 is \(e\sin\omega\) and can be either sign, so “less than” is only a statement about a signed value if the sign is already known, which in a non-detection it is not. \(|\epsilon_1| < x\) says what a non-detection actually establishes, and reduces to the familiar half-normal limit when the posterior sits on the origin: at THREE_SIGMA_LEVEL it is exactly three sigma.

Parameters:
eps1, eps2array-like

Paired posterior samples, in physical units.

weightsarray-like, optional

Sample weights from _prior_weights(). Passing the same weights the eccentricity used keeps the whole summary under one prior.

upper_limit_levelfloat

Credible level of the magnitude limits. Defaults to THREE_SIGMA_LEVEL.

Returns:
dict

Per component: EPS1_<percentile> for each of PERCENTILES, EPS1_err_lo and EPS1_err_hi (the 16–50 and 50–84 half-widths), EPS1_err (the larger of the two, which is the symmetric uncertainty ell1fit.create_parfile writes into a parfile), and EPS1_abs_upper_limit. Plus EPS_abs_upper_limit_level and EPS_summary, the one-line form.