diff options
author | Matti Picus <matti.picus@gmail.com> | 2020-02-06 11:06:29 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-06 11:06:29 +0200 |
commit | 4e5882eb8b11caaf90633bd775b930a314f80deb (patch) | |
tree | 9c9144ece513b7ee1216e425cab8dc20ab457f39 /numpy/linalg/tests | |
parent | 96fa7141022edf10da6a5a34101d1e8f8920b442 (diff) | |
parent | b202aad8d8e138d4c4cb8ccc590b87e1173f45bc (diff) | |
download | numpy-4e5882eb8b11caaf90633bd775b930a314f80deb.tar.gz |
Merge pull request #15468 from hameerabbasi/fix-svd-sorted
BUG: Fix for SVD not always sorted with hermitian=True
Diffstat (limited to 'numpy/linalg/tests')
-rw-r--r-- | numpy/linalg/tests/test_linalg.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/numpy/linalg/tests/test_linalg.py b/numpy/linalg/tests/test_linalg.py index ae72c4a38..04f5c3d19 100644 --- a/numpy/linalg/tests/test_linalg.py +++ b/numpy/linalg/tests/test_linalg.py @@ -680,6 +680,14 @@ class SVDHermitianCases(HermitianTestCase, HermitianGeneralizedTestCase): assert_allclose(a, dot_generalized(np.asarray(u) * np.asarray(s)[..., None, :], np.asarray(vt)), rtol=get_rtol(u.dtype)) + def hermitian(mat): + axes = list(range(mat.ndim)) + axes[-1], axes[-2] = axes[-2], axes[-1] + return np.conj(np.transpose(mat, axes=axes)) + + assert_almost_equal(np.matmul(u, hermitian(u)), np.broadcast_to(np.eye(u.shape[-1]), u.shape)) + assert_almost_equal(np.matmul(vt, hermitian(vt)), np.broadcast_to(np.eye(vt.shape[-1]), vt.shape)) + assert_equal(np.sort(s)[..., ::-1], s) assert_(consistent_subclass(u, a)) assert_(consistent_subclass(vt, a)) |