diff --git a/scikits/learn/utils/fixes.py b/scikits/learn/utils/fixes.py index d83ed43795a55dc07713f11c2bd86670d4f56825..13ee4e0669585149af836640ee86d1e598beec5f 100644 --- a/scikits/learn/utils/fixes.py +++ b/scikits/learn/utils/fixes.py @@ -80,12 +80,11 @@ def qr_economic(A, **kwargs): Scipy 0.9 changed the keyword econ=True to mode='economic' """ import scipy.linalg - version = scipy.__version__.split('.') - if version[0] < 1 and version[1] < 9: - return scipy.linalg.qr(A, econ=True, **kwargs) - else: + # trick: triangular solve has introduced in 0.9 + if not hasattr(scipy.linalg, 'triangular_solve'): return scipy.linalg.qr(A, mode='economic', **kwargs) - + else: + return scipy.linalg.qr(A, econ=True, **kwargs) def arpack_eigsh(A, **kwargs): """ @@ -98,9 +97,8 @@ def arpack_eigsh(A, **kwargs): else: return arpack.eigen_symmetric(A, **kwargs) -# export fixes for np =< 1.4 -np_version = np.__version__.split('.') -if np_version[0] < 2 and np_version[1] < 5: +# export fixes for np < 1.4 +if not hasattr(np, 'copysign'): in1d = _in1d copysign = _copysign unique = _unique diff --git a/scikits/learn/utils/tests/test_svd.py b/scikits/learn/utils/tests/test_svd.py index 68748bdb6b6c38313b60326412ed0c97f24e8e50..efa6ee525b2391cbb7d1046d9e63eb3357367e2b 100644 --- a/scikits/learn/utils/tests/test_svd.py +++ b/scikits/learn/utils/tests/test_svd.py @@ -142,3 +142,6 @@ def test_fast_svd_transpose_consistency(): assert_almost_equal(s2, s3) +if __name__ == '__main__': + import nose + nose.runmodule()