Skip to content

Commit 74f8c78

Browse files
Fix in_static_equilibrium for NumPy 2.x (2-D cross removed) (#15110)
1 parent 1813f7d commit 74f8c78

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

physics/in_static_equilibrium.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
from __future__ import annotations
66

7-
from numpy import array, cos, cross, float64, radians, sin
7+
from numpy import array, cos, float64, radians, sin
88
from numpy.typing import NDArray
99

1010

@@ -51,7 +51,11 @@ def in_static_equilibrium(
5151
False
5252
"""
5353
# summation of moments is zero
54-
moments: NDArray[float64] = cross(location, forces)
54+
# NumPy 2.x removed the 2-D cross product, so compute the scalar
55+
# (z-axis) moment for each row directly: x_i * Fy_i - y_i * Fx_i.
56+
moments: NDArray[float64] = (
57+
location[:, 0] * forces[:, 1] - location[:, 1] * forces[:, 0]
58+
)
5559
sum_moments: float = sum(moments)
5660
return bool(abs(sum_moments) < eps)
5761

0 commit comments

Comments
 (0)