1
BÁO CÁO TỐT NGHIỆP
Về một phương pháp không cổ điển giải số
phương trình vi phân bậc nhất và bậc hai
2
LỜI NÓI ĐẦU
Phương trình vi phân là mô hình mô tả khá tốt các quá trình chuyển động
trong tự nhiên và kĩ thuật. Để nghiên cứu phương trình vi phân, người ta thường
tiếp cận theo hai hướng: nghiên cứu định tính và giải số.
Mặc dù đã có lịch sử phát triển hàng trăm năm, do còn nhiều bài toán cần giải
quyết, giải số phương trình vi phân thường vẫn thu hút sự quan tâm mạnh mẽ của
các nhà toán học và các nhà nghiên cứu ứng dụng.
Trong giải số phương trình vi phân, người ta thường cố gắng tìm ra những
phương pháp hữu hiệu bảo đảm sự hội tụ, tính ổn định và tính chính xác cao. Để
làm được điều này, người ta thường tổ hợp các phương pháp đa bước để nhận được
các phương pháp mới có bậc hội tụ, tính ổn định và cấp chính xác cao hơn. Phương
pháp không cổ điển giải số phương trình vi phân thường bậc nhất và bậc hai do M.
V. Bulatov (và Berghe) đề xuất trong vòng năm năm trở lại đây nằm trong hướng
này.
Luận văn Về một phương pháp không cổ điển giải số phương trình vi phân bậc
nhất và bậc hai có mục đích trình bày các phương pháp của Bulatov và Berghe theo
các tài liệu [4] (2009) và [9]-[11] (2003-2008).
Luận văn gồm ba Chương.
Chương 1 trình bày một số khái niệm và phương pháp cơ bản giải số phương
trình vi phân. Trong mục 1.2 của Chương, chúng tôi trình bày các phương pháp số
cổ điển theo một quan điểm nhất quán là xuất phát từ Quy tắc cầu phương cơ bản.
Chương 2 trình bày phương pháp không cổ điển (do Bulatov đề xuất vào
những năm 2003-2008) giải số hệ phương trình vi phân bậc nhất, phi tuyến và tuyến
tính, theo các tài liệu [9]-[11].
Chương 3 trình bày phương pháp không cổ điển giải số hệ phương trình vi
phân bậc hai, tuyến tính và phi tuyến, theo bài báo của M. V. Bulatov và G. V.
Berghe ([4], 2009).
3
Thông qua việc tính toán đạo hàm, phân tích các hàm nhiều biến vào chuỗi
Taylor và các phép biến đổi chi tiết, chúng tôi cố gắng trình bày các kết quả của M.
V. Bulatov và G. V. Berghe một cách rõ ràng và chi tiết nhất.
Để minh họa và kiểm chứng lý thuyết, chúng tôi đã lập trình trên MATLAB và
tính toán trên máy các ví dụ của M. V. Bulatov và G. V. Berghe.
Luận văn được hoàn thành dưới sự hướng dẫn khoa học của PGS-TS Tạ Duy
Phượng (Viện Toán học). Xin được tỏ lòng cám ơn chân thành nhất tới Thầy.
Tác giả xin tỏ lòng cám ơn Ban Chủ nhiệm , các Thày Cô và các cán bộ khoa
Toán- Cơ – Tin học, trường Đại học Khoa học Tự nhiên, Đại học Quốc gia Hà Nội
đã nhiệt tình giảng dạy và giúp đỡ tác giả trong suốt quá trình học Cao học.
Tác giả xin chân thành cám ơn Ban Lãnh đạo và các cán bộ, giáo viên Học
viện Quân y đã tạo mọi điều kiện để tác giả hoàn thành tốt khóa học Cao học.
Và cuối cùng, xin được cám ơn Gia đình, bạn bè đã thông cảm, sẻ chia, hy
sinh và tạo mọi điều kiện cho tác giả trong suốt thời gian học Cao học và viết luận
văn.
Hà Nội, ngày 30 tháng 11 năm 2009
Tác giả
Vũ Thị Thanh Bình
4
CHƯƠNG 1
Kiến thức chuẩn bị
Trong Chương 1 chúng tôi nhắc lại những khái niệm cơ bản nhất của giải số
phương trình vi phân nhằm thuận tiện cho trình bày ở các mục sau.
1.1. Bài toán Cauchy giải hệ phương trình vi phân
Xét bài toán Cauchy tìm nghiệm của hệ phương trình
( ) ( ( ), ), 0,1
x t f x t t t
(1.1)
thỏa mãn điều kiện ban đầu
0
(0)
x x
, (1.2)
trong đó
, ,
f x t x t
là các hàm vectơ
n
- chiều, hàm
f
xác định trên hình hộp vô
hạn
n
RD 1,0:
.
Ở đây ta hiểu nghiệm theo nghĩa cổ điển và địa phương, tức là nghiệm của (1.1)-
(1.2) là một hàm khả vi
( )
x t
trên
0,
,
1
sao cho
( ) ( ( ), )
x t f x t t
trên
0,
và
0
(0)
x x
.
Cùng với bài toán (1.1), ta cũng xét trường hợp hàm
( , )
f x t
là tuyến tính, tức là
( , ) ( ) ( )
f x t B t x g t
, trong đó
( )
B t
là ma trận cấp
n n
, còn
( )
g t
là vectơ
n
-chiều,
tức là hệ tuyến tính
( ) ( ) ( ), 0,1
x t B t x g t t
. (1.3)
Ta luôn giả thiết rằng các phần tử của ma trận
( )
B t
, của các vectơ
,
f x t
,
( )
g t
là
đủ trơn (có đạo hàm đến cấp cần thiết trong tính toán). Khi ấy theo định lí Picard-
Lindelöf, hệ (1.1)-(1.2) có duy nhất nghiệm
( )
x t
trên toàn đoạn
0,1
(nghiệm có
thể kéo dài được trên toàn bộ khoảng xác định, hay tồn tại nghiệm toàn cục, xem
[8], trang 467). Lưu ý này là quan trọng trong giải số hệ phương trình (1.1)-(1.2).
5
1.2. Giải số bài toán Cauchy
Để chứng minh định lý về sự tồn tại và duy nhất nghiệm của hệ phương trình vi
phân (1.1)-(1.2), ta có thể xây dựng dãy nghiệm xấp xỉ hội tụ tới nghiệm của bài
toán (1.1)-(1.2) trên khoảng tồn tại nghiệm. Có hai phương pháp xây dựng dãy
nghiệm xấp xỉ: phương pháp giải tích và phương pháp số kết quả được cho dưới
dạng bảng, như phương pháp Euler, phương pháp Runge-Kutta, phương pháp đa
bước,
Dưới đây trình bày cách xây dựng các công thức Euler, Runge-Kutta, xuất phát từ
qui tắc cầu phương cơ bản (xem, thí dụ, [2]).
1.2.1. Quy tắc cầu phương cơ bản và giải số phương trình vi phân
Quy tắc cầu phương cơ bản (basic quadrature rules) có thể được coi là phương pháp
quan trọng để tính tích phân. Vì giải phương trình vi phân thường (1.1) với điều
kiện ban đầu (1.2) tương đương với việc giải phương trình tích phân
0
0
( ) ( ( ), )
t
t
x t x f x s s ds
(1.4)
nên ta cũng có thể sử dụng quy tắc cầu phương cơ bản trong việc giải số phương
trình vi phân. Trong mục này ta sẽ chỉ ra rằng, nhiều công thức sai phân cổ điển giải
số phương trình vi phân có thể suy ra từ quy tắc cầu phương cơ bản. Trước tiên ta
nhắc lại quy tắc cầu phương cơ bản (xem, thí dụ, [1]).
Nội dung cơ bản của quy tắc cầu phương là: để tính tích phân
( )
b
a
f t dt
ta thay
( )
f t
bởi một đa thức nội suy (interpolating polynomial). Tích phân của hàm
( )
f t
được
xấp xỉ bởi tích phân của hàm đa thức (tính được chính xác).
Giả sử ta có
s
điểm nội suy khác nhau
1 2
, , ,
s
c c c
trong khoảng
,
a b
. Đa thức nội
suy Lagrange bậc nhỏ hơn
s
có dạng (xem [1]):
1
( ) ( ) ( )
s
j j
j
t f c L t
,
6
trong đó
1,
( )
( )
( )
s
i
j
i i j
j i
t c
L t
c c
. Khi ấy
1
( ) ( )
b
s
j j
j
a
f t dt f c
.
Các trọng số
j
được tính theo công thức
( ) .
b
j j
a
L t dt
Nếu
1
s
thì đa thức nội suy
1
( ) ( )
t f c
và ta có:
1
( ) ( ) ( ).
b
a
f t dt b a f c
Ta nói độ chính xác (precision) của quy tắc cầu phương là
p
nếu quy tắc này chính
xác cho mọi đa thức bậc nhỏ hơn
p
, tức là với mọi đa thức
( )
k
P t
bậc nhỏ hơn
p
ta có:
1
( ) ( ).
b
s
k j j
j
a
P t dt f c
Nếu
0( )
b a h
thì sai số trong quy tắc cầu phương của độ chính xác
p
là
1
0( ).
p
h
Ta xét một số trường hợp đặc biệt.
Nếu chọn
1
s
và
1
c a
thì ta có công thức xấp xỉ tích phân bởi diện tích hình
chữ nhật ABCD (Hình 1.1):
( ) ( ) ( ).
b
a
f t dt b a f a
(1.5)
Nếu
( )
x t
là nghiệm của phương trình vi phân (1.1) - (1.2) (nghiệm của phương trình
tích phân (1.4)) thì:
( ) ( ) ( ( ), )
t h
t
x t h x t f x s s ds
(1.6)
Kết hợp với công thức (1.5) ta đi đến công thức:
( ) ( ) . ( ( ), )
x t h x t h f x t t
(1.7)
Gọi
h
là độ dài bước (stepsize) của biến độc lập
t
(
h
có thể dương hoặc âm, khi
h
dương thì nghiệm được xây dựng về bên phải của điểm
0
t
và ngược lại, khi
h
âm
7
thì nghiệm được xây dựng về bên trái của
0
t
). Dưới đây ta coi
0
h
, trường hợp
0
h
có thể được xét tương tự.
Từ công thức (1.7) ta có
1 0 0 0
. ( , )
x x h f x t
;
2 1 1 1
. ( , )
x x h f x t
;
;
1
. ( , )
n n n n
x x h f x t
.
Đây chính là công thức Euler tiến quen thuộc. Hình 1.1
Nếu chọn
1
s
và
1
c b
thì ta có công thức xấp xỉ tích phân bởi diện tích hình
chữ nhật ABEF (Hình 1.2):
( ) ( ) ( ).
b
a
f t dt b a f b
Từ đây ta có:
( ) ( ) . ( ( ), )
x t h x t h f x t h t h
Suy ra công thức Euler lùi:
1 1 1
. ( , )
n n n n
x x h f x t
. Hình 1.2
Hai phương pháp Euler tiến và Euler lùi là những phương pháp Runge-Kutta bậc
nhất (có độ xấp xỉ bậc nhất).
Nếu chọn
1
s
và
1
2
a b
c
thì ta có
công thức xấp xỉ tích phân bởi diện tích
hình chữ nhật ABMN (Hình 1.3):
( ( ), ) . ( ( ), )
2 2
t h
t
h h
f x s s ds h f x t t
Từ đây ta có: Hình 1.3
( ) ( ) . ( ( ), )
2 2
h h
x t h x t h f x t t
.
O
f
x
C
D
b
B
a
A
E
b
B
a
A
F
O
f
x
2
ba
M
N
b
B
a
A
O
f
x
8
Từ công thức trên ta có
1
[ ( ( ), ]
2 2
n n n n
h h
x x h f x t t
.
Đây chính là phương pháp trung điểm (midpoind method).
Nếu chọn
2
s
và
1 2
,
c a c b
thì
1
( )
( )
t b
L t
a b
và
2
( ) .
( )
t a
L t
b a
Suy ra
2
1 1
1 ( )
( )
( ) ( ) 2 2
b
b b
a a
a
t b t b b a
L t dt dt
a b a b
và
2
2 2
1 ( )
( ) .
( ) ( ) 2 2
a
b b
a a
b
t a t a b a
L t dt dt
b a b a
Chứng tỏ
( ) [ ( ) ( )]
2
b
a
b a
f t dt f a f b
.
Như vậy nếu xấp xỉ tích phân
( ( ), )
t h
t
f x s s ds
bởi công thức trên (bởi diện tích hình
thang ABED, Hình 1.4)
thì ta được:
( ( ), ) [ ( ( ), ) ( ( ), )]
2
t h
t
h
f x s s ds f x t h t h f x t t
.
Từ đây ta có công thức hình thang:
1 1 1
[ ( , ) ( , )]
2
n n n n n n
h
x x f x t f x t
.
Phương pháp điểm giữa và phương pháp
hình thang là hai phương pháp ẩn, Hình 1.4
chúng có độ chính xác
2
p
.
Nếu chọn
3
s
và
1 2 3
, ,
2
a b
c a c c b
thì, đặt
h b a
, ta có:
E
D
b
B
a
A
O
f
x
9
1
2
( )( )
2
2
( ) ( )( ),
2
( )( )
2
a b
t t b
a b
L t t t b
a b
h
a a b
2
2
( )( ) 4
( ) ( )( ),
( )( )
2 2
t a t b
L t t a t b
a b a b
h
a b
3
2
( )( )
2
2
( ) ( )( ).
2
( )( )
2
a b
t a t
a b
L t t a t
a b
h
b a b
Suy ra
1 1
2 2
3 2
2
2 2
3
2
2 2
( ) ( )( ) ( )( )
2 2
2 2 ( ) ( )
[( ) ( )( )] [ ( ) ]
2 3 2 2
2 ( )
.
12 6
b b b
a a a
b
b
a
a
a b a b
L t dt t t b dt t b t b dt
h h
a b t b a b t b
t b t b dt
h h
b a h
h
và
2 2
2 2
3 2
2
4 4
( ) ( )( ) ( )( ( ))
4 ( ) ( ) 4
[ ( )] .
3 2 6
b b b
a a a
b
a
L t dt t a t b dt t a t a a b dt
h h
t a t a h
a b
h
Do tính chất đối xứng (hoặc tính trực tiếp), ta có
3 1
6
h
.
Từ các tính toán trên ta đi đến công thức Simpson:
( ) [ ( ) 4 ( ) ( )]
6 2
b
a
h a b
f t dt f a f f b
.
Suy ra công thức xấp xỉ nghiệm của phương trình vi phân
10
( ) ( ) [ ( ( ), ) 4 ( ( ), ) ( ( ), )]
6 2 2
h h h
x t h x t f x t t f x t t f x t h t h
và công thức sai phân
1 1 1
[ ( , ) 4 ( ( ), ) ( , )]
6 2 2
n n n n n n n n
h h h
x x f x t f x t t f x t
.
Đây là công thức ẩn của phương pháp Runge-Kutta kinh điển cấp bốn (classical
fourth-order Runge-Kutta method).
1.2.2. Phương pháp Runge-Kutta
1.2.2.1. Dẫn tới phương pháp Runge - Kutta
Vì phương pháp ẩn đòi hỏi tại mỗi bước phải giải một phương trình phi tuyến, điều
này không đơn giản, nên ta cố gắng xây dựng các công thức Runge-Kutta hiển từ
công thức hình thang ẩn, công thức điểm giữa ẩn và công thức Runge-Kutta kinh
điển cấp bốn ẩn tương ứng như sau.
Trong công thức hình thang ẩn:
1 1 1
[ ( , ) ( , )]
2
n n n n n n
h
x x f x t f x t
,
ta thay giá trị
1
n
x
ở vế phải bằng công thức Euler tiến:
1
ˆ
( , )
n n n n
x x hf x t
.
Khi ấy ta được công thức:
1 1 1
ˆ
[ ( , ) ( , )]
2
n n n n n n
h
x x f x t f x t
Công thức này được gọi là phương pháp hình thang hiển (explicit trapezoidal
method).
Bằng cách sử dụng xấp xỉ bậc nhất của
( )
2
n
h
x t
theo phương pháp Euler tiến:
1
2
ˆ
( , )
2
n n n
n
h
x x f x t
và thay vào công thức của phương pháp trung điểm ẩn
1
( ( , )
2 2
n n n n
h h
x x hf x t t
11
ta nhận được phương pháp trung điểm hiển (explicit midpoint method):
1 1
2
ˆ
( , )
2
n n n
n
h
x x hf x t
Từ phương pháp Runge-Kutta ẩn cấp bốn kinh điển
1 1 1
[ ( , ) 4 ( ( ), ) ( , )]
6 2 2
n n n n n n n n
h h h
x x f x t f x t t f x t
,
ta có công thức Runge-Kutta hiển bậc bốn kinh điển sau:
1 1 2 3 4
( 2 2 ), 0,1,2,
6
n n
h
x x k k k k n
trong đó:
1
1
2
2
3
4 3
( , );
( , );
2 2
( , );
2 2
( , ).
n n
n n
n n
n n
k f x t
hk
h
k f x t
hk
h
k f x t
k f x hk t
1.2.2.2. Phương pháp Runge-Kutta tổng quát
Nội dung cơ bản của phương pháp Runge-Kutta tổng quát như sau.
Chia đoạn
0,1
thành một lưới đều
i
t ih
,
0,1,2, ,
i N
,
1
h
N
,
và kí hiệu
i
x
là giá trị xấp xỉ
i
x t
,
( )
i i
B B t
,
i i
g g t
.
Phương pháp Runge-Kutta cho bài toán (1.1)-(1.2) có dạng (xem, [2], [4]-[7])
1
1
s
i i i i
i
x x h b X
, (1.8)
trong đó
i
X
là vectơ
n
-chiều và là nghiệm của hệ phương trình phi tuyến
s
j
iijjiii
hctXahxfX
1
,
. (1.9)
Các tham số
ij
a
,
i
c
,
i
b
xác định bậc xấp xỉ của phương pháp, còn
s
được gọi là số
12
nấc. Nếu
0
ij
a
với mọi
j i
thì ta có phương pháp Runge-Kutta hiển. Khi ấy tính
toán khá đơn giản (
i
X
được tính theo công thức truy hồi). Nếu
0
ij
a
với
j i
nào
đó thì ta có phương pháp Runge-Kutta ẩn. Khi ấy tại mỗi bước ta phải giải một hệ
ns
phương trình phi tuyến (tuyến tính nếu
( , ) ( ) ( )
f x t B t x g t
) để tìm
s
vectơ
i
X
(mỗi vectơ
i
X
có
n
tọa độ).
Thường phương pháp Runge-Kutta được viết dưới dạng bảng Butcher (Butcher
table)
c
A
T
b
Hai phương pháp Runge-Kutta quan trọng thường hay được sử dụng là phương
pháp Runge-Kutta bậc hai và phương pháp Runge-Kutta bậc bốn.
1.2.2.3. Công thức lặp của phương pháp Runge-Kutta bậc hai
Giả thiết rằng ta đã biết giá trị của
x
tại
n
t
là
n
x
. Phương pháp Runge-Kutta hiển
hai nấc cấp hai sử dụng điểm
( , )
n n
x t
để xấp xỉ giá trị của
x
tại điểm tiếp theo bằng
công thức
1 1 1 2 2
( ),
n n
x x h b k b k
(1.10)
trong đó
1 2 2 21 1
( , ); ( , ).
n n n n
k f x y k f x c h y ha k
Khái niệm
s
-nấc (
s
-stage) thể hiện rằng số lần tính các giá trị của hàm
f
(tại các
điểm khác nhau trong công thức Runge-Kutta) là
s
.
Để tìm các phương pháp Runge-Kutta bậc hai, ta làm như sau (xem [2]).
Khai triển Taylor hàm
( , )
f x t
theo phương trình (1.1) và theo công thức (1.10) rồi
so sánh, ta đi đến kết luận:
Các hệ số trong phương pháp Runge-Kutta cấp hai phải thoả mãn hệ phương trình
1 2 2 2 21 2
1 1
1, ,
2 2
b b c b a b
.
13
Đây là một hệ ba phương trình (phi tuyến) bốn ẩn. Ta có thể chọn một hệ số, thí
dụ,
2
0
b
tự do. Khi ấy các hệ số còn lại biểu diễn qua
2
0
b
bởi các công thức:
1 2
1
b b
,
2
2
1
2
c
b
,
21
2
1
2
a
b
.
Chọn
2
1
2
b
, thì
1
1
2
b
và
21 2
1
a c
. Khi ấy ta có một phương pháp Runge-Kutta
cấp hai cho phép tính
1
n
x
dựa trên công thức:
1
1 1
( , ) ( ( , ) )
2 2
n n n n n n n n
x x hf x t hf x hf x t t h
.
Công thức này được gọi là phương pháp Runge-Kutta đơn giản (Simple Runge-
Kutta Method) hoặc phương pháp tiếp tuyến cải tiến (Impoved Tangent Method), vì
nó trùng với phương pháp Euler cải tiến.
Nếu chọn
2
1
b
thì
21
1
2
a
,
1
0
b
và
2
1
2
c
. Khi ấy ta có công thức
1 1 1 2 2
( ) . . ( ( , ), )
2 2
n n n n n n n
h h
x x h b k b k x h f x f x t t
.
Phương pháp tính theo công thức trên được gọi là phương pháp Euler-Cauchy.
1.2.3. Phương pháp cổ điển đa bước
Phương pháp cổ điển
k
-bước cho bài toán (1.1) có dạng (xem, [3], [4]-[7])
1 1 1
0 0
( , )
k k
j i j j i j i j
j j
x h f x t
. (1.11)
Phương pháp một tựa tương ứng với nó là
1 1 1
0 0 0
( , )
k k k
j i j j i j j i j
j j j
x hf x t
. (1.12)
Đối với phương pháp này ta giả thiết rằng các giá trị xuất phát
1 2 1
, , ,
k
x x x
đã được
tính tương đối chính xác.
Nếu
0
0
và
0
0
thì phương pháp là phương pháp hiển. Nếu
0
0
và
0
0
thì ta có phương pháp ẩn.
14
1.3. Mô hình thử và ổn định của phương pháp số
1.3.1. Mô hình thử
Để phân tích hiệu quả của các phương pháp, ta thường thử chúng trên mô hình G.
Dahlquist (gọi là phương trình thử hay mô hình thử)
0
, 0 , 0,1
x x x x R t
, (1.13)
trong đó
là một hằng số (thực hoặc phức). Nghiệm của phương trình này là
0
)( xetx
t
.
Ta thường viết
IR
i
, trong đó
R
và
I
tương ứng là các phần thực và phần
ảo của
.
Tương ứng với phương trình (1.13), xét phương trình sai phân tuyến tính bậc nhất
nn
xx
1
,
, 2,1,0
n
,
trong đó
0
x cho trước và
nói chung là một số phức. Nghiệm của phương trình
này là
0
xx
n
n
. Ta thấy rằng nghiệm này bị chặn khi và chỉ khi
1
.
Giả sử bước 0
h cố định. Khi ấy giá trị của nghiệm chính xác tại các điểm nht
n
sẽ là
000
xxexex
nnh
t
n
n
, trong đó
h
e
.
Nếu nghiệm chính xác bị chặn thì 1
h
e
. Điều này chỉ có thể xảy ra nếu
0Re hh
R
. Điều này có nghĩa là, trên mặt phẳng với trục hoành )Re( h
và trục
tung )Im( h
, miền ổn định của nghiệm chính xác phải là nửa mặt phẳng mở bên
trái.
Phương pháp một bước được gọi là ổn định tuyệt đối nếu
1
và ổn định tương
đối nếu
h
e
.
Nếu
là thuần ảo và
1
thì ổn định tuyệt đối được gọi là ổn định tuần hoàn (P-
ổn định).
Khi miền ổn định của phương trình sai phân đồng nhất với miền ổn định của
phương trình vi phân, lược đồ sai phân hữu hạn được gọi là ổn định - A.
15
Phương trình thử thường được sử dụng như một mô hình để dự đoán tính ổn định
của phương pháp số giải hệ dạng tổng quát (1.1)-(1.2).
Để thuận tiện, ta cũng có thể đưa ra các khái niệm ổn định tương tự như sau.
Kí hiệu
z h
, mọi phương pháp Runge-Kutta (1.8)-(1.9) đều có thể viết dưới dạng
1
( )
i i
x R z x
,
trong đó
( )
R z
được gọi là hàm ổn định.
Định nghĩa 3.1
Tập tất cả các điểm của mặt phẳng phức
M
mà
( ) 1
R z
được gọi là miền ổn định
của phương pháp (1.8)-(1.9). Nếu tập hợp đó chứa toàn bộ nửa mặt phẳng trái thì
phương pháp được gọi là ổn định-A, còn nếu ngoài ra
lim ( ) 0
z
R z
thì phương pháp
được gọi là ổn định-L(hay còn gọi là ổn định tiệm cận).
1.3.2. Sự ổn định của phương pháp Euler
Phương pháp Euler áp dụng cho phương trình thử (3.1) có dạng
nnnnnnn
xhhxxtxhfxx
1),(
1
.
Nghiệm của phương trình sai phân tương ứng là
0
1 xxhx
n
n
n
n
,
trong đó
h
1
.
Phương pháp số là ổn định nếu
1
.
Xét các trường hợp sau
1)
là số thực. Khi ấy 11 h
, hay 02
h
.
2)
là thuần ảo (
i
, trong đó
là số thực khác 0). Khi ấy
111
22
hhi
.
Chứng tỏ phương pháp là không ổn định nếu
là thuần ảo.
3)
là số phức (
IR
i
). Khi ấy
1111
22
hhhihh
IRIR
,
16
nghĩa là
h
nằm trong hình tròn đơn vị tâm là
0;1
(Hình1.5). Hình tròn này tiếp
xúc với trục ảo.
Hình 1.5
Như vậy, chỉ có một phần rất nhỏ (hình tròn bán kính bằng 1) của nửa mặt phẳng
trái là miền ổn định của phương pháp Euler.
Với mọi giá trị khác của
h
trong nửa mặt phẳng trái và bên ngoài hình tròn này,
nghiệm số sẽ bị phóng đại (blow-up) khi nghiệm chính xác triệt tiêu (decays).
Phương pháp số này được gọi là ổn định có điều kiện.
Để nhận được nghiệm số ổn định, bước
h
phải được chọn sao cho
h
nằm trong
hình tròn. Nếu
là số thực âm thì từ điều kiện 02
h
suy ra 0
2
h
.
Nếu
là thực và nghiệm số không ổn định thì 11 h
, nghĩa là h
1 là một số
âm và có trị tuyệt đối lớn hơn 1. Vì
0
1 xhx
n
n
nên nghiệm số sẽ đổi dấu qua
mỗi bước. Sự thay đổi của nghiệm số mô tả khá rõ tính không ổn định.
Tương tự, ta có thể xét tính ổn định của các phương pháp Euler cải tiến. Ta đi đến
kết luận sau.
Phương pháp Euler ẩn là ổn định-L và hội tụ cấp một; Phương pháp hình thang là
ổn định-A và hội tụ cấp hai, còn phương pháp Euler hiển không phải là ổn định-A
và hội tụ cấp 1.
Hàm ổn định của các phương pháp này tương ứng là
1
1
z
,
1
2
1
2
z
z
và
1
z
.
Im
h
Re
h
-
O
-1
17
1.3.3. Sự ổn định của phương pháp Runge-Kutta
1.3.3.1 Sự ổn định của phương pháp Runge-Kutta bậc hai
Xét phương pháp Runge-Kutta bậc hai cho phương trình thử (1.13). Ta có
nnn
hxtxhfk
),(
1
;
nnnnnn
xhhhxxhkxhhtkxhfk
1),(
112
và
nnnnn
x
h
hxhhhxkkxx
2
11
2
1
2
1
22
211
.
Để phương pháp ổn định thì
1
, trong đó
2
1
22
h
h
.
Trường hợp 1.
là số thực. Khi ấy
1
2
1
22
h
h
hay
02
h
.
Trường hơp 2.
i
thuần ảo,
0
.
Khi ấy 1
4
1
1
44
h
. Phương pháp không ổn định.
Trường hợp 3.
IR
i
là số phức. Khi ấy
IRI
IR
R
ihh
h
h
2
22
22
2
1
2
1
là số phức. Đặt
i
e
h
h
2
1
22
và tìm nghiệm phức
h
của phương trình bậc hai
theo các giá trị của
. Nhận xét rằng
1
với mọi giá trị của
.
Miền ổn định được chỉ ra trên Hình 1.6.
1.3.3.2. Sự ổn định của phương pháp Runge-Kutta bậc bốn
Xét phương pháp Runge-Kutta bậc bốn cho phương trình thử (1.13). Ta có
nnn
hxtxhfk
),(
1
;
nnnn
x
h
hhxxh
k
xhk
2
1
2
1
2
;
18
nnnn
x
hh
hx
h
hxh
k
xhk
42
1
2
1
2
1
2
22
2
3
;
nnnn
x
hh
hhx
hh
hxhkxhk
42
1
42
1
332222
34
Và
nnn
x
hhh
hkkkkxx
!4!32
122
6
1
443322
43211
.
Để phương pháp ổn định thì 1
, trong đó
!
4
!
3
2
1
443322
hhh
h
.
Trường hợp 1.
là số thực. Khi ấy 0785.2
h
.
Trường hơp 2.
i
thuần ảo, 0
. Khi ấy 220 h
.
Trường hợp 3.
IR
i
là số phức. Đặt
i
e
hhh
h
!
4
!
3
2
1
443322
và tìm
nghiệm phức
h
của phương trình bậc bốn theo các giá trị của
. Nhận xét rằng
1
với mọi giá trị của
.
Miền ổn định được chỉ ra trên Hình 1.6.
Hình 1.6
19
1.3.4. Sự ổn định của phương pháp đa bước
Áp dụng các phương pháp (1.11) và (1.12) cho bài toán (1.13) ta được
1
0
0
k
j j i j
j
z x
. (1.14)
Phương trình đặc trưng của phương trình sai phân tuyến tính trên có dạng
0
0
k
k j
j j
j
z
. (1.15)
Định nghĩa 3.2
Tập tất cả các điểm của mặt phẳng phức
M
mà
( ) 1
z
với mọi nghiệm của (1.15)
và
( ) 1
z
đối với các nghiệm bội được gọi là miền ổn định của phương pháp
(1.14). Nếu tập hợp đó chứa toàn bộ nửa mặt phẳng trái thì phương pháp được gọi
là ổn định-A.
Nhận xét
Với mọi phương pháp cổ điển miền ổn định chứa gốc tọa độ của mặt phẳng phức.
Tương ứng với bậc của phương pháp ta đã biết những điều sau (xem [11]):
1) Bậc của các phương pháp Runge-Kutta
s
-nấc cho phương trình (1.13)-(1.15)
không vượt quá
2
s
(chắn Butcher).
2)
p
là cấp chính xác,
k
là số bước của phương pháp (1.11).Nếu phương pháp ổn
định thì
p
không vượt quá
2
k
khi
k
chẵn và
1
k
khi
k
lẻ (chắn Dahlquist thứ
nhất).
3) Phương pháp (1.11) ổn định – A không thể có cấp chính xác vượt quá 2 (chắn
Dahlquist thứ hai).
Trong Chương sau ta sẽ trình bày phương pháp do Bulatov đề nghị cải tiến được
những hạn chế nêu trên.
1.3.5. Sự ổn định của phương pháp sai phân hữu hạn
Xét phương trình vi phân tuyến tính bậc hai
0
xkx
,
trong đó k là hằng số và đủ lớn so với 1.
20
Phương trình có nghiệm là
kx
BeAtx
)(
, trong đó
A
và
B
là các hằng số bất kì
được xác định bởi điều kiện ban đầu hoặc điều kiện biên tương ứng.
Nếu
0
k
và
x
thì nghiệm bị chặn. Đại lượng
kx
e
là nghịch biến khi
0
k
và
đồng biến khi
0
k
.
Xấp xỉ sai phân trung tâm cho hệ là
0
2
2
1
1111
2
iiiii
xx
h
k
xxx
h
.
Phương trình sai phân này có nghiệm là
i
i
kh
kh
BAx
2
2
.
Nếu 0
k đại lượng 1
2
2
kh
kh
nên
i
kh
kh
2
2
là nghịch biến. Khi 0
k thì
1
2
2
kh
kh
nếu
k
h
2
. Đây chính là điều kiện ổn định cho hệ sai phân.
21
CHƯƠNG 2
Về một phương pháp không cổ điển giải số
hệ phương trình vi phân cấp một
Chương này trình bày một phương pháp mới do Bulatov đề xuất giải số bài toán
Cauchy cho hệ phương trình vi phân cấp một (xem [9]-[11]) tốt hơn các phương
pháp cổ điển. Phương pháp mới là một họ phương pháp một bước, bậc hai, trong đó
có phương pháp là L-ổn định. Nội dung của Chương gồm hai mục. Trong 2.1 chúng
tôi trình bày phương pháp không cổ điển do Bulatov đề xuất giải số hệ phương
trình vi phân phi tuyến cấp một. Phương pháp không cổ điển do Bulatov đề xuất
giải số hệ phương trình vi phân tuyến tính cấp một được trình bày trong 2.2. Để làm
sáng tỏ phương pháp, chúng tôi đã thực hiện các tính toán chi tiết (phân tích các
hàm nhiều biến dưới dạng chuỗi Taylor, ) mà trong [9]-[11] trình bày không tường
minh.
2.1. Phương pháp không cổ điển giải số hệ phương trình vi phân
phi tuyến cấp một
2.1.1. Phương pháp tổng quát
Xét bài toán Cauchy tìm nghiệm của hệ phương trình
( ) ( ( ), ), 0,1
x t f x t t t
(2.1)
thỏa mãn điều kiện ban đầu
0
(0)
x x
, (2.2)
trong đó
, ,
f x t x t
là các hàm vectơ
n
- chiều, hàm
f
xác định trên hình hộp
chữ nhật vô tận
1,0:
n
RD .
Để giải bài toán (2.1)-(2.2), ta bắt đầu đi từ phương pháp- và phương pháp một tựa
của nó (hai phương pháp này đều có cấp chính xác bằng một):
22
1 1 1 1 1
( , ) (1 ) ( ,
i i i i i i
x x h c f x t c f x t
(2.3)
và
1 2 1 2 2
( (1 ) , )
i i i i i
x x hf c x c x t c h
(1.4)
với
1 2
,
c c
là các hằng số tùy ý,
1 2
0 , 1
c c
.
Mỗi công thức truy hồi (2.3) (hoặc (2.4)) cho một dãy các giá trị xấp xỉ nghiệm của
phương trình vi phân (2.1)-(2.2). Dưới đây ta cố gắng kết hợp hai phương pháp
(2.3) và (2.4) để được một phương pháp số mới giải hệ phương trình vi phân (2.1)-
(2.2).
Khai triển Taylor tại điểm
i
x x
ta được:
2
1 1 1 1 1 1
, , ,
i i i i i i i i i i
f x t f x t J x t x x O x x
và
2 1 2 2
2
2 2 2 1 2 1
2
2 2 2 1 1
1 ,
, , 1
, , ,
i i i
i i i i i i i i i
i i i i i i i i
f c x c x t c h
f x t c h J x t c h c x c x x O x x
f x t c h c J x t c h x x O x x
trong đó
,
,
f x t
J x t
x
.
Các phương pháp (2.3)-(2.4) được tuyến tính hóa như sau
1 1 1 1 1 1 1
( , ) (1 ) ( , ) ( , )( )
i i i i i i i i i i
x x h c f x t c f x t c J x t x x
, (2.3’)
1 2 2 2 1
( , ) ( , )( )]
i i i i i i i i
x x h f x t c h c J x t c h x x
. (2.4’)
Viết lại hai công thức trên thành một hệ phương trình đại số tuyến tính có ẩn là
1
i
x
(kí hiệu
E
là ma trận đơn vị cấp
n
):
1 1 1 1 1 1 1
1
2 2 2 2 2 2
( , ) ( , ) ( , ) (1 ) ( , )
( , ) ( , ) ( , )
i i i i i i i i
i i
i i i i i i
E hc J x t E hc J x t c f x t c f x t
x x h
E hc J x t c h E hc J x t c h c f x t c h
. (2.5)
Nhận thấy rằng hệ (2.5) nói chung không có nghiệm theo nghĩa cổ điển vì số
phương trình nhiều hơn số ẩn, tức là hệ (2.3) và (2.4) nói chung không có nghiệm
trùng nhau. Để giải hệ phương trình đại số (2.5) ta nhân hai vế của hệ này với ma
23
trận
1 1 3 2 2
( , ) ( ( , )
i i i i
E hc J x t c E hc J x t c h
cấp
2
n n
, trong đó
3
c
là hằng số tùy
ý. Khi ấy (2.5) trở thành:
2 2
1 1 3 2 2 1
2 2
1 1 3 2 2
1 1 1 1 1
3 2 2 2
, ,
, ,
, , 1 ,
, , .
i i i i i
i i i i i
i i i i i i
i i i i
E hc J x t c E hc J x t c h x
E hc J x t c E hc J x t c h x
h E hc J x t c f x t c f x t
hc E hc J x t c h f x t c h
(2.6)
Theo [11]lược đồ sai phân (2.6) là ổn định với mọi bộ hệ số
1 2 3
, ,
c c c
và có bậc hội
tụ tối thiểu là bậc một. Ta có ba tham số tự do, vì vậy có thể chọn được bộ ba số
1 2 3
, ,
c c c
sao cho họ lược đồ sai phân (2.6) hội tụ cấp hai.
Khai triển Taylor theo
t
tại điểm
,
i i
x t
ta được:
2
1
2
2 2
2
1
2
2 2
2
3
1 1
, , ,
, , ,
, , ,
, , ,
2
i i i i t i i
i i i i t i i
i i i i t i i
i i i i t i i
i i i i i
J x t J x t J x t h O h
J x t c h J x t J x t c h O h
f x t f x t f x t h O h
f x t c h f x t f x t c h O h
h
x x t x hx x O h
Thay vào (2.6) ta được
3 1 1 2 3 2 3
2
2 2
2 2 2
1 2 3 2
3 1 1 2 3 2 3
(1 ) 2 ( , ) 2 , 2 ( , ) 2 ,
, , , ,
2
(1 ) 2 ( , ) 2 , 2 ( , ) 2
i i t i i i i t i i
i i t i i i i t i i i i i
i i t i i i i
c E h c J x t c hJ x t c c J x t c c hJ x t
h
h c J x t hJ x t c c J x t c hJ x t x hx x
c E h c J x t c hJ x t c c J x t c c h
2 2
2 2 2
1 3 2 2
1 1 1 1 1
2 2 3
3 2 2 2
,
, , , ,
( , ) , , , 1 ,
( , ) , , ,
t i i
i i t i i i i t i i i
i i t i i i i t i i i i
i i t i i i i t i i
J x t
h c J x t hJ x t c c J x t c hJ x t x
h E hc J x t hc J x t c f x t c hf x t c f x t
hc E hc J x t h c J x t f x t hc f x t O h
hay
24
2
2 2 2 2
3 1 2 3 1 2 3 1 2 3
2 2 3
1 1 3 2 3 2
(1 ) 2 , 2 , ,
2
, , , , , ,
i i t i i i i i i
i i i i t i i i i i i t i i
h
c E h c c c J x t h c c c J x t c c c J x t hx x
hE h c J x t f x t hc f x t hc E h c c J x t f x t hc f x t O h
hay
2
2 2 2 2
3 1 2 3 1 2 3 1 2 3
2 2 2 3
1 1 1 3
2 2 2 3
2 3 2 3 2 3
(1 ) 2 , 2 , ,
2
, , , , , , ,
, , , ,
i i t i i i i i i
i i t i i i i i i i i t i i i i
t i i i i i i i i
h
c E h c c c J x t h c c c J x t c c c J x t hx x
hf x t c h f x t ch J x t f x t c h J x t f x t hc f x t
c c h f x t c c h J x t f x t c c h J x t f
3
, .
t i i
x t O h
Đẳng thức trên đúng với mọi
h
. So sánh hệ số hai vế ta được:
Hệ số của
1
h
:
),(),()1(
33 iiiii
txfctxfxc
.
Do
( ) ( ( ), )
x t f x t t
(phương trình (1.1)) nên hệ thức trên đúng với mọi
3
c
.
Hệ số của
2
h :
3 1 2 3
1 1 2 3 2 3
(1 ) 2( ) ( , )
2
( , ) ( , ) ( , ) ( , ) ( , ) ( , ).
i
i i i
t i i i i i i t i i i i i i
x
c c c c J x t x
c f x t c J x t f x t c c f x t c c f x t J x t
Từ phương trình (1.1) ta có:
( ) ( ( ), )
x t f x t t
và
, , ,
t t t
f f
x x J x t f x t f x t
x t
.
Do đó hệ số của
2
h
viết lại thành:
3
1 2 3
1
( , , ( , )) ( )( ( , ) ( , ) , )
2
i i i i t i i i i i i t i i
c
J x t f x t f x t c c c J x t f x t f x t
hay
3
1 2 3
1
, , ( , ) 0
2
i i i i t i i
c
c c c J x t f x t f x t
.
Như vậy, hệ số của
2
h
bằng 0 khi và chỉ khi ta có
3 1 2 3
1 2 2
c c c c
. (2.7)
25
Như vậy nếu chọn
1 2 3
, ,
c c c
thỏa mãn (2.7) thì ta được công thức (2.6) có cấp hai,
bởi vì lúc này công thức (2.6) có sai số địa phương bậc
3
h
. Ta đi đến định lý sau.
Định lý 1.1
Nếu
1,0,,,
2
CttxJttxf thì ta có đánh giá
2
( )
i i
x x t O h
, trong đó
i
x
tìm được theo công thức (2.6).
Định lý này được chứng minh nhờ nhận xét là sai số địa phương có bậc ba, và ma
trận chuyển sang bước tiếp theo có chuẩn là 1
hK
với 0 K
.
2.1.2. Phương trình thử
Áp dụng công thức (2.6) cho phương trình thử
0
, 0 , 0,1
x x x x R t
. (2.8)
Ta có
, ,
f x t x
do đó
, , ,
J x t x t
và
2 1 1 1
( , ) , ( , )
i i i i i i
f x t c h x f x t x
.
Khi đó (1.6) được viết lại thành:
2 2 2 2
1 3 2 1 1 3 2
1 1 1 3 2
( )( (1 ) ) ( )
i i
i i i
E hc c E hc x E hc c E hc x
h E hc c x c x hc E hc x
hay
2 2 2
3 1 2 3 1 2 3 1
2 2 2
3 3 1 2 3 1 2 3 1 2 3
(1 ) ( 2 2 ) ( )( ) ]
(1 ) (1 2 2 ) ( )( ) ] .
i
i
c E c c c h c c c h x
c E c c c c h c c c c c c h x
(2.9)
Đặt
z h
và nhận xét rằng, với phương trình thử, ma trận
1
E
là một số, ta được
công thức
1
( ).
i i
x R z x
,
trong đó
2 2 2
3 1 3 2 3 1 1 3 2 2 3
2 2 2
3 1 2 3 1 2 3
(1 ) (1 2 2 ) ( )
(1 ) 2( ) ( )
c c c c c z c c c c c c z
R z
c c c c z c c c z
.
Để (2.6) là ổn định-L thì
lim 0
z
R z
, suy ra trong
R z
bậc của tử thức phải nhỏ
hơn bậc của mẫu thức, tức là ta phải chọn
1 2 3
, ,
c c c
thỏa mãn