diff options
| author | CJ Carey <perimosocordiae@gmail.com> | 2017-02-02 12:27:36 -0500 |
|---|---|---|
| committer | CJ Carey <perimosocordiae@gmail.com> | 2017-09-16 10:22:49 -0400 |
| commit | ae1191b656654b18deeba44bb6ecc084f0b41737 (patch) | |
| tree | 62a4476567edca51515141efdf686bbdbeab5ae0 /numpy/linalg/tests | |
| parent | 7da52beb00b7c5d44ed1c946f2b43692d6ec4e1a (diff) | |
| download | numpy-ae1191b656654b18deeba44bb6ecc084f0b41737.tar.gz | |
ENH: add hermitian=False kwarg to matrix_power
With a symmetric matrix, the more efficient `eigvalsh` method
can be used to find singular values.
Diffstat (limited to 'numpy/linalg/tests')
| -rw-r--r-- | numpy/linalg/tests/test_linalg.py | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/numpy/linalg/tests/test_linalg.py b/numpy/linalg/tests/test_linalg.py index fa20cc5ea..8b3984883 100644 --- a/numpy/linalg/tests/test_linalg.py +++ b/numpy/linalg/tests/test_linalg.py @@ -1383,6 +1383,19 @@ class TestMatrixRank(object): # works on scalar yield assert_equal, matrix_rank(1), 1 + def test_symmetric_rank(self): + yield assert_equal, 4, matrix_rank(np.eye(4), hermitian=True) + yield assert_equal, 1, matrix_rank(np.ones((4, 4)), hermitian=True) + yield assert_equal, 0, matrix_rank(np.zeros((4, 4)), hermitian=True) + # rank deficient matrix + I = np.eye(4) + I[-1, -1] = 0. + yield assert_equal, 3, matrix_rank(I, hermitian=True) + # manually supplied tolerance + I[-1, -1] = 1e-8 + yield assert_equal, 4, matrix_rank(I, hermitian=True, tol=0.99e-8) + yield assert_equal, 3, matrix_rank(I, hermitian=True, tol=1.01e-8) + def test_reduced_rank(): # Test matrices with reduced rank |
