summaryrefslogtreecommitdiff
path: root/numpy/linalg/tests
diff options
context:
space:
mode:
authorMatthias Geier <Matthias.Geier@gmail.com>2016-05-03 12:52:22 +0200
committerMatthias Geier <Matthias.Geier@gmail.com>2016-05-03 14:50:22 +0200
commitfaa6cf3bcf2a49a4b165a0d17cf349f622ec0b2f (patch)
tree3a62f4d72c2146fd869af6a5eeb3d7058da03860 /numpy/linalg/tests
parente33b286755401d81a96bb2d847b46c3096ac9903 (diff)
downloadnumpy-faa6cf3bcf2a49a4b165a0d17cf349f622ec0b2f.tar.gz
TST: More tests for linalg.norm() with object arrays
Diffstat (limited to 'numpy/linalg/tests')
-rw-r--r--numpy/linalg/tests/test_regression.py42
1 files changed, 41 insertions, 1 deletions
diff --git a/numpy/linalg/tests/test_regression.py b/numpy/linalg/tests/test_regression.py
index 2c890232f..6991628fb 100644
--- a/numpy/linalg/tests/test_regression.py
+++ b/numpy/linalg/tests/test_regression.py
@@ -92,10 +92,50 @@ class TestRegression(TestCase):
def test_norm_object_array(self):
# gh-7575
- norm = linalg.norm(np.array([np.array([0, 1]), 0, 0], dtype=object))
+ testvector = np.array([np.array([0, 1]), 0, 0], dtype=object)
+
+ norm = linalg.norm(testvector)
+ assert_array_equal(norm, [0, 1])
+ self.assertEqual(norm.dtype, np.dtype('float64'))
+
+ norm = linalg.norm(testvector, ord=1)
+ assert_array_equal(norm, [0, 1])
+ self.assertNotEqual(norm.dtype, np.dtype('float64'))
+
+ norm = linalg.norm(testvector, ord=2)
assert_array_equal(norm, [0, 1])
self.assertEqual(norm.dtype, np.dtype('float64'))
+ self.assertRaises(ValueError, linalg.norm, testvector, ord='fro')
+ self.assertRaises(ValueError, linalg.norm, testvector, ord='nuc')
+ self.assertRaises(ValueError, linalg.norm, testvector, ord=np.inf)
+ self.assertRaises(ValueError, linalg.norm, testvector, ord=-np.inf)
+ self.assertRaises((AttributeError, DeprecationWarning),
+ linalg.norm, testvector, ord=0)
+ self.assertRaises(ValueError, linalg.norm, testvector, ord=-1)
+ self.assertRaises(ValueError, linalg.norm, testvector, ord=-2)
+
+ testmatrix = np.array([[np.array([0, 1]), 0, 0],
+ [0, 0, 0]], dtype=object)
+
+ norm = linalg.norm(testmatrix)
+ assert_array_equal(norm, [0, 1])
+ self.assertEqual(norm.dtype, np.dtype('float64'))
+
+ norm = linalg.norm(testmatrix, ord='fro')
+ assert_array_equal(norm, [0, 1])
+ self.assertEqual(norm.dtype, np.dtype('float64'))
+
+ self.assertRaises(TypeError, linalg.norm, testmatrix, ord='nuc')
+ self.assertRaises(ValueError, linalg.norm, testmatrix, ord=np.inf)
+ self.assertRaises(ValueError, linalg.norm, testmatrix, ord=-np.inf)
+ self.assertRaises(ValueError, linalg.norm, testmatrix, ord=0)
+ self.assertRaises(ValueError, linalg.norm, testmatrix, ord=1)
+ self.assertRaises(ValueError, linalg.norm, testmatrix, ord=-1)
+ self.assertRaises(TypeError, linalg.norm, testmatrix, ord=2)
+ self.assertRaises(TypeError, linalg.norm, testmatrix, ord=-2)
+ self.assertRaises(ValueError, linalg.norm, testmatrix, ord=3)
+
if __name__ == '__main__':
run_module_suite()