Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
from math import lgamma, log as scalar_log, pi as scalar_pi
from math import lgamma
from math import log as scalar_log
from math import pi as scalar_pi

# pylint: disable=no-name-in-module,no-member
from pyrecest.backend import all as backend_all
Expand Down
2 changes: 1 addition & 1 deletion src/pyrecest/filters/discrete_state/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -410,4 +410,4 @@ def sparse_gaussian_transition_matrix(
)
for name in _module_globals["__all__"]:
globals()[name] = _module_globals[name]
__all__ = _module_globals["__all__"]
__all__ = _module_globals["__all__"]
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,7 @@ def test_volume_and_pdf_remain_finite_after_gamma_overflow_threshold(self):
)

with mpmath.workdps(80):
expected_volume = float(
mpmath.pi ** (dim / 2) / mpmath.gamma(dim / 2 + 1)
)
expected_volume = float(mpmath.pi ** (dim / 2) / mpmath.gamma(dim / 2 + 1))

volume = dist.get_manifold_size()
npt.assert_allclose(volume, expected_volume, rtol=1e-12, atol=0.0)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import numpy as np

from pyrecest.filters.discrete_state import (
discrete_forward_backward,
imm_forward_backward,
Expand Down
3 changes: 1 addition & 2 deletions tests/filters/test_ggiw_input_validation.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import numpy as np
import pytest
import pyrecest.backend
import pytest
from pyrecest.backend import array, diag, eye
from pyrecest.filters import GGIWTracker


pytestmark = pytest.mark.skipif(
pyrecest.backend.__backend_name__ != "numpy",
reason="GGIW validation regressions use the NumPy-backed tracker",
Expand Down
7 changes: 2 additions & 5 deletions tests/filters/test_mem_ekf_covariance_validation.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
import numpy as np
import pytest
import pyrecest.backend
import pytest
from pyrecest.backend import array, diag, eye
from pyrecest.filters import MEMEKFTracker, MEMQKFTracker


pytestmark = pytest.mark.skipif(
pyrecest.backend.__backend_name__ != "numpy",
reason="MEM covariance validation regressions use the NumPy-backed MEM trackers",
Expand Down Expand Up @@ -99,6 +98,4 @@ def test_mem_qkf_inherits_measurement_noise_validation():
)

with pytest.raises(ValueError, match="meas_noise_cov"):
tracker.set_default_measurement_noise_cov(
array([[1.0, 2.0], [2.0, 1.0]])
)
tracker.set_default_measurement_noise_cov(array([[1.0, 2.0], [2.0, 1.0]]))
1 change: 0 additions & 1 deletion tests/filters/test_mem_rbpf_covariance_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
from pyrecest.backend import array, diag, eye
from pyrecest.filters.mem_rbpf_tracker import MEMRBPFTracker


pytestmark = pytest.mark.skipif(
backend.__backend_name__ == "jax",
reason="MEMRBPFTracker is unsupported on JAX.",
Expand Down
8 changes: 2 additions & 6 deletions tests/filters/test_replay_grid_log_likelihood_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,15 @@ def test_rejects_nan_and_positive_infinity(self):
for invalid_value in (np.nan, np.inf):
log_likelihood = np.asarray([0.0, invalid_value])
with self.subTest(invalid_value=invalid_value, api="lookup"):
with self.assertRaisesRegex(
ValueError, "finite values or -np.inf"
):
with self.assertRaisesRegex(ValueError, "finite values or -np.inf"):
replay_grid_log_likelihood_values(
positions,
log_likelihood,
bin_centers,
interpolation="nearest",
)
with self.subTest(invalid_value=invalid_value, api="proposal"):
with self.assertRaisesRegex(
ValueError, "finite values or -np.inf"
):
with self.assertRaisesRegex(ValueError, "finite values or -np.inf"):
grid_proposal_weights(log_likelihood)

def test_negative_infinity_remains_zero_likelihood(self):
Expand Down
3 changes: 1 addition & 2 deletions tests/filters/test_ukf_nonfinite_atomicity.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,8 @@

import numpy as np
import numpy.testing as npt

from pyrecest.backend import array, zeros
from pyrecest.filters._ukf import _UKFModel, UnscentedKalmanFilter
from pyrecest.filters._ukf import UnscentedKalmanFilter, _UKFModel
from pyrecest.sampling.sigma_points import MerweScaledSigmaPoints


Expand Down