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