diff options
Diffstat (limited to 'numpy/linalg/tests/test_regression.py')
-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() |