From d0aab31298ffeb1c4825bad40b9ac3294ea4aa80 Mon Sep 17 00:00:00 2001 From: Bas Nijholt Date: Tue, 13 May 2025 14:16:32 +0200 Subject: [PATCH] Fix several deprecation warnings (#481) --- adaptive/learner/learner2D.py | 6 +++++- adaptive/learner/learnerND.py | 7 ++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/adaptive/learner/learner2D.py b/adaptive/learner/learner2D.py index a4b2a812..cb179a22 100644 --- a/adaptive/learner/learner2D.py +++ b/adaptive/learner/learner2D.py @@ -287,6 +287,10 @@ def custom_loss(ip: LinearNDInterpolator) -> np.ndarray: return custom_loss +def _cross_2d(x, y): + return x[..., 0] * y[..., 1] - x[..., 1] * y[..., 0] + + def choose_point_in_triangle(triangle: np.ndarray, max_badness: int) -> np.ndarray: """Choose a new point in inside a triangle. @@ -310,7 +314,7 @@ def choose_point_in_triangle(triangle: np.ndarray, max_badness: int) -> np.ndarr The x and y coordinate of the suggested new point. """ a, b, c = triangle - area = 0.5 * np.cross(b - a, c - a) + area = 0.5 * _cross_2d(b - a, c - a) triangle_roll = np.roll(triangle, 1, axis=0) edge_lengths = np.linalg.norm(triangle - triangle_roll, axis=1) i = edge_lengths.argmax() diff --git a/adaptive/learner/learnerND.py b/adaptive/learner/learnerND.py index d0300143..33bbbbb0 100644 --- a/adaptive/learner/learnerND.py +++ b/adaptive/learner/learnerND.py @@ -726,9 +726,10 @@ def _compute_loss(self, simplex): if self.nth_neighbors == 0: # compute the loss on the scaled simplex - return float( - self.loss_per_simplex(vertices, values, self._output_multiplier) - ) + loss = self.loss_per_simplex(vertices, values, self._output_multiplier) + if isinstance(loss, np.ndarray): + return float(loss.item()) + return float(loss) # We do need the neighbors neighbors = self.tri.get_opposing_vertices(simplex)