From c7bd547aeca593403765a741fab8a274eae2f788 Mon Sep 17 00:00:00 2001 From: Will Tirone Date: Wed, 29 Jun 2022 20:47:35 -0400 Subject: MAINT: changing the method of checking for nan / inf values in numpy.linalg.eig. Changing numpy to use the same function from numpy.lib.function_base as scipy. Tests pass. --- numpy/linalg/linalg.py | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'numpy/linalg/linalg.py') diff --git a/numpy/linalg/linalg.py b/numpy/linalg/linalg.py index 264bc98b9..c4433df52 100644 --- a/numpy/linalg/linalg.py +++ b/numpy/linalg/linalg.py @@ -31,6 +31,7 @@ from numpy.core.multiarray import normalize_axis_index from numpy.core.overrides import set_module from numpy.core import overrides from numpy.lib.twodim_base import triu, eye +from numpy.lib.function_base import asarray_chkfinite from numpy.linalg import _umath_linalg @@ -203,11 +204,6 @@ def _assert_stacked_square(*arrays): if m != n: raise LinAlgError('Last 2 dimensions of the array must be square') -def _assert_finite(*arrays): - for a in arrays: - if not isfinite(a).all(): - raise LinAlgError("Array must not contain infs or NaNs") - def _is_empty_2d(arr): # check size first for efficiency return arr.size == 0 and product(arr.shape[-2:]) == 0 @@ -1054,7 +1050,7 @@ def eigvals(a): a, wrap = _makearray(a) _assert_stacked_2d(a) _assert_stacked_square(a) - _assert_finite(a) + asarray_chkfinite(a) t, result_t = _commonType(a) extobj = get_linalg_error_extobj( @@ -1309,7 +1305,7 @@ def eig(a): a, wrap = _makearray(a) _assert_stacked_2d(a) _assert_stacked_square(a) - _assert_finite(a) + asarray_chkfinite(a) t, result_t = _commonType(a) extobj = get_linalg_error_extobj( -- cgit v1.2.1