empyrean.Auto

class Auto(threshold_first=0.1, threshold_mixture=10.0, threshold_ip_skip=1e-12, gmm_max_depth=3, gmm_components_per_split=3)[source]

Bases: object

Adaptive per-close-approach uncertainty-method selection.

The engine escalates the covariance method automatically over each close-approach window and relaxes it elsewhere, choosing among first-order, second-order, and the adaptive Gaussian mixture by the local nonlinearity κ. Each transition is recorded as a CovarianceRegimeChange event. Passing UncertaintyMethod.AUTO (or "auto") selects this method with the engine-default thresholds below; construct Auto directly to tune the κ band edges.

Parameters:
  • threshold_first (float) – κ below which the window stays first-order (a second-order Jet2 pass would be overkill). Default 0.1.

  • threshold_mixture (float) – κ at or above which the adaptive-Gaussian-mixture splitter fires; below it (and above threshold_first) the window resolves to second order. Default 10.0.

  • threshold_ip_skip (float) – Close approaches whose linear impact probability is below this are skipped entirely under the two-pass strategy — there is no higher-order correction worth computing. Default 1e-12 (Sentry’s risk-list inclusion bar).

  • gmm_max_depth (int) – Maximum recursion depth when the mixture tier fires. Default 3.

  • gmm_components_per_split (int) – Sub-Gaussians produced per split when the mixture tier fires. The DeMars-Bishop-Jah splitting tables are tabulated only for odd counts (3 or 5). Default 3.

References

Park & Scheeres (JGCD 2006); DeMars-Bishop-Jah (JGCD 2013); Roa et al. (AJ 2021, Sentry-II).

Methods

__init__([threshold_first, ...])

Attributes

gmm_components_per_split

gmm_max_depth

threshold_first

threshold_ip_skip

threshold_mixture

threshold_first: float = 0.1
threshold_mixture: float = 10.0
threshold_ip_skip: float = 1e-12
gmm_max_depth: int = 3
gmm_components_per_split: int = 3