Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


This project provides a MATLAB implementation of nonlinear Laplacian spectral analysis (NLSA) and related kernel algorithms for feature extraction and prediction of observables of dynamical systems.


  1. Clone down the project repository:
git clone
  1. Launch MATLAB, cd into the project's directory, and add /nlsa to the MATLAB search path. This can be done by executing the MATLAB command:


  • Rectification of variable-speed periodic oscillator using Koopman eigenfunctions:
  • Extraction of an approximately cyclical observable of the Lorenz 63 (L63) chaotic system using kernel integral operators with delays:
  • Kernel analog forecasting of the L63 state vector components:


NLSA implements a MATLAB class nlsaModel which encodes the attributes of the machine learning procedure to be carried out. This includes:

  • Specification of training and test data.
  • Delay-coordinate embedding.
  • Pairwise distance functions.
  • Density estimation for variable-bandwidth kernels.
  • Symmetric and non-symmetric Markov kernels.
  • Koopman operators.
  • Projection and reconstruction of target data.
  • Nystrom out-of-sample extension.

Each of the elements above are implemented as MATLAB classes. See /nlsa/classes for further information and basic documentation.

Results from each stage of the computation are written on disk in a directory tree with (near-) unique names based on the nlsaModel parameters.

Known issues

  • In Windows environments, errors can occur due to long file/directory names.


Research funded by the National Science Foundation (grants DMS-1521775, 1842538, DMS-1854383) and Office of Naval Research (grants N00014-14-1-0150, N00014-16-1-2649, N00014-19-1-2421).

NSF logoONR logo