4.1. NONLINEAR PROBLEMS IN ONE VARIABLE 147
This can be solved using the quadratic formula, but for small enough
k one
can use several iterations of (4.1.2). Let
k = =1 and let the first guess be
x
0
= 1 (p = 0). Then the calculations from (4.1.2) will be: 1=100500, 1=111055,
1
=112222, 1=112351. If we are "satisfied" with the last calculation, then let it
be the value of the next time set,
x
n
where n = 1 is the first time step so that
this is an approximation of x(1k).
Consider the general problem of finding the fixed point of
j({)
j({) = {= (4.1.3)
The Picard algorithm has the form of successive approximation as in (4.1.2),
but for more general
j({). In the algorithm we continue to iterate (4.1.2)
until there is little di
erence in two successive calculations. Another possible
stopping criteria is to examine the size of the nonlinear residual
i({) = j({){.
Example 2. Find the square root of 2. This could also be written either as
0 = 2
{
2
for the root, or as { = { + 2 {
2
= j({) for the fixed point
of j({). Try an initial approximation of the fixed point, say, {
0
= 1. Then
the subsequent iterations are
{
1
= j(1) = 2> {
2
= j(2) = 0> {
3
= j(0) = 2>
and so on 0> 2> 0> 2======! So, the iteration does not converge. Try another initial
{
0
= 1=5 and it still does not converge {
1
= j(1=5) = 1=25, {
2
= j(1=25) =
1=6875, {
3
= j(1=6875) = =83984375! Note, this last sequence of numbers is
diverging from the solution. A good way to analyze this is to use the mean
value theorem
j({) j(
s
2) = j
0
(f)({
s
2) where f is somewhere between {
and
s
2. Here j
0
(f) = 1 2f. So, regardless of how close { is to
s
2, j
0
(f) will
approach 1 2
s
2> which is strictly less than -1. Hence for { near
s
2 we have
|
j({) j(
s
2)| A |{
s
2|!
In order to obtain convergence, it seems plausible to require j({) to move
points closer together, which is in contrast to the above example where they
are moved farther apart.
Definition.
j : [d> e] $ R is called contractive on [a,b] if and only if for all x
and y in [a,b] and positive
u ? 1
|
j({) j(|)| u|{ ||= (4.1.4)
Example 3. Consider
x
w
= x@(1 + x) with x(0) = 1. The implicit Euler
method has the form x
n+1
= x
n
+ kx
n+1
@(1 + x
n+1
) where n is the time step.
For the first time step with
{ = x
n+1
the resulting fixed point problem is
{ = 1 + k{@(1 + {) = j({). One can verify that the first 6 iterates of Picard’s
algorithm with
k = 1 are 1.5, 1.6, 1.6153, 1.6176, 1.6180 and 1.6180. The
algorithm has converged to within 10
4
, and we stop and set x
1
= 1=610. The
function
j({) is contractive, and this can be seen by direct calculation
j({) j(|) = k[1@((1 + {)(1 + |))]({ |)= (4.1.5)
The term in the square bracket is less then one if both
{ and | are positive.
© 2004 by Chapman & Hall/CRC