Skip to content

Results

Results are generic over the array type: NumPy arrays from the NumPy backend, JAX arrays (left on the device) from the JAX backend.

kalman_py.FilterResult dataclass

FilterResult(
    means: A,
    covs: A,
    predicted_means: A,
    predicted_covs: A,
    nis: A,
    log_likelihood: A,
)

Bases: Generic[A]

Output of a batch filter run over T measurements.

Row k of means/covs is the posterior after measurement k; row k of predicted_means/predicted_covs is the prior just before it (needed by smoothers).

kalman_py.ExtendedFilterResult dataclass

ExtendedFilterResult(
    means: A,
    covs: A,
    predicted_means: A,
    predicted_covs: A,
    nis: A,
    log_likelihood: A,
    transition_jacobians: A,
)

Bases: FilterResult[A]

FilterResult plus the linearized models the EKF used, needed for smoothing.

kalman_py.UnscentedFilterResult dataclass

UnscentedFilterResult(
    means: A,
    covs: A,
    predicted_means: A,
    predicted_covs: A,
    nis: A,
    log_likelihood: A,
    cross_covariances: A,
)

Bases: FilterResult[A]

FilterResult plus the sigma-point cross-covariances the smoother needs.

kalman_py.SmootherResult dataclass

SmootherResult(means: A, covs: A, gains: A)

Bases: Generic[A]

Smoothed estimates p(x_k | z_1, ..., z_T) for every step k.

gains[k] is the smoother gain G_k linking steps k and k + 1; the lag-one covariance is Cov(x_{k+1}, x_k | z_1..z_T) = covs[k + 1] @ gains[k].T.

kalman_py.CovarianceDowndateError

Bases: ValueError

A square-root UKF downdate would make the covariance indefinite.