  This paper presents a class of linear predictors for nonlinear controlled
dynamical systems. The basic idea is to lift the nonlinear dynamics into a
higher dimensional space where its evolution is approximately linear. In an
uncontrolled setting, this procedure amounts to a numerical approximation of
the Koopman operator associated to the nonlinear dynamics. In this work, we
extend the Koopman operator to controlled dynamical systems and compute a
finite-dimensional approximation of the operator in such a way that this
approximation has the form a linear controlled dynamical system. In numerical
examples, the linear predictors obtained in this way exhibit a performance
superior to existing linear predictors such as those based on local
linearization or the so-called Carleman linearization. Importantly, the
procedure to construct these linear predictors is completely data-driven and
extremely simple -- it boils down to a nonlinear transformation of the data
(the lifting) and a linear least squares problem in the lifted space that can
be readily solved for large data sets. These linear predictors can be readily
used to design controllers for the nonlinear dynamical system using linear
controller design methodologies. We focus in particular on model predictive
control (MPC) and show that MPC controllers designed in this way enjoy
computational complexity of the underlying optimization problem comparable to
that of MPC for a linear dynamical system of the same size. Importantly, linear
inequality constraints on the state and control inputs as well as nonlinear
constraints on the state can be imposed in a linear fashion in the proposed MPC
scheme. Similarly, cost functions nonlinear in the state variable can be
handled in a linear fashion. Numerical examples (including a high-dimensional
nonlinear PDE control) demonstrate the approach with the source code available
online.
