  Suppose the data consist of a set $S$ of points $x_j, 1 \leq j \leq J$,
distributed in a bounded domain $D \subset R^N$, where $N$ and $J$ are large
numbers. In this paper an algorithm is proposed for checking whether there
exists a manifold $\mathbb{M}$ of low dimension near which many of the points
of $S$ lie and finding such $\mathbb{M}$ if it exists. There are many dimension
reduction algorithms, both linear and non-linear. Our algorithm is simple to
implement and has some advantages compared with the known algorithms. If there
is a manifold of low dimension near which most of the data points lie, the
proposed algorithm will find it. Some numerical results are presented
illustrating the algorithm and analyzing its performance compared to the
classical PCA (principal component analysis) and Isomap.
