diff options
author | Matthias Geier <Matthias.Geier@gmail.com> | 2016-05-03 12:52:22 +0200 |
---|---|---|
committer | Matthias Geier <Matthias.Geier@gmail.com> | 2016-05-03 14:50:22 +0200 |
commit | faa6cf3bcf2a49a4b165a0d17cf349f622ec0b2f (patch) | |
tree | 3a62f4d72c2146fd869af6a5eeb3d7058da03860 /numpy/linalg/tests | |
parent | e33b286755401d81a96bb2d847b46c3096ac9903 (diff) | |
download | numpy-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.py | 42 |
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() |