Skip to content

Instantly share code, notes, and snippets.

@serialhex
Created August 16, 2011 23:17
Show Gist options
  • Save serialhex/7a8015ea2d7c520aa880 to your computer and use it in GitHub Desktop.
Save serialhex/7a8015ea2d7c520aa880 to your computer and use it in GitHub Desktop.
/** @brief the class LocallyLinearEmbedding used to preprocess
* data using Locally Linear Embedding algorithm described in
*
* Saul, L. K., Ave, P., Park, F., & Roweis, S. T. (2001).
* An Introduction to Locally Linear Embedding. Available from, 290(5500), 2323-2326.
* Retrieved from:
* http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.123.7319&rep=rep1&type=pdf
*
* The process of finding nearest neighbors involves Fibonacci Heap
* and Euclidian distance. Note: it is still not parallel.
*
* Linear reconstruction step runs in parallel for objects and
* involves LAPACK routine DPOSV for solving a system of linear equations.
*
* The eigenproblem stated in the algorithm is solved with LAPACK routine
* DSYEVR or with ARPACK DSAUPD/DSEUPD routines if available.
*
* Due to computation speed, ARPACK is being used with small
* regularization of weight matrix and Cholesky factorization is used
* internally for Lanzcos iterations. If the results aren't reasonable
* LUP factorization could be used with posdef parameter set to
* false using set_posdef.
*
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment