# Lyapunov vector

In applied mathematics and dynamical system theory, Lyapunov vectors, named after Aleksandr Lyapunov, describe characteristic expanding and contracting directions of a dynamical system. They have been used in predictability analysis and as initial perturbations for ensemble forecasting in numerical weather prediction. In modern practice they are often replaced by bred vectors for this purpose.

## Mathematical description

Lyapunov vectors are defined along the trajectories of a dynamical system. If the system can be described by a d-dimensional state vector $x\in \mathbb {R} ^{d}$ the Lyapunov vectors $v^{(k)}(x)$, $(k=1\dots d)$ point in the directions in which an infinitesimal perturbation will grow asymptotically, exponentially at an average rate given by the Lyapunov exponents $\lambda _{k}$.
* When expanded in terms of Lyapunov vectors a perturbation asymptotically aligns with the Lyapunov vector in that expansion corresponding to the largest Lyapunov exponent as this direction outgrows all others. Therefore, almost all perturbations align asymptotically with the Lyapunov vector corresponding to the largest Lyapunov exponent in the system.
* In some cases Lyapunov vectors may not exist.
* Lyapunov vectors are not necessarily orthogonal.
* Lyapunov vectors are not identical with the local principal expanding and contracting directions, i.e. the eigenvectors of the Jacobian. While the latter require only local knowledge of the system, the Lyapunov vectors are influenced by all Jacobians along a trajectory.
* The Lyapunov vectors for a periodic orbit are the Floquet vectors of this orbit.

## Numerical method

If the dynamical system is differentiable and the Lyapunov vectors exist, they can be found by forward and backward iterations of the linearized system along a trajectory. Let $x_{n+1}=M_{t_{n}\to t_{n+1}}(x_{n})$ map the system with state vector $x_{n}$ at time $t_{n}$ to the state $x_{n+1}$ at time $t_{n+1}$. The linearization of this map, i.e. the Jacobian matrix $~J_{n}$ describes the change of an infinitesimal perturbation $h_{n}$. That is
    $M_{t_{n}\to t_{n+1}}(x_{n}+h_{n})\approx M_{t_{n}\to t_{n+1}}(x_{n})+J_{n}h_{n}=x_{n+1}+h_{n+1}$
Starting with an identity matrix $Q_{0}=\mathbb {I} ~$ the iterations
    $Q_{n+1}R_{n+1}=J_{n}Q_{n}$
where $Q_{n+1}R_{n+1}$ is given by the Gram-Schmidt QR decomposition of $J_{n}Q_{n}$, will asymptotically converge to matrices that depend only on the points $x_{n}$ of a trajectory but not on the initial choice of $Q_{0}$. The rows of the orthogonal matrices $Q_{n}$ define a local orthogonal reference frame at each point and the first $k$ rows span the same space as the Lyapunov vectors corresponding to the $k$ largest Lyapunov exponents. The upper triangular matrices $R_{n}$ describe the change of an infinitesimal perturbation from one local orthogonal frame to the next. The diagonal entries $r_{kk}^{(n)}$ of $R_{n}$ are local growth factors in the directions of the Lyapunov vectors. The Lyapunov exponents are given by the average growth rates
    $\lambda _{k}=\lim _{m\to \infty }{\frac {1}{t_{n+m}-t_{n}}}\sum _{l=1}^{m}\log r_{kk}^{(n+l)}$
and by virtue of stretching, rotating and Gram-Schmidt orthogonalization the Lyapunov exponents are ordered as $\lambda _{1}\geq \lambda _{2}\geq \dots \geq \lambda _{d}$. When iterated forward in time a random vector contained in the space spanned by the first $k$ columns of $Q_{n}$ will almost surely asymptotically grow with the largest Lyapunov exponent and align with the corresponding Lyapunov vector. In particular, the first column of $Q_{n}$ will point in the direction of the Lyapunov vector with the largest Lyapunov exponent if $n$ is large enough. When iterated backward in time a random vector contained in the space spanned by the first $k$ columns of $Q_{n+m}$ will almost surely, asymptotically align with the Lyapunov vector corresponding to the $k$th largest Lyapunov exponent, if $n$ and $m$ are sufficiently large. Defining $c_{n}=Q_{n}^{T}h_{n}$ we find $c_{n-1}=R_{n}^{-1}c_{n}$. Choosing the first $k$ entries of $c_{n+m}$ randomly and the other entries zero, and iterating this vector back in time, the vector $Q_{n}c_{n}$ aligns almost surely with the Lyapunov vector $v^{(k)}(x_{n})$ corresponding to the $k$th largest Lyapunov exponent if $m$ and $n$ are sufficiently large. Since the iterations will exponentially blow up or shrink a vector it can be re-normalized at any iteration point without changing the direction.