File Exchange

image thumbnail

Laplacian eigenmap ~ Diffusion map ~ manifold learning

version (1.99 KB) by

Demo techniques of nonlinear eigenmaps for the purpose of recovering low-dimensional geometries.



View License

Using manifold learning techniques (aka diffusion maps, Laplacian eigenmaps, intrinsic Fourier analysis) this file recovers the true, two-dimensional structure of a dataset of points embedded in 3D.

Comments and Ratings (6)

Salim Arslan


Shuai (view profile)


PK (view profile)

how to add some image to this code to check dimensionality reduction

Kye Taylor

Kye Taylor (view profile)

First, note that these type of algorithms use the eigenvectors of a diffusion operator to map the data to a new space. The diffusion operator is N-by-N, where N is the number of points in the dataset, so there are N possible eigenvectors to use in this mapping. Typically much fewer than N eigenvectors are used in practice because 1.) reducing dimensionality means you want fewer coordinates to describe each point and 2.) the number of degrees of freedom in a geometrically structured dataset are typically less than the number of points, making dimensionality reduction possible. It turns out that you want the eigenvectors associated with one of the diffusion operators spectrum, depending on how it is defined.

As I've defined it, the diffusion operator (matrix DO) is a sparse matrix (very few nonzero entries) so I use eigs to compute eigenvectors... DO also has eigenvalues that are real and less than or equal to 1. So I ask eigs for the 10 largest algebraic ('la') nvec eigenpairs.


Hi Kye Taylor,

Can you explain a bit about the reason why you choose to use "eigs" function with "la" option ?


Cat Le

Kye Taylor

Kye Taylor (view profile)

Although the implementation is more in line with Laplacian eigenmaps, I chose to include "diffusion map" in the title since the concept is the same.


Updated license

MATLAB Release
MATLAB 7.8 (R2009a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Win prizes and improve your MATLAB skills

Play today