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.
- Clone down the project repository:
git clone https://github.com/dg227/NLSA- Launch MATLAB,
cdinto the project's directory, and add/nlsato the MATLAB search path. This can be done by executing the MATLAB command:
addpath(genpath('nlsa'))- Rectification of variable-speed periodic oscillator using Koopman eigenfunctions:
/examples/circle/demoKoopman.m- Extraction of an approximately cyclical observable of the Lorenz 63 (L63) chaotic system using kernel integral operators with delays:
/examples/circle/demoNLSA.m- Kernel analog forecasting of the L63 state vector components:
/examples/l63/demoKAF.mNLSA 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.
- 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).

