summaryrefslogtreecommitdiff
path: root/numpy/linalg/tests
diff options
context:
space:
mode:
authorSebastian Berg <sebastian@sipsolutions.net>2015-09-25 17:54:24 +0200
committerSebastian Berg <sebastian@sipsolutions.net>2015-09-25 18:05:28 +0200
commitae56c58db4207bd11100a9d24c9edf7694e34d67 (patch)
treeba9886cc3ef9c3d48553d3dfa31ed134853dc047 /numpy/linalg/tests
parent1765438b5f68eeb5c9b920e8df2760dc8e908cae (diff)
downloadnumpy-ae56c58db4207bd11100a9d24c9edf7694e34d67.tar.gz
BUG,ENH: allow linalg.cond to work on a stack of matrices
This was buggy, because the underlying functions supported it partially but cond was not aware of this. Closes gh-6351
Diffstat (limited to 'numpy/linalg/tests')
-rw-r--r--numpy/linalg/tests/test_linalg.py14
1 files changed, 12 insertions, 2 deletions
diff --git a/numpy/linalg/tests/test_linalg.py b/numpy/linalg/tests/test_linalg.py
index aedcc6a95..7c577d86f 100644
--- a/numpy/linalg/tests/test_linalg.py
+++ b/numpy/linalg/tests/test_linalg.py
@@ -556,7 +556,12 @@ class TestCondSVD(LinalgTestCase, LinalgGeneralizedTestCase):
def do(self, a, b):
c = asarray(a) # a might be a matrix
s = linalg.svd(c, compute_uv=False)
- old_assert_almost_equal(s[0] / s[-1], linalg.cond(a), decimal=5)
+ old_assert_almost_equal(
+ s[..., 0] / s[..., -1], linalg.cond(a), decimal=5)
+
+ def test_stacked_arrays_explicitly(self):
+ A = np.array([[1., 2., 1.], [0, -2., 0], [6., 2., 3.]])
+ assert_equal(linalg.cond(A), linalg.cond(A[None, ...])[0])
class TestCond2(LinalgTestCase):
@@ -564,7 +569,12 @@ class TestCond2(LinalgTestCase):
def do(self, a, b):
c = asarray(a) # a might be a matrix
s = linalg.svd(c, compute_uv=False)
- old_assert_almost_equal(s[0] / s[-1], linalg.cond(a, 2), decimal=5)
+ old_assert_almost_equal(
+ s[..., 0] / s[..., -1], linalg.cond(a, 2), decimal=5)
+
+ def test_stacked_arrays_explicitly(self):
+ A = np.array([[1., 2., 1.], [0, -2., 0], [6., 2., 3.]])
+ assert_equal(linalg.cond(A, 2), linalg.cond(A[None, ...], 2)[0])
class TestCondInf(object):