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
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.}
}