diff --git a/src/torchjd/_linalg/_dual_cone.py b/src/torchjd/_linalg/_dual_cone.py index 7dd324829..ff4bc692c 100644 --- a/src/torchjd/_linalg/_dual_cone.py +++ b/src/torchjd/_linalg/_dual_cone.py @@ -78,8 +78,8 @@ def __init__( reg_eps: float = 0.0001, ) -> None: super().__init__() - self._norm_eps = norm_eps - self._reg_eps = reg_eps + self.norm_eps = norm_eps + self.reg_eps = reg_eps @property def norm_eps(self) -> float: diff --git a/tests/unit/linalg/test_dual_cone.py b/tests/unit/linalg/test_dual_cone.py index 045b1a643..aed115bb8 100644 --- a/tests/unit/linalg/test_dual_cone.py +++ b/tests/unit/linalg/test_dual_cone.py @@ -136,6 +136,16 @@ def test_reg_eps_setter_rejects_negative() -> None: projector.reg_eps = -1e-9 +def test_init_rejects_negative_norm_eps() -> None: + with raises(ValueError, match="norm_eps"): + QuadprogProjector(norm_eps=-1e-9) + + +def test_init_rejects_negative_reg_eps() -> None: + with raises(ValueError, match="reg_eps"): + QuadprogProjector(reg_eps=-1e-9) + + def test_qp_solver_based_failure() -> None: """ Tests that `QPSolverBased._project_weight_vector` raises an error when the input G has too large