I was teaching students about the existence and uniqueness theorems for first order differential equations; what I taught was the following version:
Given and an open rectangle and an initial point
a) If is continuous over then there is at least one solution where and the solution is valid so long as the graph of stays in .
b) if, in addition, is continuous over then the solution is unique.
Ok, ok, I know that there are stronger statements of the uniqueness theorem but this is fine for a first pass.
We then talked about what this means: basically, if the conditions of the uniqueness theorem are met, then solution curves for the same differential equation cannot intersect (if they did, this would be a point where uniqueness does not hold).
So, for grins, I plotted the direction field (using Matlab and dfield6) for and showed how the solver struggled along the axis due to the partial derivative not existing there. But then:
Check out the solutions below the axis. What is going on there? We should have uniqueness!
1. These solutions are NOT following the direction fields…
2. The direction field itself is wrong…do you see why? And
3. Note that the “solution” curves have some local maximums and local minimums…that is impossible!
Let’s look at the differential equation again:
. We see the following immediately:
1. is always greater than or equal to zero and can only equal zero when . Hence the lines with “negative” slope in the the direction field are bogus.
2. Any curve can only have relative maximums or minimums when and when . Our solver put in some bogus ones.
We can work on this “by hand” and see that the unique solution meeting is which is valid so long as
We can also examine the differential equation itself to see that the “curves of constant slope” are of the form ; example: along the hyperbolas and we should have slopes equal to 1 in the direction field. Clearly this is not being accurately represented by dfield6 for this differential equation!
So what is going on?
Hint: try to solve this differential equations with Matlab Runge-Kutta methods (and others); what you’ll find is that the software is using complex roots for the “raised to the 4-5’ths” function.
Upshot: we are still smarter than the software.