22 2 Phương pháp Runge-Kutta nửa hiện giải phương trình vi phân đại số 25 2.1 Trường hợp phương trình vi phân đại số dạng nửa hiện chỉ số 1.. DANH MỤC VIẾT TẮTBTGTBĐ Bài toán giá trị ban
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Phan Quang Tuyển
LUẬN VĂN THẠC SĨ KHOA HỌC
Hà Nội - 2019
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
Phan Quang Tuyển
MỘT SỐ THUẬT TOÁN RUNGE - KUTTA VỚI
BƯỚC LƯỚI THAY ĐỔI GIẢI MỘT LỚP PHƯƠNG TRÌNH VI PHÂN ĐẠI SỐ
Chuyên ngành: Toán ứng dụng
Mã số: 8460112.01
LUẬN VĂN THẠC SĨ KHOA HỌC
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS TSKH Vũ Hoàng Linh
Hà Nội - 2019
Trang 3LỜI CẢM ƠN
Trước khi trình bày nội dung chính của luận văn, tôi xin bày tỏ lòng biết ơn
sâu sắc tới thầy giáo PGS TSKH Vũ Hoàng Linh, người đã trực tiếp hướng
dẫn, chỉ dạy để tôi có thể hoàn thành luận văn này
Tôi cũng xin bày tỏ lòng biết ơn chân thành đến Khoa Toán- Cơ- Tin học,Phòng Sau đại học, Trường Đại học Khoa học Tự nhiên Hà Nội−Đại học Quốcgia Hà Nội, cũng như quý thầy cô giáo tham gia giảng dạy khóa cao học 2017-
2019 đã dạy bảo tôi tận tình trong suốt quá trình học tập tại trường
Tôi xin gửi lời cảm ơn chân thành nhất tới gia đình, bạn bè, các đồng nghiệp ởKhoa khoa học cơ bản, Trường Sĩ quan Pháo binh, nơi tôi đang công tác, đã luôn
hỗ trợ, động viên và tạo mọi điều kiện cho tôi học tập, nghiên cứu và thực hiệnluận văn này
Cuối cùng, tôi xin chân thành cảm ơn TS Nguyễn Duy Trường, giảng viêntrường Sĩ quan lục quân 1, cùng toàn thể bạn bè, anh chị em lớp cao học 2017-
2019 đã động viên và giúp đỡ cho tôi trong quá trình thực hiện luận văn
Hà Nội, ngày 28 tháng 11 năm 2019
Học viên
Phan Quang Tuyển
Trang 4Mục lục
1.1 Phương trình vi phân đại số 131.1.1 Khái niệm và phân loại phương trình vi phân đại số 131.1.2 Chỉ số của phương trình vi phân đại số 151.2 Phương pháp Runge-Kutta cho phương trình vi phân thường 181.2.1 Phương pháp Runge-Kutta tổng quát 191.2.2 Sự hội tụ và tính ổn định của phương pháp Runge-Kutta 201.3 Đánh giá sai số và lựa chọn bước đi bằng phương pháp nhúng 211.3.1 Ý tưởng của phương pháp nhúng RK 211.3.2 Phương pháp nhúng RK 22
2 Phương pháp Runge-Kutta nửa hiện giải phương trình vi phân đại số 25
2.1 Trường hợp phương trình vi phân đại số dạng nửa hiện chỉ số 1 252.2 Trường hợp phương trình vi phân đại số không có tính lạ 272.2.1 Phân tích bài toán 282.2.2 Phương pháp Runge-Kutta nửa hiện 302.3 Trường hợp phương trình vi phân đại số không có tính lạ và cócấu trúc 342.3.1 Phân tích cấu trúc của bài toán 352.3.2 Sự phụ thuộc của nghiệm vào dữ liệu 372.3.3 Rời rạc hóa bằng phương pháp Runge-Kutta nửa hiện 392.3.4 Sự hội tụ của phương pháp Runge-Kutta nửa hiện 42
Trang 52.3.5 Tính ổn định tuyệt đối của phương pháp Runge-Kutta nửa
hiện 44
3 Phương pháp Runge-Kutta với bước lưới thay đổi giải phương trình vi
3.1 Phương pháp nhúng 483.1.1 Phương trình vi phân đại số không có tính lạ 503.1.2 Phương trình vi phân đại số không có tính lạ và có cấu trúc 513.2 Thử nghiệm số 53
Trang 6Cp(I, Rm) Không gian các hàm véc tơ m chiều khả vi liên tục cấp p
Cp(I, Rm1,m2) Không gian các hàm ma trận cỡ m1×m2khả vi liên tục cấp p
Trang 7DANH MỤC VIẾT TẮT
BTGTBĐ Bài toán giá trị ban đầu
ÔĐTĐ Ổn định tuyệt đối
PTVPT Phương trình vi phân thường
PTVPĐS Phương trình vi phân đại số
RK Phương pháp Runge-Kutta
HERK Phương pháp Runge-Kutta nửa hiện (Half explicit Runge-Kutta)IRK Phương pháp Runge-Kutta ẩn (Implicit Runge-Kutta)
HEOL Phương pháp một chân nửa hiện (Half explicit One - leg )
HELM Phương pháp đa bước nửa hiện (Half explicit linear multistep)
Trang 8LỜI MỞ ĐẦU
Trong thực tế, chúng ta gặp rất nhiều bài toán trong các lĩnh vực khoa học kĩthuật như cơ học, hóa học, hệ mạch điện, lý thuyết điều khiển, động lực học chấtlỏng, v.v được mô hình hóa dưới dạng một hệ hỗn hợp các phương trình vi phân
kết hợp với các ràng buộc đại số Các hệ đó được gọi là phương trình vi phân
đại số(PTVPĐS, DAEs) PTVPĐS có dạng tổng quát
trong đó t ∈ I = [0, T], F : I×Rm×Rm → Rn, m, n ∈ N Nếu ma trận Jacobi
của F theo x0 không suy biến, theo định lý hàm ẩn, từ phương trình(0.0.1)ta cóthể giải được x0 = f(t, x), đây chính là dạng của phương trình vi phân thường(PTVPT) Trong trường hợp tổng quát, ma trận Jacobi của F theo x0 có thể suybiến Khi đó, chúng ta có một PTVPĐS, hay còn gọi là phương trình vi phân ẩn
Ví dụ 0.0.1 [5, Example 1.3 ]Xét một con lắc đơn có khối lượng m và chiều dài l Đặt
hệ trục tọa độ Đề các Oxy như hình vẽ:
Hình 1: Con lắc đơn
Động năng và thế năng của con lắc là T = 12m x02+y02, U = mgy, g là gia tốc
trọng trường, với ràng buộc x2+y2−l2 =0, ta có hàm Lagrange
L = 12m x02+y02
−mgy−λ x2+y2−l2,
Trang 9với tham số Lagrange λ Phương trình chuyển động của con lắc có dạng
ddt
Đây chính là một PTVPĐS có chỉ số 3 với các biến là x, y, u, v, λ.
Giả sử, ta đi giải bài toán giá trị ban đầu (BTGTBĐ)(0.0.1)với điều kiện đầu
x(0) = x0, x0 ∈ Rm Sự tồn tại và duy nhất nghiệm của BTGTBĐ (0.0.1) phụthuộc vào điều kiện ban đầu x0
Trong ví dụ (0.0.1) để hệ(0.0.3)có nghiệm thì điều kiện ít nhất ta cần có là
x20+y20 = l02 Không những vậy, điều kiện ban đầu của PTVPĐS còn có thể liênquan đến đạo hàm của các ràng buộc tại thời điểm ban đầu, xem [3]
Các PTVPĐS xuất hiện từ các bài toán thực tế thường là các hệ rất phức tạp,không có hy vọng giải đúng, trong khi nhiều trường hợp chúng ta chỉ cần biếtthông tin về nghiệm số hoặc nghiệm gần đúng với mức độ chính xác nhất địnhnào đó
Việc nghiên cứu giải số cho PTVPT đã phát triển từ lâu, trong khi việc nghiêncứu lý thuyết và các phương pháp số của PTVPĐS mới phát triển mạnh trongkhoảng hơn 30 năm trở lại đây Các phương pháp số cho PTVPĐS đều được mở
Trang 10rộng từ các phương pháp số cho PTVPT Tuy nhiên, có nhiều ví dụ cho thấy cácphương pháp quen thuộc giải PTVPT khi áp dụng cho PTVPĐS gặp những khókhăn như: lời giải số không ổn định hoặc thậm chí không tồn tại, xảy ra hiệntượng giảm cấp chính xác, v.v Trong những năm cuối thế kỉ 20 đầu thế kỉ 21,các nghiên cứu tập trung vào PTVPĐS dạng ẩn Nhóm tác giả P Kunkel và V.Mehrmann đã có những nghiên cứu một cách có hệ thống các PTVPĐS dạng
(0.0.1)có chỉ số tùy ý Các tác giả đã nghiên cứu chỉ số lạ của bài toán và đề xuấtcác thuật toán đưa bài toán PTVPĐS dạng (0.0.1) về dạng chính tắc không cótính lạ, sau đó áp dụng các công thức rời rạc hóa để thu được nghiệm số của bàitoán(0.0.1)
Gần đây, lớp các PTVPĐS đang thu hút sự quan tâm của các nhà toán học làcác PTVPĐS ẩn không có tính lạ có dạng
f(t, x, x0) =0,
g(t, x) = 0,∀t ∈ [t0, T]
(0.0.4)
Không mất tính tổng quát, ta có thể giả sử t0 = 0 và f :I×Rm×Rm → Rm1,
g : I×Rm → Rm2,(m = m1+m2)là các hàm đủ trơn và có các đạo hàm riêng
bị chặn và thỏa mãn
fx0(t, x, x0)
gx(t, x)
không suy biến dọc theo nghiệm x(t) (0.0.5)
Tác giả V.H Linh và V Mehrmann [7] đã nghiên cứu tính chất của bài toán
(0.0.4) và đề xuất các phương pháp một chân nửa hiện (HEOL), phương pháp
đa bước nửa hiện (HELM), phương pháp Runge-Kutta nửa hiện (HERK) để giảihiệu quả các PTVPĐS(0.0.4)không có tính cương
Khi nghiên cứu một lớp PTVPĐS có cấu trúc dạng
Trang 11và có các đạo hàm riêng bị chặn Giả sử BTGTBĐ có nghiệm duy nhất x(t)và
hfvE
gu
ikhông suy biến dọc theo nghiệm x(t) (0.0.7)Đây là một lớp các PTVPĐS nằm trong dạng PTVPĐS không có tính lạ (0.0.4).Hai tác giả V.H Linh và N.D Trường [8] đã nghiên cứu và đưa ra các phươngpháp Runge-Kutta nửa hiện (HERK) và phương pháp Runge-Kutta ẩn (IRK) đểtìm nghiệm số và đánh giá sai số, cấp chính xác
Phương pháp Kutta nửa hiện đã được kế thừa từ phương pháp Kutta cho PTVPT được áp dụng cho lớp bài toán(0.0.4)và(0.0.6) Phương phápHERK được các tác giả V.H Linh và V Mehrmann [7], V.H Linh và N.D Trường[8] áp dụng cho bước đi đều h Trong luận văn này, tôi tiếp tục nghiên cứuphương pháp HERK áp dụng cho bài toán (0.0.4) và (0.0.6) dựa vào hai kếtquả trong [7], [8], kết hợp với phương pháp nhúng với bước lưới thay đổi h đểtìm nghiệm số, đánh giá sai số và bước lưới h
Runge-Ngoài Lời mở đầu, Kết luận và Tài liệu tham khảo, luận văn của tôi được chia
ra gồm 3 chương
Chương 1.Giới thiệu
Trong chương thứ nhất, tôi sẽ trình bày lại các kiến thức cơ bản về: Phương trình
vi phân đại số, phương pháp Runge-Kutta cho PTVPT, đánh giá sai số và lựachọn bước đi bằng phương pháp nhúng
Chương 2.Phương pháp Runge-Kutta nửa hiện giải PTVPĐS
Trong chương thứ hai, tôi sẽ trình bày phương pháp Runge-Kutta nửa hiện đểgiải PTVPĐS cho 3 trường hợp: PTVPĐS dạng nửa hiện chỉ số 1, PTVPĐS không
có tính lạ, PTVPĐS không có tính lạ và có cấu trúc
Chương 3.Phương pháp Runge-Kutta với bước lưới thay đổi giải PTVPĐSTrong chương này, tôi sẽ trình bày phương pháp nhúng với bước đi h thay đổikết hợp với phương pháp Runge-Kutta nửa hiện trình bày trong chương 2 Sau
đó thực hiện một số thử nghiệm số để so sánh và có sự đánh giá với trường hợp
áp dụng phương pháp Runge-Kutta với bước lưới đều h
Trang 12Hà Nội, ngày 28 tháng 11 năm 2019
Học viên
Phan Quang Tuyển
Trang 13Chương 1
Giới thiệu
Trong chương này, chúng ta sẽ nhắc lại một số khái niệm cơ bản và các kiếnthức bổ trợ sẽ được sử dụng trong luận văn Phần đầu tiên, chúng ta sẽ giớithiệu về PTVPĐS Phần thứ hai, tôi sẽ trình bày tóm tắt về phương pháp RK choPTVPT Phần cuối cùng của chương 1, tôi sẽ trình bày việc đánh giá sai số và lựachọn bước đi bằng phương pháp nhúng áp dụng cho PTVPT
1.1 Phương trình vi phân đại số
1.1.1 Khái niệm và phân loại phương trình vi phân đại số
Phương trình vi phân đại số dạng tổng quát là phương trình
Trang 14Ta thấy rằng, ma trận Jacobi là ma trận suy biến với bất cứ giá trị nào của x =
x10 = x1+1,
(x1+1)x2+2 = 0
(1.1.3)
Ta thấy phương trình đầu tiên của (1.1.3) là một phương trình vi phân, trong khi đó
phương trình thứ hai là một phương trình đại số Như vậy, nói một cách dễ hiểu, thì một PTVPĐS sẽ bao gồm các phương trình vi phân kết hợp với các ràng buộc đại số.
Để thảo luận về câu hỏi sự tồn tại và duy nhất nghiệm của PTVPĐS, chúng taxét BTGTBĐ (1.1.1) với điều kiện x(t0) = x0, t0 ∈I, x0 ∈ Rm
3 Một điều kiện ban đầu x(t0) = x0 được gọi là tương thích với PTVPĐS (1.1.1)
nếu bài toán(1.1.1)kết hợp với điều kiện ban đầu có ít nhất một nghiệm Khi đó, bài toán (1.1.1) với điều kiện x(t0) = x0 gọi là giải được.
Trang 15Thông thường các PTVPĐS có cấu trúc toán học tùy thuộc vào phạm vi ứngdụng nhất định Do đó, chúng ta có các hệ PTVPĐS phi tuyến, PTVPĐS tuyếntính, PTVPĐS nửa hiện, PTVPĐS ẩn hoàn toàn.
1 Phương trình vi phân đại số phi tuyến
Trong PTVPĐS (1.1.1), nếu hàm F là phi tuyến đối với bất kì các biến t, x,hoặc x0thì nó được gọi là PTVPĐS phi tuyến
2 Phương trình vi phân đại số tuyến tính
PTVPĐS có dạng A(t)x0+B(t)x(t) = q(t) Ở đây, A(t)và B(t)là ma trận
n×n, tuyến tính Nếu A(t) ≡ A và B(t) ≡ B thì ta sẽ có PTVPĐS tuyếntính với hệ số hằng
3 Phương trình vi phân đại số ẩn hoàn toàn
PTVPĐS dạng (1.1.1) thuộc dạng ẩn hoàn toàn
1.1.2 Chỉ số của phương trình vi phân đại số
Một cách phân loại khác của PTVPĐS dựa vào độ phức tạp của bài toán làphân loại theo chỉ số (index) Trong lý thuyết PTVPĐS có rất nhiều loại chỉ số,trong luận văn ta chỉ quan tâm tới chỉ số vi phân (differentiation index) và chỉ số
lạ (strangeness index)
Định nghĩa 1.1.2 Phương trình vi phân đại số f(t, x(t), x0(t)) = 0 có chỉ số là µ nếu
µ là số lần lấy vi phân tối thiểu
sao cho các phương trình trên có thể rút ra một PTVPT x0(t) = g(t, x(t)).
Chỉ số vi phân như là một thước đo về khoảng cách giữa PTVPĐS với PTVPTqua các phép lấy đạo hàm Thước đo này dường như không phản ánh được chínhxác bản chất của PTVPĐS bởi trong đó chúng ta hầu như chỉ quan tâm tới tínhchất vi phân mà không để ý đến đặc trưng của các ràng buộc đại số Thực tế, các
Trang 16ràng buộc đại số đôi khi làm cho bài toán trở nên phức tạp hoặc đôi khi làm chobài toán trở nên đơn giản Tiếp theo, chúng ta đề cập tới khái niệm chỉ số lạ đãđược P Kunkel và V Mehrmann đưa ra phản ánh được cả bản chất vi phân vàcác đặc trưng của phần đại số của PTVPĐS Để định nghĩa chỉ số lạ, chúng ta xét
hệ sau
F`(t, x, x0, , x(`+1)) = 0, (1.1.4)trong đó F` có dạng
sao cho tồn tại một hàm ma trận trơn T2có cỡ n×d, d= n−a, có hạng lớn nhất
theo từng điểm thỏa mãn ˆA2T2 = 0.
Trang 173 Chúng ta có rank Fx0(t, x, x0)T2(t, x, x0, , x(µ+1)) = d sao cho tồn tại một hàm
ma trận trơn Z1 có cỡ n× d và có hạng lớn nhất theo từng điểm, thỏa mãn
rank ˆE1T2 = d, trong đó ˆE1 = Z1TFx0.
Định nghĩa 1.1.3 Xét PTVPĐS dạng (1.1.1), giá trị nhỏ nhất µ ∈ N sao cho F thỏa
mãn giả thiết(1.1.1)được gọi là chỉ số lạ của (1.1.1) Nếu µ = 0 thì PTVPĐS (1.1.1)
được gọi là không có tính lạ (strangeness-free).
Nhận xét 1.1.2. 1 Mục đích chính của chỉ số vi phân là đưa ra khoảng cách để biến đổi PTVPĐS trở thành một PTVPT Tuy nhiên, nghiệm của bài toán sau khi biến đổi thường không trùng với nghiệm của bài toán ban đầu.
2 Mục đích chính của chỉ số lạ là đưa ra khoảng cách biến đổi bài toán PTVPĐS trở thành một PTVPĐS có cùng nghiệm nhưng có tính chất giải tích tốt hơn Tính chất đó có thể tách biệt được phần ràng buộc vi phân và phần ràng buộc đại số cho các biến Từ đó ta có thể thu được PTVPT bằng việc giải biến đại số từ các ràng buộc và thế vào các phương trình còn lại.
Lý thuyết về chỉ số lạ cho PTVPĐS phi tuyến tổng quát (1.1.1) đã được nghiêncứu Trong bài báo ([5]) có thuật toán biến đổi dạng (1.1.1) về một PTVPĐS dạngkhông có tính lạ(0.0.4) Chúng ta quy ước rằng khi nhắc đến chỉ số của PTVPĐS
mà không nói gì thêm thì đó là chỉ số vi phân của bài toán Dựa vào đó, chúng
ta giới thiệu lớp PTVPĐS thường gặp có dạng:
1 PTVPĐS dạng nửa hiện chỉ số 1 (Hessenberg chỉ số 1), xem ([3])
x0 = f(t, x, z)
0= g(t, x, z)
(1.1.7)
Trong đó, ma trận hàm Jacobi gz được giả thiết là không suy biến với mọi
t Từ phương trình thứ hai của (1.1.7), theo định lý hàm ẩn ta có thể giải
ra z = φ(t, x), thế vào phương trình thứ nhất ta thu được phương trình viphân đối với x là x0 = f(t, x, φ(t, x))
Trang 18Như vậy, chúng ta có thể thấy PTVPĐS (1.1.7) có chỉ số vi phân bằng 1nhưng có chỉ số lạ bằng 0 hay dạng không có tính lạ.
2 PTVPĐS dạng nửa hiện chỉ số 2 (Hessenberg chỉ số 2), xem ([3])
Ta cần 2 bước lấy đạo hàm để mô tả z0 nên PTVPĐS(1.1.8)có chỉ số 2
1.2 Phương pháp Runge-Kutta cho phương trình vi phân thường
Các phương pháp một bước, tiêu biểu là các phương pháp Runge-Kutta (RK)
có ưu điểm là đơn giản, dễ lập trình, dễ dàng thay đổi và điều chỉnh bước lướikhi tính toán Phương pháp RK được hai nhà toán học người Đức là Runge vàKutta xây dựng từ 1895-1901 Trong phần này, tôi sẽ trình bày sơ đồ rời rạc, sự
ổn định và tính hội tụ, cấp chính xác, miền ÔĐTĐ của phương pháp RK hiện
Trang 191.2.1 Phương pháp Runge-Kutta tổng quát
Tổng quát, phương pháp RK s nấc cho PTVPT y0 = f(t, y) có thể được viếtdưới dạng
Yi = yn−1+hn
s
∑j=1
aijf(tn−1+cjhn, Yj) (1.2.1)
yn = yn−1+hn
s
∑i=1
bif(tn−1+cihn, Yi), (1.2.2)trong đó, hn = tn+1 −tn, Yi ≈ y(tn−1+cihn) là nghiệm xấp xỉ tại điểm nấc
Ti = tn−1+cihn, i = 1, 2, , s Các hệ số của phương pháp RK thường được chodưới bảng Butcher
Trang 201.2.2 Sự hội tụ và tính ổn định của phương pháp Runge-Kutta
Phương pháp RK có thể được viết lại theo phương pháp một bước dưới dạng
Định lý 1.2.1([5], Theorem 5.9) Nếu các hệ số aij, bi, ci của phương pháp RK thỏa mãn các điều kiện:
B(p):
s
∑i=1
bick−1i aij = 1
kbj(1−ckj), j = 1, 2, s, k =1, 2, r,
(1.2.8)
với p ≤q+r+1 và p≤ 2q+2, thì phương pháp RK tương thích và có cấp hội tụ là p.
Để tìm hiểu về miền ÔĐTĐ của các phương pháp RK hiện, ta nhớ lại rằngmiền ÔĐTĐ của một phương pháp được xác định bởi giá trị của z = hnλ, chúng
ta cho|yn| ≤ |yn−1|khi áp dụng phương pháp cho phương trình thử y0 = λy Tathu được công thức
yn = R(z)yn−1 = h1+zbT(I−zA)−11iyn−1, (1.2.9)
trong đó 1 = (1, 1, 1)T Như vậy, hàm ổn định của phương pháp RK tổngquát trên là R(z) = 1+zbT(I−zA)−11và miền ÔĐTĐ của phương pháp RK là
S = {z = hnλ ∈ C : |R(z)| ≤ 1}
Trang 211.3 Đánh giá sai số và lựa chọn bước đi bằng phương pháp nhúng
Một số PTVPT có thể có các nghiệm mà nó thay đổi một cách nhanh chóngtrong một khoảng thời gian và lại thay đổi một cách chậm chạp trong một khoảngthời gian khác Do đó, chúng ta không thể sử dụng bước đi h trong phương pháp
RK như một hằng số, thay vào đó chúng ta nên sử dụng h nhỏ khi mà nghiệmthay đổi nhanh chóng theo thời gian Một phương pháp số mà tự động lựa chọnbước lưới trong mỗi bước là một phương pháp thích nghi Một lớp các phươngpháp thích nghi cho việc giải PTVPT là các phương pháp nhúng RK
1.3.1 Ý tưởng của phương pháp nhúng RK
Trong phần này, chúng ta sẽ tìm hiểu một số cách để ước lượng sai số và điềuchỉnh bước lưới h= hn = tn−tn−1 Cho mỗi thành phần j của y,(1≤ j ≤m), ta
sử dụng sai số tương đối (RTOL) hoặc sai số tuyệt đối (ATOLj) Chúng ta muốnchọn h cho mỗi j,(1 ≤ j ≤ m),
|(lj)n| ≤ f rac[ATOLj+ |(yj)n|RTOL],
ở đây frac là hệ số an toàn (frac=0.8 hoặc 0.9) Để cho thuận tiện và tránh rắc rốicho các phương pháp RK người ta sử dụng sai số địa phương lj, 1≤ j ≤m
Ý tưởng của phương pháp nhúng là chúng ta đi tính hai nghiệm xấp xỉ yn và
ˆyn tại tn, sao cho ˆyn−yn là ước lượng sai số địa phương của hai nghiệm xấp xỉ.Chúng ta kiểm tra bất đẳng thức|ˆyn−yn| ≤ TOL Nếu bất đẳng thức này khôngthỏa mãn thì bước lưới h sẽ bị loại và bước lưới khác ˜h sẽ được lựa chọn thay thế.Nếu phương pháp cho việc tìm yn có cấp chính xác p thì ln(˜h) ≈ c ˜hp+1 Vì vậy,chúng ta có thể chọn ˜h thỏa mãn
˜hh
p+1
|ˆyn−yn| ≈ f racTOL, (1.3.1)
và lặp lại quá trình này cho đến khi một bước lưới chấp nhận được tìm thấy Nếubước lưới được chấp nhận thì từ cùng công thức có thể được sử dụng để đoánmột bước lưới lớn hơn hn+1 = ˜h cho bước tiếp theo
Trang 221.3.2 Phương pháp nhúng RK
Từ ý tưởng của phương pháp chúng ta cần hai nghiệm xấp xỉ yn và ˆyn tại tn
cho bài toán y0 = f(t, y) Một cặp phương pháp RK có cấp p và p+1 sẽ làm tốtviệc này Chìa khóa của các phương pháp nhúng là với một cặp phương pháp RKnhư vậy sẽ chung tính toán trên cùng một nấc Như vậy, chúng ta sẽ xuất phát
từ công thức s nấc có cấp p+1 sao cho có công thức khác với cấp p được nhúngtrong đó
Chúng ta sẽ sử dụng kí hiệu kết hợp cho một phương pháp nhúng:
• Phương pháp nhúng Fehlberg 4(5) có 6 nấc sử dụng phương pháp RK cấp
4 được nhúng trong phương pháp RK cấp 5 Phương pháp nhúng Fehlberg4(5) có hệ số sai số của nghiệm yn có cấp chính xác 4 là nhỏ nhất
• Phương pháp nhúng Dormand-Prince có 7 nấc sử dụng phương pháp RKcấp 4 được nhúng trong phương pháp RK cấp 5 Phương pháp nhúngDormand-Prince 4(5) có hệ số sai số của nghiệm ˆyn có cấp chính xác 5 lànhỏ nhất Trong khi thực hiện bước tính tiếp theo ta thường chọn nghiệm
có giá trị chính xác cao hơn thay thế cho yn−1 Hơn nữa, ta thấy bộ hệ sốcủa bT trùng với hệ số tại nấc thứ 7, do đó phương pháp nhúng Dormand-Prince thực chất ta thực hiện có giá như phương pháp RK có 6 nấc Vì vậy,phương pháp nhúng Dormand-Prince sẽ có độ chính xác tốt hơn phươngpháp nhúng Fehlberg
Trang 23Hình 1.1: Cặp Fehlberg 4(5)
Hình 1.2: Cặp Dormand-Prince 4(5)
Dựa vào ý tưởng và bảng kết hợp của phương pháp nhúng RK ta có thuật toán:
Thuật toán 1.3.1 Chúng ta giải phương trình y0 = f(t, y)trên đoạn [t0, tf], với sai
số cho trước là TOL và điều kiện ban đầu y(t0) = y0.
1 Với yn−1 đã biết, bước lưới h= h0đã cho, biến đếm k = 1, ta tính yn và ˆyn.
2 Ta so sánh, nếu|ˆyn−yn| ≤ TOL,
• Ta chấp nhận bước đi h,
Trang 24• Ta tính lại ynvà ˆynvới yn−1 trong bước thứ nhất đã biết được thay thế bằng nghiệm của phương pháp RK có cấp chính xác cao hơn ˆyn,
• Tăng giá trị của k, (k → k+1)và t =t+h,
• Nếu t+h >tf thì h =tf −t.
3 Nếu bất đẳng thức|ˆyn−yn| ≤ TOL không thỏa mãn thì bước đi h bị thay thế bởi
bước đi mới
˜h =h f racTOL
|ˆyn−yn|
1 p+1
Tiếp tục quá trình giống như bước tính đầu tiên cho tới khi dừng lại Khi đó, chúng
ta có thể in ra kết quả nghiệm chính xác, sai số của hai nghiệm xấp xỉ, sai số thực tế của nghiệm số và nghiệm chính xác, vẽ đồ thị nghiệm chính xác so với đồ thị nghiệm số, v.v.
Trang 252.1 Trường hợp phương trình vi phân đại số dạng nửa hiện chỉ số 1
Các phương pháp số cho PTVPĐS dạng nửa hiện chỉ số 1 đã được nghiên cứu
và phát triển trong những năm cuối của thể kỉ 20 Hướng nghiên cứu hết sức tựnhiên bằng cách mở rộng các phương pháp số của PTVPT cho PTVPĐS Trongphần này, tôi sẽ trình bày việc rời rạc hóa bài toán PTVPĐS dạng nửa hiện chỉ số
Gz(t, y(t), z(t)), (2.1.2)
Trang 26là không suy biến trong lân cận của nghiệm chính xác.
Để xây dựng nghiệm số, ta lấy lưới t0 < t1 < tN Để cho đơn giản, ta xétlưới đều với bước lưới là h Tất cả các kết quả áp dụng cho bước lưới đều vẫnđúng khi mà ta áp dụng cho bước đi thay đổi h Giả sử, các hệ số của phươngpháp RK s nấc có cấp p được cho trong bảng Butcher
Yi = yn+h
s
∑j=1
biF(Ti, Yi, Zi),
0 = G(tn+1, yn+1, zn+1),
(2.1.3)
trong đó Ti = tn+cih, h= tn+1−tn
Điều kiện (2.1.2) , theo định lý hàm ẩn, từ phương trình thứ hai của (2.1.1) ta
có thể giải ra được z = φ(t, y)trong một lân cận của nghiệm Như vậy, (2.1.1) trởthành
y0(t) = H(t, y), (2.1.4)trong đó H(t, y) = F(t, y, φ(t, y))
Giải Zitừ phương trình thứ 2 của (2.1.3) và thế vào phương trình thứ nhất vàthứ ba của (2.1.3) ta thu được sơ đồ RK cho (2.1.3) sẽ có dạng
Yi = yn+h
s
∑j=1
aijF(Tj, Yj, φ(Tj, Yj)),
yn+1 = yn+h
s
∑i=1
biF(Ti, Yi, φ(Ti, Yi)),
(2.1.5)
Trang 27ngoài ra ta còn xác định được zn+1 = φ(tn+1, yn+1) từ phương trình thứ 4 của(2.1.3) Chúng ta chỉ ra rằng các thành phần của nghiệm số y của (2.1.3) giốngnhư nghiệm số của phương pháp RK áp dụng cho PTVPT (2.1.4) Do đó, chúng
ta có kết quả về sự hội tụ sau cho sơ đồ RK (2.1.3)
Định lý 2.1.1 Giả sử rằng (2.1.2) thỏa mãn trong một lân cận của nghiệm(y(t), z(t))
của (2.1.1) và các giá trị ban đầu là tương thích Cho một phương pháp RK cấp p, sơ đồ
RK (2.1.3) áp dụng cho PTVPĐS (2.1.1) hội tụ cấp p, nghĩa là,
kyn−y(tn)k = O(hp), kzn−z(tn)k = O(hp), với tn−t0 = nh≤ const.
Nhận xét 2.1.1 Ta sử dụng phương pháp RK ban đầu ở dạng hiện thì ta có phương
pháp RK dạng nửa hiện, việc thực hiện cài đặt cho(2.1.3)khá đơn giản Chúng ta xác định giá trị nấc Yi hiện và giải phương trình đại số cho Zi với i = 1, 2, s Sau đó,
chúng ta tính yn+1 và giải phương trình đại số cho zn+1 Các phương trình đại số có thể được giải một cách hiệu quả bằng phương pháp lặp Newton.
2.2 Trường hợp phương trình vi phân đại số không có tính lạ
Trong phần này, chúng ta sẽ đưa ra dạng của PTVPĐS không có tính lạ và sau
đó sẽ giới thiệu phương pháp RK nửa hiện cho việc giải số Để tiện theo dõi, tanhắc lại công thức của PTVPĐS dạng:
là các hàm đủ trơn và có các đạo hàm riêng bị chặn Hơn nữa, ta giả sử rằng (2.2.1)
là PTVPĐS không có tính lạ, nghĩa là ma trận Jacobi
Trang 282.2.1 Phân tích bài toán
Trong phần này, để nghiên cứu giải tích của phương pháp số, chúng ta có thểgiả sử BTGTBĐ (2.2.1) có nghiệm duy nhất x∗(t)đủ trơn và có các đạo hàm riêng
bị chặn trênI Hơn nữa, f và g được giả sử là đủ trơn với các đạo hàm riêng bị
chặn trong lân cận của nghiệm x∗(t), t ∈ I Theo mục đích về giải tích, giả sử
các thành phần của x trong (2.2.1) có thể được sắp xếp lại và phân hoạch thành
x = [xT1, x2T]T, trong đó x1 : I → Rd, x2 : I → Ra, để mà ma trận Jacobi gx2của g ứng với biến x2 (hoặc fx0
1 của g ứng với biến x01 ) là khả nghịch trong lâncận của nghiệm Nếu gx2là không suy biến thì (2.2.1) có thể biến đổi thành dạng,xem ([5])
x01 =L(t, x1), x2 =R(t, x1) (2.2.3)Xét PTVPĐS tổng quát dạng ẩn, phi tuyến có chỉ số 1
G(t, x, x0) = 0, t ∈I. (2.2.4)Theo quá trình biến đổi được chỉ ra trong [mục 4.1, [5]], phương trình (2.2.4)
Ta sẽ sử dụng tính tuyến tính này trong việc nghiên cứu tính giải tích của phươngpháp RK nửa hiện: tính tương thích, ổn định và hội tụ
PTVPĐS dạng (2.2.1) tổng quát hơn PTVPĐS dạng nửa hiện chỉ số 1, đó làtrường hợp đặc biệt khi fx0
1 = Id và fx0
2 = 0, x02 chỉ liên quan đến ràng buộcđại số Tuy nhiên, ràng buộc đại số được cho dưới dạng hiện và nó có thể được
Trang 29khai thác khi xây dựng phương pháp số cho (2.2.1) Hơn nữa, chúng ta có mốiquan hệ giữa PTVPĐS (2.2.1) và PTVPĐS dạng nửa hiện chỉ số 2 Giả sử, cácthành phần của x được sắp xếp lại và phân hoạch để mà fx0
1 không suy biến, đặt
Tính đạo hàm của φ theo y0
φy0 =
fy0
1 fy0 2
0 Id
,
theo giả thiết fx0
1 = fy0
1 là ma trận không suy biến nên φy0 là ma trận không suy
biến Theo định lý hàm ẩn, tồn tại hàm ϕ sao cho (2.2.6) có thể được viết lại dưới
fx0
1 fx0 2
gx1 gx2,
không suy biến và fx0
1 không suybiến, từ lý thuyết đại số tuyến tính ta suy ra gx2 −gx1f−1
x01 fx0
2 là ma trận không
suy biến Do đó, γy(φy0)−1φz(t, y(t), z(t), y0(t)) = [γyϕz](t, y(t), z(t), y0(t))là matrận không suy biến Như vậy, phương trình (2.2.7) là PTVPĐS dạng nửa hiện cóchỉ số 2
Phương pháp số cho PTVPĐS chỉ số nhỏ hơn hoặc bằng 2, bao gồm dạng nửahiện, đặc biệt là PTVPĐS không có tính lạ dạng (2.2.1) là lớp các phương pháp
Trang 30ẩn như phương pháp trùng khớp RK và phương pháp BDF, có sự hội tụ và cấpchính xác giống như PTVPT.
Trong phần này, tôi sẽ trình bày phương pháp RK nửa hiện (HERK) để giải
PT (2.2.1) xuất phát từ phương pháp số giải một lớp đặc biệt các PTVPĐS matrận nửa tuyến tính có dạng
không suy biến, phát sinh trong quá trình phân tích sự ổn định của PTVPĐS quaviệc xấp xỉ số mũ Lyapunov hoặc khoảng phổ Sacker-Sell Các bài toán này lấykhoảng tích phânI dài nên ta sử dụng phương pháp nửa hiện sẽ mang lại hiệu
quả tốt
2.2.2 Phương pháp Runge-Kutta nửa hiện
Xét phương pháp RK hiện s nấc được cho trong bảng với c1 =0
[tn−1, tn] và giả sử ta có xấp xỉ xn−1 ≈ x(tn−1) Đặt Ui ≈ x(tn−1+cih)là xấp xỉcủa nghiệm tại nấc thứ i và Ki ≈ Ui0 là xấp xỉ của đạo hàm của Ui, i = 1, , s.Như vậy, sơ đồ RK hiện được cho trong bảng trên sẽ được viết
(a) U1 = xn−1,
i−1
∑j=1
ai,jKj, i =1, 2, , s,
(c) xn = xn−1+h
s
∑i=1
biKi
(2.2.9)
Trang 31Chúng ta đề xuất phương pháp RK nửa hiện (HERK) dựa vào (2.2.9) cho PTVPĐS(2.2.1) Tại nấc đầu tiên, ta đã có U1 = xn−1 Tại nấc i+1 xấp xỉ cho Ui+1 đượcgiải từ hệ phương trình đại số
ai+1,jKj
#, i =2, 3, s−1,
(2.2.12)và
biKi
#
Áp dụng phương pháp này cho hệ đặc biệt PTVPĐS ma trận dạng (2.2.8), ta
có hệ phương trình tuyến tính dưới dạng ma trận