ADCS.estimators.numba_kernels module

Compiled array kernels shared by the modern attitude estimators.

The attitude filters deliberately keep their satellite, state, and measurement objects in Python: those objects provide validation and allow different hardware models. The covariance recursions, however, operate exclusively on homogeneous float64 arrays and are executed for every EKF/UKF update. Keeping the kernels here lets all eight modern filters use Numba without coupling their public APIs to Numba types.

ADCS.estimators.numba_kernels.linear_covariance_prediction(transition, covariance, noise)[source]

Return F @ P @ F.T + Q, explicitly symmetrized for roundoff.

Parameters:
  • transition (ndarray)

  • covariance (ndarray)

  • noise (ndarray)

Return type:

ndarray

ADCS.estimators.numba_kernels.linear_kalman_update(covariance, measurement_jacobian, measurement_noise, joseph)[source]

Return the gain and posterior covariance of a linear Kalman update.

Parameters:
  • covariance (ndarray)

  • measurement_jacobian (ndarray)

  • measurement_noise (ndarray)

  • joseph (bool)

Return type:

tuple[ndarray, ndarray]

ADCS.estimators.numba_kernels.njit(*args, **kws)[source]

Legacy decorator that is equivalent to the preferred API: jit().

See documentation for jit function/decorator for full description.

ADCS.estimators.numba_kernels.weighted_cross_covariance(first_deviations, second_deviations, weights)[source]

Return sum_i weights[i] * first[i] * second[i].T.

Parameters:
  • first_deviations (ndarray)

  • second_deviations (ndarray)

  • weights (ndarray)

Return type:

ndarray

ADCS.estimators.numba_kernels.weighted_outer_covariance(deviations, weights)[source]

Return sum_i weights[i] * deviations[i] * deviations[i].T.

Parameters:
  • deviations (ndarray)

  • weights (ndarray)

Return type:

ndarray

ADCS.estimators.numba_kernels.weighted_row_mean(values, weights)[source]

Return the weighted mean of row vectors without temporary broadcasts.

Parameters:
  • values (ndarray)

  • weights (ndarray)

Return type:

ndarray