![]()
![]()
for
Introduction
The term "Picard iteration" occurs two
places in undergraduate mathematics. In numerical analysis
it is used when discussing fixed point iteration for finding a
numerical approximation to the equation
. In
differential equations, Picard iteration is a constructive procedure
for establishing the existence of a solution to a differential
equation
that passes through the point
.
The first type of Picard iteration uses computations to generate a "sequence of numbers" which converges to a solution. We will not present this application, but mention that it involves the traditional role of computer software as a "number cruncher."
The goal of this article is to illustrate the second application of Picard iteration; i. e. how to use a computer to efficiently generate a "sequence of functions" which converges to a solution. We will see that computer software can perform the more sophisticated task of "symbol cruncher." For years, software such as Mathematica, Maple, Scientific Work Place, MuPad, Derive, LiveMath, Macsyma, REDUCE, Mathcad, and Matlab have been introduced in undergraduate mathematics courses to assist in keeping track of equations during complicated symbolic manipulations, see references [3 to 7].
Background
Most differential equations texts give a
proof for the existence and uniqueness of the solution to a first
order differential equation. Then exercises are given for
performing the laborious details involved in the method of successive
approximations. The concept seems straightforward, just
repeated integration, but students get bogged down with the
details. Now computers can do all the drudgery and we can
get a better grasp on how the process works.
Theorem 1 (Existence
Theorem). If both
are
continuous on the rectangle
and
, then
there exists a unique solution to the initial value problem
(I.V.P.)
(1)
for all values of x in some (smaller)
interval
contained in
.
Picard's Method for D.E.'s
The method of successive approximations uses
the equivalent integral equation for (1) and an iterative method for
constructing approximations to the solution. This is a
traditional way to prove (1) and appears in most all differential
equations textbooks. It is attributed to the French
mathematician Charles
Emile Picard (1856-1941).
Theorem 2 (Successive Approximations -
Picard Iteration). The solution to the I.V.P in
(1) is found by constructing recursively a
sequence
of
functions
, and
(2)
.
Then the solution
to (1) is given by the limit:
(3)
.
Proof Picard Iteration Theorem 2
Symbolic Analysis
Computer algebra systems are useful for
performing the arduous task of repeated integrations. To
perform Picard iteration using Mathematica one must
define
, and
supply the initial value
, and
the number of iterations n. The
following subroutine will compute the first
approximations.
Mathematica Subroutine (Picard Iteration).
Example 1. Use
Picard iteration to find the solution of the I.V.P.
.
Solution
1.
Example 2. Use
Picard iteration to find the solution of the I.V.P.
.
Solution
2.
Getting the Graphs
If we want to graph several solution, we will
need to store them somewhere. The following version of the
Picard subroutine uses the vector
. Since
the subscript for the elements of a vector start with
,
the notation for the sequence of stored functions will
be
.
Mathematica Subroutine (Vector Form for Picard Iteration).
Example 3. Use
Picard iteration to find and plot approximations for
the solution of the I.V.P.
.
Solution
3.
Example 4. Use
Picard iteration to find and plot approximations for
the solution of the I.V.P.
.
Solution
4.
Extension to First Order Systems in
2D
Suppose that we want to solve the initial
value problem for a system of two differential equations
, and
(7)
Picard iteration can be used to generate two
sequences
and
which
converge to the solutions
and
, respectively,
see reference [2]. They are defined recursively
by
,
, and
(8)
The sequence of approximations will converge to the solution,
i.e.
(9) ![[Graphics:Images/PicardIterationMod_gr_85.gif]](picarditeration/PicardIterationMod/Images/PicardIterationMod_gr_85.gif)
Mathematica Subroutine (Picard Iteration in 2D).
Example 5. Use
Picard iteration to find the solution to the system of differential
equations
Solution
5.
Example 6. Use
Picard iteration to find the solution to the system of differential
equations
Solution
6.
Getting the Graphs
If we want to graph several solution, we will
need to store them somewhere. The following version of the
Picard subroutine uses the vectors
and
. The
sequences of stored functions will be
and
.
Mathematica Subroutine (Vector Form for Picard Iteration in 2D).
Example 7. Use Picard
iteration to find and plot approximations for the solution
of the I.V.P.
Solution
7.
Extension to First Order Systems in
3D
Suppose that we want to solve the initial
value problem for a system of three differential equations
The following Mathematica subroutine extends the 2D case to
3D.
Mathematica Subroutine (Vector Form for Picard Iteration in 3D).
Example 8. Use Picard iteration to find and plot approximations for the solution of the I.V.P.
Picard's Method for Higher Order
D.E.'s
It is easy to extend the idea of Picard
iteration to higher order problems. For illustration
purposes we will solve second order D.E.'s.
Theorem 3 (Picard Iteration for Second Order
D. E.'s). Given the second order initial value
problem
, with
(10)
.
The solution to the I.V.P in (10) is found by constructing
recursively a sequence
of functions
, and
(11)
for
.
Then the solution
to (10) is given by the limit:
(12)
.
Proof Picard Iteration Theorem 3
Symbolic Analysis
For the Mathematica subrouine one must
first define
, and
supply the initial values
,
,
, and
the number of iterations n. The
subroutine
will compute the first n
approximations.
Mathematica Subroutine (Picard Iteration for Second Order Equations).
Example 9. Use
Picard iteration to find the solution of the second order
I.V.P.
.
Solution
9.
Example 10. Use
Picard iteration to find the solution of the second order
I.V.P.
.
Solution
10.
Getting the Graphs
If we want to graph several solution, we will
need to store them somewhere. The following version of the
Picard subroutine uses the vector
. Since
the subscript for the elements of a vector start with
,
the notation for the sequence of stored functions will
be
.
Mathematica Subroutine (Vector Form for Picard Iteration).
Example 11. Use
Picard iteration to find and plot approximations for solution of the
second order I.V.P.
.
Solution
11.
Example 12. Use
Picard iteration to find and plot approximations for solution of the
second order I.V.P.
.
Solution
12.
Acknowledgement
This module is was originally developed by
the author using the obsolete computer algebra system muMATH
(implemented on the Apple II computer). It has been
upgraded and improved using Mathematica. The
previous manuscript was:
John H. Mathews, Symbolic
Computational Algebra Applied to Picard
Iteration, Mathematics
and Computer Education Journal, Spring, 1989, Vol. 23, No. 2, pp.
117-122.
References in the previous manuscript
1. Garrett Birkhoff; and Gian-Carlo Rota, Ordinary Differential Equations, 3rd Ed., John Wiley and Sons, New York, NY, 1978, p. 23.
2. Einar Hille, Lectures on Ordinary Differential Equations, Addison-Wesley Pub. Co., Reading, MA, 1969, pp. 32-41.
3. Ralph Freese; Pertti Lounesto; and David A Stegenga, "The Use of muMATH in the Calculus Classroom", Journal of Computers in Mathematics and Science Teaching, 1986, Vol. 6, pp. 52-55.
4. Mary K. Heid, "Calculus with muMATH Implications for Curriculum Reform," The Computing Teacher, 1983, Vol. 11, No. 4, pp. 46-49.
5. Don Small; John Hosack; and Kenneth Lane, Computer Algebra Systems in Undergraduate Instruction (in Computer Corner), The College Mathematics Journal, Vol. 17, No. 5. (Nov., 1986), pp. 423-433.
6. B. Winkelmann, "The Impact of the Computer on the Teaching of Analysis," International Journal of Mathematical Education in Science and Technology, 1984, Vol. 15, No. 6, pp. 675-689.
7. Paul Zorn, "Computer Symbolic Manipulation in Elementary Calculus," MAA Notes, No. 6, Mathematical Association of America, 1986, pp. 237-249.
Research Experience for Undergraduates
Picard Iteration Picard Iteration Internet hyperlinks to web sites and a bibliography of articles.
Download this Mathematica Notebook Picard Iteration
(c) John H. Mathews 2005