Differential of the time-one map of a flow at a critical point

flows
Author

Nicolas Boumal

Published

March 28, 2025

Abstract
To apply tools from discrete dynamical systems to continuous ones, the standard trick is to iterate the time-one map \(\Phi^1\) of the continuous flow on \(V\). Often, this requires understanding the differential of that time-one map at a critical point \(x\), namely, \(\D\Phi^1(x) = e^{\D V(x)}\). This post derives that formula.

Let \(V \colon \Rn \to \Rn\) be a continuously differentiable vector field (\(C^1\)). The associated ordinary differential equation (ODE) is \[\begin{align*} \ddt x(t) = V(x(t)) && \textrm{ with } && x(0) = x_0. \end{align*}\] As is well know, the solution \(t \mapsto x(t)\) exists and is unique for all \(t\) in some open interval around \(0\). The flow map \(\Phi\) maps an initial condition \(x_0\) to the solution at time \(t\), that is, \[ \Phi(t, x_0) = \Phi^t(x_0) = x(t). \] Under special circumstances, \(\Phi\) is defined and differentiable on all of \(\reals \times \Rn\): let us assume so here to keep things simple, though we will only need local results.

The so-called time-one map is \(\Phi^1 \colon \Rn \to \Rn\); it pushes a point \(x\) to where it would be after following the flow for one unit of time, \(\Phi^1(x)\). It is sometimes useful to access an explicit expression for the differential \(\D\Phi^1(x) \colon \Rn \to \Rn\) at some point \(x \in \Rn\). If \(x\) is a critical point of \(V\) (that is, if \(V(x) = 0\)), this takes a particularly simple form:

Theorem 1 Assume \(V \colon \Rn \to \Rn\) is continuously differentiable. If \(V(x) = 0\), then the differential of the time-one map at \(x\) is the matrix exponential of the Jacobian of \(V\) at \(x\): \[ \D\Phi^1(x) = e^{\D V(x)}. \]

This is folklore, but I didn’t find it written explicitly (I’d be happy to receive pointers by e-mail). With proper scrutiny, it follows (as a special case) from the ODE book of Arnold (2006), specifically, from Lemma 8 in Section 32.6 (and surely most other ODE books too). The developments there apply to non-critical points \(x\) too, and hence the final answer is less transparent than for our special case of interest.

Since \(V(x) = 0\), trajectories initialized near \(x\) do not travel far in one unit of time. This is why only the local properties of \(V\) near \(x\) matter (it is not necessary to assume that the flow is defined on all of \(\reals \times \Rn\)).

Below are two simple proofs: one involves swapping two derivatives (suggested by ChatGPT, aligned with Arnold’s approach); the other differentiates through an integral (using a standard trick in solving ODEs).

Continuous to discrete time

The formula above is useful in particular in conjunction with versions of the Center Stable Manifold Theorem (CSMT). These are often stated for discrete dynamical systems, specifically because the asymptotic behavior of a continuous time flow \(\Phi\) can be reduced to that of a discrete time system \(x_{t+1} = g(x_t)\) by iterating the time-one map: \(g = \Phi^1\). Since the CSMT involves a condition on the eigenvalues of \(\D g(x)\) at critical points \(x\), the formula above reduces it to a condition on the exponential of the eigenvalues of \(\D V(x)\).

For example, if \(f \colon \Rn \to \reals\) is \(C^2\), then setting \(V = -\nabla f\) means that the flow above is the negative gradient flow for \(f\). Theorem 1 states that if \(\nabla f(x) = 0\) then the differential of the time-one map of negative gradient flow for \(f\) at \(x\) is \(\D\Phi^1(x) = e^{-\nabla^2 f(x)}\). In particular, if the Hessian of \(f\) at the critical point \(x\) has a negative eigenvalue (strict saddle), then \(\D\Phi^1(x)\) has an eigenvalue which is larger than one (unstable fixed point).

Proof by swapping two derivatives

For all \(x\), by definition of the flow map, \(t \mapsto \Phi^t(x)\) is a solution of the ODE, and hence \[ \ddt \Phi^t(x) = V(\Phi^t(x)). \] Differentiate on both sides with respect to \(x\), along a direction \(u \in \Rn\): \[ \D\!\left(x \mapsto \ddt \Phi^t(x)\right)(x)[u] = \D V(\Phi^t(x))\!\left[\D \Phi^t(x)[u]\right]. \] On the left-hand side, the derivatives with respect to \(t\) and \(x\) can be swapped (because partial derivatives commute). Thus, \[ \ddt \D\Phi^t(x)[u] = \D V(\Phi^t(x))[\D \Phi^t(x)[u]]. \] The quantity \(\D\Phi^t(x)[u]\) appears on both sides: it is a curve in \(\Rn\) parameterized by \(t\) (with some given \(x, u \in \Rn\)). Let us give it a name: \[ y(t) := \D\Phi^t(x)[u]. \] Also, now using the assumption \(V(x) = 0\), the trajectory \(t \mapsto \Phi^t(x)\) is constant: \(\Phi^t(x) = x\) for all \(t\). It follows that \(\D V(\Phi^t(x)) = \D V(x)\) for all \(t\): this is a constant linear map. Therefore, the equation above is a linear differential equation with constant coefficients: \[ \ddt y(t) = \D V(x)[y(t)]. \] (This is called the equation of variations in Arnold’s book on ODEs.)

The initial condition is \(y(0) = \D\Phi^0(x)[u] = u\) because \(\Phi^0\) is identity. Solve that linear ODE explicitly to find: \[ \D\Phi^t(x)[u] = y(t) = e^{t \D V(x)} y(0) = e^{t\D V(x)} u. \] This is true for all \(u\), so that \(\D\Phi^t(x) = e^{t\D V(x)}\), as announced.

Proof by differentiation through an integral

Without loss of generality, assume \(V(0) = 0\) (that is, our critical point of interest is at the origin).

Let \(A = \D V(0)\) and define \(E(x) = V(x) - Ax\). Differentiate on both sides at \(x = 0\) to confirm that \(\D E(0) = \D V(0) - A = 0\).

Following the standard trick for linear ODEs, we start from \(\dot x(t) = V(x(t))\), multiply on the left by \(e^{-At}\) and work through the expressions to establish the following: \[\begin{align*} && e^{-At} \dot x(t) & = e^{-At}(Ax(t) + E(x(t))) \\ \implies && e^{-At}(\dot x(t) - Ax(t)) & = e^{-At} E(x(t)) \\ \implies && \ddt \left[ e^{-At} x(t) \right] & = e^{-At} E(x(t)). \end{align*}\] Integrating the derivative of \(e^{-At} x(t)\) for \(t\) from \(0\) to \(1\) yields \[ e^{-A} x(1) = x(0) + \int_0^1 e^{-At} E(x(t)) \dt. \] Since \(x(t) = \Phi^t(x(0))\), it follows (with \(x\) now denoting the initial condition) that \[ \Phi^1(x) = e^{A} x + \int_0^1 e^{(1-t)A} E(\Phi^t(x)) \dt. \] Thus, the differential of the time-one map \(\Phi^1\) at \(x\) (near \(0\)) along the direction \(u\) is \[ \D\Phi^1(x)[u] = e^{A} u + \int_0^1 e^{(1-t)A} \D E(\Phi^t(x))[\D\Phi^t(x)[u]] \dt. \] Evaluate at \(x = 0\) and use \(\Phi^t(0) = 0\) (because \(V(0) = 0\)) with \(\D E(0) = 0\) to conclude that \(\D\Phi^1(0) = e^A\).

References

Arnold, V. I. 2006. Ordinary Differential Equations. 3rd ed. Universitext. Springer. https://link.springer.com/book/9783540345633.

Citation

BibTeX citation:
@online{boumal2025,
  author = {Boumal, Nicolas},
  title = {Differential of the Time-One Map of a Flow at a Critical
    Point},
  date = {2025-03-28},
  url = {www.racetothebottom.xyz/posts/flow-map-differential/},
  langid = {en},
  abstract = {To apply tools from discrete dynamical systems to
    continuous ones, the standard trick is to iterate the time-one map
    \$\textbackslash Phi\^{}1\$ of the continuous flow on \$V\$. Often,
    this requires understanding the differential of that time-one map at
    a critical point \$x\$, namely, \$\textbackslash D\textbackslash
    Phi\^{}1(x) = e\^{}\{\textbackslash D V(x)\}\$. This post derives
    that formula.}
}