LLE Code Page
There is a detailed pseudocode description of LLE on the
algorithm page.
Matlab Code
- lle.m
-- A simple matlab routine to perform LLE.
- scurve.m
-- Code to run the "s-curve" example.
- swissroll.m
-- Code to run the "swiss roll" example.
Notes:
- I've gotten a few notes from people saying that the fancy
plotting stuff in the two examples above works in R11 (matlab5.3) but
not R12 (matlab6).
- It has come to my attention that the "eigs" routine is
significantly different in R12 from R11.
In particular, the eigs.m in R12 has some serious bugs and
a couple of wierd convergence issues. These have
been fixed in R12.1. However, in R12 and R12.1, eigs computes
eigenvalues/vectors in DESCENDING order, as opposed
to in ASCENDING order as in R11.
(Thanks for Kuang-chih Lee at UIUC for pointing this out).
Just for the record, here are the links to both versions:
eigs.m from matlab 5.3 R11.1
eigs.m from matlab 6.0 R12
- Actually, eigs doesn't really work at all for large problems. You
need to use a more sophisticated solver.
We have had good results with the JDQR package,
from here.
Sam T. Roweis............
roweis at cs dot toronto dot edu ......
www.cs.toronto.edu/~roweis/
Lawrence K. Saul.........
lsaul@research.att.com..........
www.research.att.com/~lsaul/