From 0690438ceec17db5f1c0880d2488deb5a44ebe6e Mon Sep 17 00:00:00 2001 From: Jake Vanderplas <vanderplas@astro.washington.edu> Date: Mon, 19 Dec 2011 11:06:14 -0800 Subject: [PATCH] remove duplicative utils.fixes.arpack_eigsh --- doc/developers/utilities.rst | 2 -- sklearn/cluster/spectral.py | 6 +++--- sklearn/utils/fixes.py | 13 ------------- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/doc/developers/utilities.rst b/doc/developers/utilities.rst index 5f4364bcc1..e1232657dc 100644 --- a/doc/developers/utilities.rst +++ b/doc/developers/utilities.rst @@ -192,8 +192,6 @@ ARPACK method. A limited version of ``svds`` is available in earlier scipy versions. -- :func:`fixes.arpack_eigsh` [TODO: remove this from spectral_clustering - in favor of the above back-port] Benchmarking ~~~~~~~~~~~~ diff --git a/sklearn/cluster/spectral.py b/sklearn/cluster/spectral.py index f0acb80b64..bb4590c86f 100644 --- a/sklearn/cluster/spectral.py +++ b/sklearn/cluster/spectral.py @@ -61,7 +61,7 @@ def spectral_embedding(adjacency, n_components=8, mode=None, """ from scipy import sparse - from ..utils.fixes import arpack_eigsh + from ..utils.arpack import eigsh from scipy.sparse.linalg import lobpcg try: from pyamg import smoothed_aggregation_solver @@ -102,8 +102,8 @@ def spectral_embedding(adjacency, n_components=8, mode=None, # csr has the fastest matvec and is thus best suited to # arpack laplacian = laplacian.tocsr() - lambdas, diffusion_map = arpack_eigsh(-laplacian, k=n_components, - which='LA') + lambdas, diffusion_map = eigsh(-laplacian, k=n_components, + which='LA') embedding = diffusion_map.T[::-1] * dd elif mode == 'amg': # Use AMG to get a preconditioner and speed up the eigenvalue diff --git a/sklearn/utils/fixes.py b/sklearn/utils/fixes.py index 54c1c5a2aa..3f831933f1 100644 --- a/sklearn/utils/fixes.py +++ b/sklearn/utils/fixes.py @@ -130,19 +130,6 @@ def qr_economic(A, **kwargs): return scipy.linalg.qr(A, econ=True, **kwargs) -def arpack_eigsh(A, **kwargs): - """Compat function for sparse symmetric eigen vectors decomposition - - Scipy 0.9 renamed eigen_symmetric to eigsh in - scipy.sparse.linalg.eigen.arpack - """ - from scipy.sparse.linalg.eigen import arpack - if hasattr(arpack, 'eigsh'): - return arpack.eigsh(A, **kwargs) - else: - return arpack.eigen_symmetric(A, **kwargs) - - def savemat(file_name, mdict, oned_as="column", **kwargs): """MATLAB-format output routine that is compatible with SciPy 0.7's. -- GitLab