Lately I've been studying the existence [and uniqueness] theorem for ODEs. As is often the case with beautiful theorems, there are several proofs of this fact. Today I want to focus on two elementary proofs, and compare them somewhat.

First of all, let's write down exactly what the theorem says in the case of a non-autonomous vector field.

Theorem. Let $ E $ be a normed space ($ \mathbb R^n $ will suffice). Let $ U\subset E $ be open. Let $ I\subset \mathbb R $ be an open interval. Let $ X\colon U\times I\to E $ be continuous and locally uniformly Lipschitz in the second variable. Let $ x_0\in U $ and $ t_0\in E $. Then there exists an open ball $ B\subset U $ around $ x_0 $, an open interval $ J = \left]t_0-\alpha,t_0+\alpha\right[\subset I $ around $ t_0 $, and a unique integral curve $ x\colon J\to U $ of $ X $ such that $ x(t_0) = x_0 $ and such that $ x(t)\in B $ for every $ t\in J $.

A common ground

Both the proofs I have in mind start by noticing that there exists an open ball $ B(x_0,\epsilon)\subset U $ and an open interval $ \left]t_0 - \delta,t_0 + \delta\right[\subset I $ where $ \lVert X(x,t) \rVert\leqq M $ for some $ M > 0 $. This is kinda easy to prove.

Moreover, let's call $ K_0 $ some local Lipschitz constant of $ X $ around $ (x_0,t_0) $.

The first proof

Let $ \alpha $ be such that $ \alpha < \epsilon/M $ and $ \alpha < \delta $. One way to prove the Theorem is to define inductively $ x_n\colon J = \left]t_0 - \alpha,t_0 + \alpha\right[\to U $ for every $ n\in \mathbb N $ by $$ x_0(t) = x_0\text{,}\qquad x_{n + 1}(t) = x_0 + \int_{t_0}^t X(x_n(\zeta),\zeta)\,\mathrm d\zeta\text{.} $$ By induction then $ x_n(t)\in B(x_0,\epsilon) $ and $$ \lVert x_n(t) - x_{n + 1}(t)\rVert\leqq \frac{MK^n}{(n + 1)!}\lvert t - t_0\rvert\text{,} $$ thus the $ x_n $s form a uniformly Cauchy sequence that converges to an integral curve of $ X $.

The second proof

The second proof I had in mind uses the celebrated Banach fixed point theorem, or rather one of its corollaries. We basically define the operator $$ T\colon H\to K\text{,}\qquad (Tx)(t) = x_0 + \int_{t_0}^t X(x(\zeta),\zeta)\,\mathrm d\zeta $$ where $ K $ is the space of bounded continuous functions $ x\colon J\to U $ equipped with the sup-norm $ \lVert\phantom{x}\rVert_\infty $, and $ H $ is the open ball of radius $ \epsilon $ in $ K $ around the constant function $ \bar x_0 $ at $ x_0 $. It is a general easy fact that if $ \lVert Tx - \bar x_0\rVert_\infty < (1 - C)\epsilon $, where $ C $ is the contraction constant of $ T $, then $ T $ has a fixed point that lies in $ H $.

A couple of questions

The first one. The estimate to be made on $ \alpha $ in the second proof seems stronger. For the fixed point argument to work we need, in order: $ \alpha < \delta $, $ \alpha < \epsilon/M $ (this ensures that $ Tx $ is again a bounded continuous mapping and thus lies in $ K $), and some other condition related to the fact that $ \lVert Tx - \bar x_0\rVert_\infty < (1 - C)\epsilon $ must hold.

For example, Loomis&Sternberg's Advanced Calculus claims that $ \alpha $ should be smaller than $ \epsilon/(M + C\epsilon) $.

On the other hand, the first proof seems to work for all $ \alpha < \delta $ and $ \alpha < \epsilon/M $. This surprises me. Did I do something wrong?

The second one. This is more philosophic. I don't know anything about computational mathematics, but I was wondering: If one of these two iterative proofs were to be implemented on a computer, which one would it be? What's the differences between the two approaches. Or, on the contrary: How are they similar?

I will follow a Dynamical Systems course next term and I hope it will clarify me some doubts, but for now I'm just leaving it there.

  • $\begingroup$ If you review the proof of the contraction lemma, you will see that it uses exactly the same iterative sequence as in the first proof. So the two proofs are the same. Concerning the numerical implementation, I doubt this is the iteration you would actually implement on a computer. There are other methods to numerically integrate ODEs. $\endgroup$ Commented Sep 30, 2023 at 0:24
  • $\begingroup$ Yeah, the first one can be written down almost entirely from the second one. I noticed that. But I can't figure out why they give different estimates on $ \alpha $. I mean, I don't know how to tweak the statement of the fixed-point thm to ensure that the fixed point exists and lies in $ H $ without requiring explicitly that estimate involving $ (1 - C)\epsilon $. $\endgroup$ Commented Sep 30, 2023 at 0:34
  • $\begingroup$ That's something I also struggled with years ago for another application of the contraction mapping (in my case, it was the implicit mapping theorem). These estimates you get are never sharp, so people are generally sloppy with them and this is the reason you see several different versions of the same theorem. If you ever need an effective constant, it is better to redo the iteration by hand on your specific problem, rather than relying of a pre-made theorem. $\endgroup$ Commented Sep 30, 2023 at 9:57

1 Answer 1


The restriction based on the Lipschitz constant are technical and thus not necessary.

After the first restriction based on the bound on $X$ to $\bar \alpha=\min(a,M/b)$, the local Lipschitz constant for that cylinder $\{|t-t_0|\le\bar\alpha,\;\|x-x_0\|\le b\}$ or the double cone $\{\|x-x_0\|\le M\,|t-t_0|\le M\,\bar\alpha\}$ inside this cylinder is indistinguishable from a global Lipschitz constant in the strip over the time interval.

This could be made formal by replacing $X$ with a continuation that is constant or linear on the rays in the space directions outside the cylinder.

To more directly see this, observe that the radius $\alpha=\min(\bar \alpha,\frac1L)$ of the local solution is valid for any continuation in the above cylinder. So the big cylinder can be covered by finitely many slices of width $\alpha$, and the local solutions of IVP inside the slices can be patched together to a solution over the full width of the cylinder.

There is another approach to get a solution over the cylinder directly from the Banach fixed-point theorem. This is by using a weighted norm, where the weight function is associated to the exponential function that is the sum of all bounds in the first approach. In short the modified norm is $$\|x\|_L=\sup_{|t-t_0|\le\bar \alpha} e^{-2L|t-t_0|}\|y(t)\|.$$ In this norm the Picard iteration operator has a contraction factor of $\frac12$. Over bounded intervals this norm is equivalent to the simple supremum norm, so that all convergence properties remain valid.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .