fabianp/scikit-learn — comment on commit 1f69abd47171a772bac118dc136188708b150e5d
File: sklearn/manifold/locally_linear.py line 153
By jakevdp:

The problem is that without shift-invert mode, this will return the eigenvectors associated with the largest eigenvalues, so this won't return the LLE projection. We could try using `mode='SM'` rather than the default `mode='LM'`, but this is often not robust, especially for large matrices (see the examples at http://docs.scipy.org/doc/scipy/reference/tutorial/arpack.html#examples ).

The issue is that with sigma=0, ARPACK uses operations equivalent to `dot(inv(M), x)` which will fail when M is singular. I think when this happens, we need to raise a warning, and then treat it as a dense eigenvalue problem using `scipy.linalg.eigh`.