summaryrefslogtreecommitdiff
path: root/numpy/linalg/linalg.py
diff options
context:
space:
mode:
authorWill Tirone <will.tirone1@gmail.com>2022-06-29 20:47:35 -0400
committerWill Tirone <will.tirone1@gmail.com>2022-06-29 20:47:35 -0400
commitc7bd547aeca593403765a741fab8a274eae2f788 (patch)
tree9f0fd53e9198ab5c304cdcea7bca842841f4a2f1 /numpy/linalg/linalg.py
parentf9bed20bffd88bce06dbc8be200179edfe7580a4 (diff)
downloadnumpy-c7bd547aeca593403765a741fab8a274eae2f788.tar.gz
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.
Diffstat (limited to 'numpy/linalg/linalg.py')
-rw-r--r--numpy/linalg/linalg.py10
1 files changed, 3 insertions, 7 deletions
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(