1983-BIT
1983-BIT
1I8-131
Abstract.
A numerical method for stiff ODE:s is proposed in this paper. The Jacobian matrix is not needed.
The results of 30 examples are presented.
1. Introduction.
At present, the effective numerical methods for stiff ODE:s are implicit and
usually Newton-Raphson iteration is used to solve the non-linear equations
which result. It is impossible to avoid the matrix inversions and matrix-vector
products required by the method. The number of operations is O(n3) and O(n2)
respectively, where n is the dimension of the equations.
For most implicit methods a matrix inversion is required only when the step"
size changes or the iteration is not converging, but at least one matrix-vector
product is required at each step. This difficulty would be present even if an
LV decomposition and back-substitutions were used. If n is large, for instance
n > 30, the integration becomes very expensive for all these methods. Using
the technique of sparse matrices is one way to overcome this difficulty, but
it will complicate the programme greatly. This paper is a continuation of the
author's work [4]. We propose a numerical method for stiff equations, without
use of the Jacobian matrix. A great deal of numerical experiment have been
done. The numerical results show that our method is efficient, especially when
n is very large.
(3)
(4)
(5)
Introducing the parameter IX, 0 < IX < 1, and setting Xn = hy~, we can re-
write (6) as
(7)
(11) , _j,
Y" - n-2
11-2O'+p
I-p
"
hYn+
(a2-61).2''h "Yn + ...
(notice the relation h(1-p) = hli/(h+li) = lip); the local truncation error is es-
sentially
I I-2O'+p 21/
(12)
-2 I-p hYn'
I I - 20' + p h2 1/ _ I P h2 1/ _ I 1 h3 1/
2 1-P Yn - 2 1-P Yn - 2 ~ Yn
which means that the method is second order with the local truncation error
I 1 3 1/ 1 3 1/1
(13) - 2 ~h Yn +-rrh Y + ....
In order to study the stability of the method we substitute the model equation
Y' = AY into (10), and get the characteristic equation
(1-O'p-O'pliA)Jl.2_(1 +p-2O'p-O'pGA.+pliA)Jl.+p(1-O') = o.
The stability region in the GA.-planeis enclosed by the following curve
The outline of stability regions, for a = 0.9, 0.7, 0.4 when p = I (h -+ 00),
is given in figure I.
If a = 0.1, 0.2, 0.3, 0.4, the stability regions are in the left half plane and
inside the closed curve. For a = 0.6, 0.7, 0.8 the situation is different, and the
region may spread over the left and right half planes and outside the curve.
The stability region becomes large when a changes its value from small to large.
If we keep a = constant, the region becomes large when p goes from large to
NUMERICAL SMALL PARAMETER METHOD ... 121
0.6
0<=0·7 0.5
P='
o.i
0.3
Fig. I.
~2 -I
Fig. 2.
Fig. 3.
small, for instance, for (X = 0.9, if p = 1 a small part of the stability region
must be removed from the left half plane and if p = 0.8 the stability region
includes the entire left half plane.
In figure 2 we give the BA.-planestability region for (X = 0.5 and p = I, 0.5, 0.1;
because of symmetry we only give the upper half part.
When B = I, we may draw the A.-planestability region; we then consider h
as a parameter. For B = I, h = I, (X = 0.9,0.7,0.5; 0.3, 0.1 the A.-planestability
region is given in figure 3.
When (X = 1, our method is equivalent to the Backward Euler Method.
Making (X = I in (11), we can see the agreement between the two local truncation
errors of our method and Euler's. On the other hand, we can change the
BA.-planestability region into the region on the hA.-plane.In fact, in (14) we set
BA. = B(X+ iy) and obtain
. 1-p _. B • B •
BX+IBY = -- (l-e .11) = - (1-cos 0)+1- sm 0
p h h
see [9]. In fact, setting (X = 0, {3= 1 +P in (10) and noticing the relationship
Bp = h(1- p), we can prove this point. The hA.-planestability region is inside the
following closed curve:
122 HAN TIAN-MIN
{
hX ( 2h) P
= 1+--;- (cosO-I) = 2_p(cosO-l)
hy = sinO
which is an ellipse with the minor half axis I; when e --+ 0 (P --+ 2) the major
axis of this ellipse extends to infinity along the negative real axis.
Y' = F(t, Y)
if Ak = rxk + iPk are eigenvalues of the Jacobian matrix, where rxk < 0, then for
o< h < 00 the convergence condition of the iterative scheme (9) is
(l ~ k ~ n).
For any e > 0, the sufficient condition of convergence for the iterative scheme
(9) is h max IAkl< I. (Here the condition rxk < 0 is not necessary.) Without loss
of generality, we prove it for the model equation
Y' = Ay·
In fact, from hlAI < I, we have hIAI+h/e < I +h/e but JhA+h/el ~ hIAI+h/e
so we have IhA+h/el < I +h/e. Hence lehA+hl < e+h or h/(e+h)11 +eAI < I
i.e. pll +eAI < 1. This is what we need for convergence in scheme (9) for the
model equation Y' = Ay.
In order to study the rate of convergence it is enough to consider the model
equationy' = Ay. Let y~a~1 express the solution of equation (8) (heref(tn+ l' Yn+ 1)
= AYn+ 1)' then
(a) _ (l-rxP)Yn+(l-rx)Xn
Yn+ 1 - l-rxp(eA+ I)
and from scheme (9) we have
(L+l)_
Yn+l . - Yn +(1 -rx )Xn + rxp[1 (L)
eAYn+l (L)
+Yn+l-Y J
L
= [rxp(eA+ I)]<L+l)y~OJ1 + L [rxp(eA+ 1)J[(I-rxP)Yn+(I-rx)xnJ
i=O
NUMERICAL SMALL PARAMETER METHOD .•. 123
1- [ocp(eA+ l)](L+ 1)
= [OCp(eA+1)](L+l)y~OJ1 + ------[(l-OCp)Yn+(1-OC)Xn]
l-ocp(eA+ 1)
= [ocp(eA+ 1)](L+ l)y~OJ1 + y~L - [OCp(eA+1)](L+ l)y~~L
Y(L+1)_y(~)
n+l n+l
= [OCp(eA+l)](L+ 1)(y(O) _y(~) )
n+l n+l'
(2) Choice of e.
In most stiff systems, at the beginning of the computation, some components
decrease (or increase) sharply. During this period accuracy considerations
require that the step-size h be very small, so we take e = 1. After the transient
stage the parameter e should be reduced, but this is done by the program
automatically; for details, see [5]. For some kinds of systems, taking e ~
2/(max IAI), it may be kept constant in the entire process of computation. Among
30 examples we have worked on, 27 of them were done by setting e = 1 at the
beginning.
(15)
(16) _ ~h3y"
~ n
+ ..1..h
12
3y'"
n
124 HANTIAN-MIN
to control the local truncation error, but this will add some complexity to the
program, so we do not treat this case separately, but always use (IS) to control
the error. This means that we only take the first term in (16), but this seems
to work well in practice.
7. Numerical experiments.
EXAMPLE
I. On the unit square we consider heat conduction equation
u(t, x, 0) = l-e-a.fJ2tsinfJx
V' = AV+b
EXAMPLE
2.
Yl(O) = 1 I [3], p. 210.
Y2(0) = O.
NUMERICALSMALLPARAMETERMETHOD... 125
Eigenvalues: - I, - 1000.
Theoretical solution:
A = [-~~ -~~
-20
20
J
40 -40 -40
Eigenvalues: - 2, - 40 ± 40;.
Theoretical solution:
Yl = !e-21+te-401(cos 40t+sin 40t)
Y2 = !e- 21 - te- 401( cos 40t + sin 40t)
1 Y3 = -e-40I(cos 4Ot-sin 40t)
1
with U = -
2
[I J 1
1
1
-1
1
1
1
-1
1
1
Y(O) ~ [~1]
PI = 1000, fJ2 = 800, P3 = -10, P4 = 0.001.
Theoretical solution:
126 HAN TIAN-MIN
and 5 we use double precision. If the theoretical solution is known we give the
error of the last step; for example 5 we give the numerical solution of each Yi
and the value of L~Yi - 1.
Example HO HF NS NF NE Error
*) Note: At the end of the integration range YI = 0.330570, Y2 = 0.1958 x 10- 5, YJ = 0.669428,
I-L~ Y. = 2 xIO- ll
.
NUMERICAL SMALL PARAMETER METHOD ... 127
l¥. = K£ {m~x[1y'I(t)1
t1y"(S)I-Z!3dS J}l!Z. f:1y'I(t)11!3 dt· (sGE)-t
K£ = O(N).
Here GE stands for the maximum global error in the interval and N for the
dimension of the equation.
If the system is very stiff we must take s very small and the new method has
disadvantages. But for moderately stiff problems we take s = 10-4, GE = 10-4,
then l/GE = (sGE)-t and
Hence we come to the conclusion that the new method is very favourable for
large moderately stiff problems.
The numerical results indicate that the method is comparatively inefficient
for problems Az, A3, D 4 (see appendix). But in another experiment, using the
information of the eigenvalues, we have:
80 = 8£ TOL NS NF Y(RTF)
Appendix
Finally, we want to point out that in all these 30 problems overflow occurred
in only three of them, namely example 5 of table I and D6, E5, when Go = 1.
Using information of the eigenvalues we chose Go = 2/m~ IAI instead.
N Ef TF RTF HO HF NS NF Y(RTF)
A. 4 0.03292 20.0 21.37 0.01 1.642 295 781 Iyil < 0.8 x 10-4
4 0.03292 20.0 20.04 0.01 0.1170 930 2816 ly;I < 0.3 X 10-4
A4 10 0.1608-4 1.001 IO-s 0.133r2 1623 2279 YI = 0.3255, lylOl < 10-12
10 0.3568-4 1.0 IO-s 0.4161-3 5238 9898 YI = 0.3653, lylOl < 10-16
B2 6 0.3333 20.0 20.12 0.01 0.2883 l3"5 453 IYd < 10-" Y6 = 0.1323
6 1 20.0 20.02 0.01 0.09123 593 1744 IYd < 10-8, Y6 = 0.1350
B3 6 0.2222 20.0 20.18 0.01 0.2883 157 513 IYd < 10-9, Y6 = 0.1311
6 1 20.0 20.09 0.01 0.1026 617 1859 IYd < 10-8, Y6 = 0.1340
B4 6 0.2053 20.0 20.07 0.01 0.08779 240 1026 lyll < 10-4, Y6 = 0.1319
6 0.6667 20.0 20.00 0.01 0.08659 808 2642 lyll < 10-8, Y6 = 0.1352
Bs 6 0.02601 20.0 20.00 0.01 0.8341-2 2492 10603 IYd < 10-3, Y6 = 0.1352
6 0.02601 20.0 20.01 0.01 0.8455-2 3078 11886 lyll < IO-s, Y6 = 0.1351
N ef TF RTF HO HF NS NF Y(RTF)
E*5 4 10-5 1000 1005 0.00005 7.981 30 5 Y, = 0.1760-2, ly41 < 10-8
4 10-5 1000 1001 0.00005 2.306 199 247 Y, = 0.1755-2, IY41 < 10-8
Note: The results in the first line of each problem correspond to TOL = 10-4, ETA = 10-5, the second'
line correspond to TOL = 10-6, ETA = 10-7• Except in D6 and Es we set eo = 1.
Acknowledgement
The author is most grateful to the referee for very helpful suggestions and useful
comments.
REFERENCES
4. Han Tian-Min, A numerical methodfor solving the initial value problems of stiff ordinary differential
equations, Scientia Sinica Vol. XIX No.2 (1976), 180-198.
5. Han Tian-Min, A FORTRAN program for stiff O.D.E:s by a small parameter method, Technical
Report of The First National Applied Software Congress, Guilin, China (1981).
6. J. D. Lambert, Computational Methods in Ordinary Differential Equations, John Wiley and Sons,
London (1973).
7. L. Lapidus and J. H. Seinfeld, Numerical Solution of Ordinary Differential Equations, Academic
Press, New York (1971).
8. B. Lindberg, Characterization of optimal stepsize sequences for methods for stiff differential
equations, SIAM J. Numer. Anal. Vol. 14, No.5 (1977), 859-887.
9. Z. Zlatev and P. G. Thomsen, A one-parameter family of explicit multistep methods with long
stability regions, Institute for numerical analysis, Technical University of Denmark Report No.
NI· 77-06 (1977).