  Principal manifolds serve as useful tool for many practical applications.
These manifolds are defined as lines or surfaces passing through "the middle"
of data distribution. We propose an algorithm for fast construction of grid
approximations of principal manifolds with given topology. It is based on
analogy of principal manifold and elastic membrane. The first advantage of this
method is a form of the functional to be minimized which becomes quadratic at
the step of the vertices position refinement. This makes the algorithm very
effective, especially for parallel implementations. Another advantage is that
the same algorithmic kernel is applied to construct principal manifolds of
different dimensions and topologies. We demonstrate how flexibility of the
approach allows numerous adaptive strategies like principal graph constructing,
etc. The algorithm is implemented as a C++ package elmap and as a part of
stand-alone data visualization tool VidaExpert, available on the web. We
describe the approach and provide several examples of its application with
speed performance characteristics.
