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ố

0 1 0
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ố

Đang tải... (xem toàn văn)

Thông tin tài liệu

Mục lục Giới thiệu 13 1.1 Phương trình vi phân đại số 13 1.1.1 Khái niệm phân loại phương trình vi phân đại số 13 1.1.2 Chỉ số phương trình vi phân đại số 15 Phương pháp Runge-Kutta cho phương trình vi phân thường 18 1.2.1 Phương pháp Runge-Kutta tổng quát 19 1.2.2 Sự hội tụ tính ổn định phương pháp Runge-Kutta 20 Đánh giá sai số lựa chọn bước phương pháp nhúng 21 1.3.1 Ý tưởng phương pháp nhúng RK 21 1.3.2 Phương pháp nhúng RK 22 1.2 1.3 Phương pháp Runge-Kutta nửa 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 số 25 2.2 Trường hợp phương trình vi phân đại số khơng có tính lạ 27 2.2.1 Phân tích tốn 28 2.2.2 Phương pháp Runge-Kutta nửa 30 2.3 Trường hợp phương trình vi phân đại số khơng có tính lạ có cấu trúc 34 2.3.1 Phân tích cấu trúc toán 35 2.3.2 Sự phụ thuộc nghiệm vào liệu 37 2.3.3 Rời rạc hóa phương pháp Runge-Kutta nửa 39 2.3.4 Sự hội tụ phương pháp Runge-Kutta nửa 42 2.3.5 Tính ổn định tuyệt đối phương pháp Runge-Kutta nửa 44 Phương pháp Runge-Kutta với bước lưới thay đổi giải phương trình vi phân đại số 48 3.1 Phương pháp nhúng 48 3.1.1 Phương trình vi phân đại số khơng có tính lạ 50 3.1.2 Phương trình vi phân đại số khơng có tính lạ có cấu trúc 51 3.2 Thử nghiệm số 53 Kết luận 65 Tài liệu tham khảo 66 DANH MỤC KÝ HIỆU N Tập hợp số tự nhiên R Tập số thực C Tập số phức I Đoạn [0, T ] ⊂ R Rm , (Cm ) Không gian véc tơ m chiều R, (C) Rm1 ,m2 Không gian ma trận thực cỡ m1 × m2 C p (I, Rm ) Không gian hàm véc tơ m chiều khả vi liên tục cấp p C p (I, Rm1 ,m2 ) Không gian hàm ma trận cỡ m1 × m2 khả vi liên tục cấp p Ik Ma trận đơn vị cấp k rank( A) Hạng ma trận A Const Hằng số O(hk )  Vô bé bậc với hk Điều phải chứng minh DANH 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 (Half explicit Runge-Kutta) IRK Phương pháp Runge-Kutta ẩn (Implicit Runge-Kutta) HEOL Phương pháp chân nửa (Half explicit One - leg ) HELM Phương pháp đa bước nửa (Half explicit linear multistep) LỜI MỞ ĐẦU Trong thực tế, gặp nhiều toán lĩnh vực khoa học kĩ thuật học, hóa học, hệ mạch điện, lý thuyết điều khiển, động lực học chất lỏng, v.v mơ hình hóa dạng hệ hỗn hợp phương trình vi phân kết hợp với ràng buộc đại số Các hệ gọi phương trình vi phân đại số (PTVPĐS, DAEs) PTVPĐS có dạng tổng quát F (t, x, x ) = 0, (0.0.1) t ∈ I = [0, T ], F : I × Rm × Rm → Rn , m, n ∈ N Nếu ma trận Jacobi F theo x không suy biến, theo định lý hàm ẩn, từ phương trình (0.0.1) ta giải x = f (t, x ), dạng phương trình vi phân thường (PTVPT) Trong trường hợp tổng quát, ma trận Jacobi F theo x suy biến Khi đó, có PTVPĐS, hay cịn gọi phương trình vi phân ẩn Ví dụ 0.0.1 [5, Example 1.3 ]Xét lắc đơn có khối lượng m chiều dài l Đặt hệ trục tọa độ Đề Oxy hình vẽ: Hình 1: Con lắc đơn  Động lắc T = 21 m x 02 + y02 , U = mgy, g gia tốc trọng trường, với ràng buộc x2 + y2 − l = 0, ta có hàm Lagrange   L = 12 m x 02 + y02 − mgy − λ x2 + y2 − l , với tham số Lagrange λ Phương trình chuyển động lắc có dạng   ∂L d ∂L − , dt ∂q ∂q với biến q = x, y, λ, nghĩa ta có: mx 00 + 2λx = 0, my00 + mg + 2λy = 0, (0.0.2) x2 + y2 − l = Bằng cách đặt biến u = x , v = y0 , phương trình (0.0.2) trở thành x − u = 0, y0 − v = 0, mu0 + 2λx = 0, (0.0.3) mv0 + mg + 2λy = 0, x2 + y2 − l = Đây PTVPĐS có số với biến x, y, u, v, λ Giả sử, ta giả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 nghiệm 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 điều kiện ta cần có x02 + y20 = l02 Không vậy, điều kiện ban đầu PTVPĐS cịn liên quan đến đạo hàm ràng buộc thời điểm ban đầu, xem [3] Các PTVPĐS xuất từ toán thực tế thường hệ phức tạp, khơng có hy vọng giải đúng, nhiều trường hợp cần biết thông tin nghiệm số nghiệm gần với mức độ xác định Việc nghiên cứu giải số cho PTVPT phát triển từ lâu, việc nghiên cứu lý thuyết phương pháp số PTVPĐS phát triển mạnh khoảng 30 năm trở lại Các phương pháp số cho PTVPĐS mở rộng từ phương pháp số cho PTVPT Tuy nhiên, có nhiều ví dụ cho thấy phương pháp quen thuộc giải PTVPT áp dụng cho PTVPĐS gặp khó khăn như: lời giải số không ổn định chí khơng tồn tại, xảy tượng giảm cấp xác, v.v Trong năm cuối kỉ 20 đầu kỉ 21, nghiên cứu tập trung vào PTVPĐS dạng ẩn Nhóm tác giả P Kunkel V Mehrmann có nghiên cứu cách có hệ thống PTVPĐS dạng (0.0.1) có số tùy ý Các tác giả nghiên cứu số lạ toán đề xuất thuật toán đưa tốn PTVPĐS dạng (0.0.1) dạng tắc khơng có tính lạ, sau áp dụng cơng thức rời rạc hóa để thu nghiệm số tốn (0.0.1) Gần đây, lớp PTVPĐS thu hút quan tâm nhà toán học PTVPĐS ẩn khơng có tính lạ có dạng f (t, x, x ) = 0, g(t, x ) = 0, ∀t ∈ [t0 , T ] (0.0.4) Khơng tính tổng quát, ta giả sử t0 = f : I × Rm × Rm → Rm1 , g : I × Rm → Rm2 , (m = m1 + m2 ) hàm đủ trơn có đạo hàm riêng bị chặn thỏa mãn   f x0 (t, x, x ) 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 Mehrmann [7] nghiên cứu tính chất tốn (0.0.4) đề xuất phương pháp chân nửa (HEOL), phương pháp đa bước nửa (HELM), phương pháp Runge-Kutta nửa (HERK) để giải hiệu PTVPĐS (0.0.4) khơng có tính cương Khi nghiên cứu lớp PTVPĐS có cấu trúc dạng f (t, x, E(t) x ) = 0, (0.0.6) g(t, x ) = 0, đoạn [0, T ], E ∈ C1 (I, Rm1 ,m ) hàm f = f (t, u, v) : I × Rm × Rm1 → Rm1 , g = g(t, u) : I × Rm → Rm2 , (m, m1 , m2 ∈ N, m = m1 + m2 ) đủ trơn 10 có đạo hàm riêng bị chặn Giả sử BTGTBĐ có nghiệm x (t) h i fv E không suy biến dọc theo nghiệm x(t) (0.0.7) g u Đây lớp PTVPĐS nằm dạng PTVPĐS tính lạ (0.0.4) Hai tác giả V.H Linh N.D Trường [8] nghiên cứu đưa phương pháp Runge-Kutta nửa (HERK) phương pháp Runge-Kutta ẩn (IRK) để tìm nghiệm số đánh giá sai số, cấp xác Phương pháp Runge-Kutta nửa kế thừa từ phương pháp RungeKutta cho PTVPT áp dụng cho lớp toán (0.0.4) (0.0.6) Phương pháp HERK tác giả V.H Linh V Mehrmann [7], V.H Linh N.D Trường [8] áp dụng cho bước h Trong luận văn này, tiếp tục nghiên cứu phương pháp HERK áp dụng cho toán (0.0.4) (0.0.6) dựa vào hai kết [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ố bước lưới h Ngoài Lời mở đầu, Kết luận Tài liệu tham khảo, luận văn chia gồm chương Chương Giới thiệu Trong chương thứ nhất, tơi trình bày lại kiến thức về: Phương trình vi phân đại số, phương pháp Runge-Kutta cho PTVPT, đánh giá sai số lựa chọn bước phương pháp nhúng Chương Phương pháp Runge-Kutta nửa giải PTVPĐS Trong chương thứ hai, tơi trình bày phương pháp Runge-Kutta nửa để giải PTVPĐS cho trường hợp: PTVPĐS dạng nửa số 1, PTVPĐS khơng có tính lạ, PTVPĐS khơng có tính lạ có cấu trúc Chương Phương pháp Runge-Kutta với bước lưới thay đổi giải PTVPĐS Trong chương này, tơi trình bày phương pháp nhúng với bước h thay đổi kết hợp với phương pháp Runge-Kutta nửa trình bày chương Sau thực số thử nghiệm số để so sánh có đánh giá với trường hợp áp dụng phương pháp Runge-Kutta với bước lưới h 11 Hà Nội, ngày 28 tháng 11 năm 2019 Học viên Phan Quang Tuyển 12 Chương Giới thiệu Trong chương này, nhắc lại số khái niệm kiến thức bổ trợ sử dụng luận văn Phần đầu tiên, giới thiệu PTVPĐS Phần thứ hai, tơi trình bày tóm tắt phương pháp RK cho PTVPT Phần cuối chương 1, trình bày việc đánh giá sai số lựa chọn bước 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 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 phương trình F (t, x, x ) = 0, (1.1.1) t ∈ I = [0, T ], F : I × Rm × Rm → Rn , m, n ∈ N, ma trận Jacobi ∂F ∂x suy biến Ví dụ 1.1.1 Xét hệ x1 − x10 + = 0, (1.1.2) x10 x2 + = 0, Ta có F (t, x, x ) =  x1 − x10 + x10 x2 + 13  , với x0  = x1 x2  , ma trận Jacobi ∂F ∂x   ∂F −1 = x2 ∂x  Ta thấy rằng, ma trận Jacobi ma trận suy biến với giá trị x =  x1 x2 Do đó, hệ (1.1.2) PTVPĐS Nhận xét 1.1.1 Trong ví dụ ta thấy đạo hàm x20 không xuất Giải phương trình (1.1.2), ta x10 = x1 + Thay x10 vào phương trình thứ hai, phương trình (1.1.2) viết lại x10 = x1 + 1, (1.1.3) ( x1 + 1) x2 + = Ta thấy phương trình (1.1.3) phương trình vi phân, phương trình thứ hai phương trình đại số Như vậy, nói cách dễ hiểu, PTVPĐS bao gồm phương trình vi phân kết hợp với ràng buộc đại số Để thảo luận câu hỏi tồn nghiệm PTVPĐS, xét BTGTBĐ (1.1.1) với điều kiện x (t0 ) = x0 , t0 ∈ I, x0 ∈ Rm Định nghĩa 1.1.1 ([5]) Cho C k (I, Cn ) không gian véc tơ tất hàm khả vi, liên tục k lần từ đoạn I vào không gian véc tơ phức Cn Một hàm x ∈ C1 (I, Cn ) gọi nghiệm (1.1.1) thỏa mãn (1.1.1) điểm Một nghiệm x PTVPĐS(1.1.1) thỏa mãn điều kiện ban đầu gọi nghiệm BTGTBĐ Một điều kiện ban đầu x (t0 ) = x0 gọi tương thích với PTVPĐS (1.1.1) toán (1.1.1) kết hợp với điều kiện ban đầu có nghiệm Khi đó, toán (1.1.1) với điều kiện x (t0 ) = x0 gọi giải 14 Thông thường PTVPĐS có cấu trúc tốn học tùy thuộc vào phạm vi ứng dụng định Do đó, có hệ PTVPĐS phi tuyến, PTVPĐS tuyến tính, PTVPĐS nửa hiện, PTVPĐS ẩn hồn tồn Phương trình vi phân đại số phi tuyến Trong PTVPĐS (1.1.1), hàm F phi tuyến biến t, x, x gọi PTVPĐS phi tuyến Phương trình vi phân đại số tuyến tính PTVPĐS có dạng A(t) x + B(t) x (t) = q(t) Ở đây, A(t) B(t) ma trận n × n, tuyến tính Nếu A(t) ≡ A B(t) ≡ B ta có PTVPĐS tuyến tính với hệ số 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 hồn tồn 1.1.2 Chỉ số phương trình vi phân đại số Một cách phân loại khác PTVPĐS dựa vào độ phức tạp toán phân loại theo số (index) Trong lý thuyết PTVPĐS có nhiều loại số, luận văn ta quan tâm tới số vi phân (differentiation index) số lạ (strangeness index) Định nghĩa 1.1.2 Phương trình vi phân đại số f (t, x (t), x (t)) = có số µ µ số lần lấy vi phân tối thiểu f (t, x (t), x (t)) = 0, d f (t, x (t), x (t)) = 0, , dt dµ f (t, x (t), x (t)) = 0, dtµ cho phương trình rút PTVPT x (t) = g(t, x (t)) Chỉ số vi phân thước đo khoảng cách PTVPĐS với PTVPT qua phép lấy đạo hàm Thước đo dường không phản ánh xác chất PTVPĐS quan tâm tới tính chất vi phân mà không để ý đến đặc trưng ràng buộc đại số Thực tế, 15 ràng buộc đại số đơi làm cho tốn trở nên phức tạp làm cho toán trở nên đơn giản Tiếp theo, đề cập tới khái niệm số lạ P Kunkel V Mehrmann đưa phản ánh chất vi phân đặc trưng phần đại số PTVPĐS Để định nghĩa số lạ, xét hệ sau F` (t, x, x , , x (`+1) ) = 0, (1.1.4) F` có dạng    F` (t, x, x , , x (`+1) ) =      =   F (t, x, x ) d dt F ( t, x, x ) ( dtd )` F (t, x, x )      F (t, x, x ) Ft (t, x, x ) + Fx (t, x, x ) x + Fx0 (t, x, x ) x 00    ,  định nghĩa ma trận Jacobi M` (t, x, x , , x (`+1) ) = F`;x0 , ,x(`+1) (t, x, x , , x (`+1) ),   N` (t, x, x , , x (`+1) ) = − F`;x (t, x, x , , x (`+1) ), 0, , (1.1.5) Giả thiết 1.1.1 ([5]) Tồn số nguyên µ, a, d cho tập nghiệm Lµ = {(t, x, x , , x (µ+1) ) ∈ R(µ+2)n+1 | Fµ (t, x, x , , x (µ+1) ) = 0} ( µ +1) khác rỗng (t0 , x0 , x00 , , x0 (1.1.6) ) ∈ Lµ tồn lân cận đủ nhỏ cho lân cận tính chất sau thỏa mãn Chúng ta có rank Mµ (t, x, x , , x (µ+1) ) = (µ + 1)n − a Lµ cho tồn hàm ma trận trơn Z2 có c (à + 1)n ì a cú hng ln nht theo điểm thỏa mãn Z2T Mµ = Chúng ta có rank Aˆ (t, x, x , , x (µ+1) ) = a, Aˆ = Z2T Nµ [ In 0] cho tồn hàm ma trận trơn T2 có cỡ n × d, d = n − a, có hạng lớn theo điểm thỏa mãn Aˆ T2 = 16 Chúng ta có rank Fx0 (t, x, x ) T2 (t, x, x , , x (µ+1) ) = d cho tồn hàm ma trận trơn Z1 có cỡ n × d có hạng lớn theo điểm, thỏa mãn rank Eˆ T2 = d, Eˆ = Z1T Fx0 Định nghĩa 1.1.3 Xét PTVPĐS dạng (1.1.1), giá trị nhỏ µ ∈ N cho F thỏa mãn giả thiết (1.1.1) gọi số lạ (1.1.1) Nếu µ = PTVPĐS (1.1.1) gọi khơng có tính lạ (strangeness-free) Nhận xét 1.1.2 Mục đích số vi phân đưa khoảng cách để biến đổi PTVPĐS trở thành PTVPT Tuy nhiên, nghiệm toán sau biến đổi thường không trùng với nghiệm tốn ban đầu Mục đích số lạ đưa khoảng cách biến đổi tốn PTVPĐS trở thành PTVPĐS có nghiệm có tính chất giải tích tốt Tính chất tách biệt phần ràng buộc vi phân phần ràng buộc đại số cho biến Từ ta thu PTVPT việc giải biến đại số từ ràng buộc vào phương trình cịn lại Lý thuyết số lạ cho PTVPĐS phi tuyến tổng quát (1.1.1) nghiên cứu Trong báo ([5]) có thuật tốn biến đổi dạng (1.1.1) PTVPĐS dạng khơng có tính lạ (0.0.4) Chúng ta quy ước nhắc đến số PTVPĐS mà khơng nói thêm số vi phân tốn Dựa vào đó, giới thiệu lớp PTVPĐS thường gặp có dạng: PTVPĐS dạng nửa số (Hessenberg số 1), xem ([3]) x = f (t, x, z) (1.1.7) = g(t, x, z) Trong đó, ma trận hàm Jacobi gz giả thiết khơng suy biến với t Từ phương trình thứ hai (1.1.7), theo định lý hàm ẩn ta giải z = φ(t, x ), vào phương trình thứ ta thu phương trình vi phân x x = f (t, x, φ(t, x )) 17 Như vậy, thấy PTVPĐS (1.1.7) có số vi phân có số lạ hay dạng khơng có tính lạ PTVPĐS dạng nửa số (Hessenberg số 2), xem ([3]) x = f (t, x, z) (1.1.8) = g(t, x ) Giả thiết rằng, ma trận Jacobi gx f z không suy biến với t Biến đại số z khơng xuất phương trình thứ (1.1.8) Từ phương trình thứ hai (1.1.8), lấy đạo hàm theo t ta được: = gt (t, x ) + gx (t, x ) f (t, x, z), tiếp tục lấy đạo hàm theo t, ta được: = gtt (t, x ) + gtx (t, x ) f (t, x, z) + f (t, x, z)( gxt (t, x ) + gxx (t, x ) f (t, x, z)) + gx (t, x )( f t (t, x, z) + f x (t, x, z) f (t, x, z) + f z (t, x, z)z0 ) Từ giả thiết, ma trận Jacobi gx f z không suy biến với t Suy ra, z0 = −( gx (t, x ) f z (t, x, z))−1 ( gtt (t, x ) + gtx (t, x ) f (t, x, z) + f (t, x, z)( gxt (t, x ) + gxx (t, x ) f (t, x, z)) + gx (t, x )( f t (t, x, z) + f x (t, x, z) f (t, x, z))) Ta cần bước lấy đạo hàm để mô tả z0 nên PTVPĐS (1.1.8) có số 1.2 Phương pháp Runge-Kutta cho phương trình vi phân thường Các phương pháp bước, tiêu biểu phương pháp Runge-Kutta (RK) có ưu điểm đơn giản, dễ lập trình, dễ dàng thay đổi điều chỉnh bước lưới tính toán Phương pháp RK hai nhà toán học người Đức Runge Kutta xây dựng từ 1895-1901 Trong phần này, tơi trình bày sơ đồ rời rạc, ổn định tính hội tụ, cấp xác, miền ÔĐTĐ phương pháp RK 18 1.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) viết dạng s Yi = yn−1 + hn ∑ aij f (tn−1 + c j hn , Yj ) (1.2.1) ∑ bi f (tn−1 + ci hn , Yi ), (1.2.2) j =1 s y n = y n −1 + h n i =1 đó, hn = tn+1 − tn , Yi ≈ y(tn−1 + ci hn ) nghiệm xấp xỉ điểm nấc Ti = tn−1 + ci hn , i = 1, 2, , s Các hệ số phương pháp RK thường cho bảng Butcher c A , bT (1.2.3) với A = [ aij ]s×s , b = (b1 , b2 , bs ) T , c = (c1 , c2 , cs ) T , chọn s ci = ∑ aij , (1.2.4) i = 1, 2, s j =1 Phương pháp RK aij = với j ≥ i, trường hợp lại phương pháp RK ẩn Một số ví dụ phương pháp RK hiện: • Phương pháp Euler hiện: 0 α 0 α • Phương pháp có cấp xác 2: , α = ta có cơng 1 − 2α 2α thức hình thang hiện, α = 21 ta có cơng thức trung điểm 0 0 0 0 0 0 1 2 • Cơng thức RK nấc cổ điển: Phương pháp RK s nấc cịn viết lại dạng: s Ki = f t n −1 + c i h n , y n −1 + h n ∑ aij K j ! , (1.2.5) j =1 s y n = y n −1 + h n ∑ bi K i i =1 19 (1.2.6) 1.2.2 Sự hội tụ tính ổn định phương pháp Runge-Kutta Phương pháp RK viết lại theo phương pháp bước dạng y n = y n −1 + h n Ψ ( t n −1 , y n −1 , h n ), (1.2.7) Ψ thỏa mãn điều kiện Lipschitz theo y, từ suy phương pháp RK 0- ổn định, xem ([3]) Việc xác định cấp xác cho phương pháp RK s nấc với s > không đơn giản Chúng ta có kết cấp xác hội phương pháp RK Định lý 1.2.1 ([5], Theorem 5.9) Nếu hệ số aij , bi , ci phương pháp RK thỏa mãn điều kiện: s B( p) : ∑ bi cik−1 = k , i =1 s C (q) : ∑ aij ckj −1 = k cik , j =1 s D (r ) : k = 1, 2, p i = 1, 2, s, k = 1, 2, q, ∑ bi cik−1 aij = k bj (1 − ckj ), (1.2.8) j = 1, 2, s, k = 1, 2, r, i =1 với p ≤ q + r + p ≤ 2q + 2, phương pháp RK tương thích có cấp hội tụ p Để tìm hiểu miền ÔĐTĐ phương pháp RK hiện, ta nhớ lại miền ÔĐTĐ phương pháp xác định giá trị z = hn λ, cho |yn | ≤ |yn−1 | áp dụng phương pháp cho phương trình thử y0 = λy Ta thu công thức h T yn = R(z)yn−1 = + zb ( I − zA) −1 i y n −1 , (1.2.9) = (1, 1, 1) T Như vậy, hàm ổn định phương pháp RK tổng quát R(z) = + zb T ( I − zA)−1 miền ÔĐTĐ phương pháp RK S = {z = hn λ ∈ C : | R(z)| ≤ 1} 20 1.3 Đánh giá sai số lựa chọn bước phương pháp nhúng Một số PTVPT có nghiệm mà thay đổi cách nhanh chóng khoảng thời gian lại thay đổi cách chậm chạp khoảng thời gian khác Do đó, khơng thể sử dụng bước h phương pháp RK số, thay vào nên sử dụng h nhỏ mà nghiệm thay đổi nhanh chóng theo thời gian Một phương pháp số mà tự động lựa chọn bước lưới bước phương pháp thích nghi Một lớp phương pháp thích nghi cho việc giải PTVPT phương pháp nhúng RK 1.3.1 Ý tưởng phương pháp nhúng RK Trong phần này, tìm hiểu số cách để ước lượng sai số điều chỉnh bước lưới h = hn = tn − tn−1 Cho thành phần j y, (1 ≤ j ≤ m), ta sử dụng sai số tương đối (RTOL) sai số tuyệt đối (ATOL j ) Chúng ta muốn chọn h cho j, (1 ≤ j ≤ m), |(l j )n | ≤ f rac[ ATOL j + |(y j )n | RTOL], frac hệ số an toàn (frac=0.8 0.9) Để cho thuận tiện tránh rắc rối cho phương pháp RK người ta sử dụng sai số địa phương l j , ≤ j ≤ m Ý tưởng phương pháp nhúng tính hai nghiệm xấp xỉ yn yˆ n tn , cho yˆ n − yn ước lượng sai số địa phương hai nghiệm xấp xỉ Chúng ta kiểm tra bất đẳng thức |yˆ n − yn | ≤ TOL Nếu bất đẳng thức khơng thỏa mãn bước lưới h bị loại bước lưới khác h˜ lựa chọn thay Nếu phương pháp cho việc tìm yn có cấp xác p ln (h˜ ) ≈ ch˜ p+1 Vì vậy, chọn h˜ thỏa mãn  ˜  p +1 h |yˆn − yn | ≈ f racTOL, h (1.3.1) lặp lại trình bước lưới chấp nhận tìm thấy Nếu bước lưới chấp nhận từ cơng thức sử dụng để đoán bước lưới lớn hn+1 = h˜ cho bước 21 1.3.2 Phương pháp nhúng RK Từ ý tưởng phương pháp cần hai nghiệm xấp xỉ yn yˆ n tn cho toán y0 = f (t, y) Một cặp phương pháp RK có cấp p p + làm tốt việc Chìa khóa phương pháp nhúng với cặp phương pháp RK chung tính tốn nấc Như vậy, xuất phát từ công thức s nấc có cấp p + cho có cơng thức khác với cấp p nhúng Chúng ta sử dụng kí hiệu kết hợp cho phương pháp nhúng: c A bT bˆ T • Ví dụ đơn giản phương pháp Euler nhúng phương pháp hình thang: 0 1 0 2 • Phương pháp nhúng Fehlberg 4(5) có nấc sử dụng phương pháp RK cấp nhúng phương pháp RK cấp Phương pháp nhúng Fehlberg 4(5) có hệ số sai số nghiệm yn có cấp xác nhỏ • Phương pháp nhúng Dormand-Prince có nấc sử dụng phương pháp RK cấp nhúng phương pháp RK cấp Phương pháp nhúng Dormand-Prince 4(5) có hệ số sai số nghiệm yˆn có cấp xác nhỏ Trong thực bước tính ta thường chọn nghiệm có giá trị xác cao thay cho yn−1 Hơn nữa, ta thấy hệ số b T trùng với hệ số nấc thứ 7, phương pháp nhúng DormandPrince thực chất ta thực có phương pháp RK có nấc Vì vậy, phương pháp nhúng Dormand-Prince có độ xác tốt phương pháp nhúng Fehlberg 22 Hình 1.1: Cặp Fehlberg 4(5) Hình 1.2: Cặp Dormand-Prince 4(5) Dựa vào ý tưởng bảng kết hợp phương pháp nhúng RK ta có thuật tốn: Thuật tốn 1.3.1 Chúng ta giải phương trình y0 = f (t, y) đoạn [t0 , t f ], với sai số cho trước TOL điều kiện ban đầu y(t0 ) = y0 Với yn−1 biết, bước lưới h = h0 cho, biến đếm k = 1, ta tính yn yˆ n Ta so sánh, |yˆ n − yn | ≤ TOL, • Ta chấp nhận bước h, 23 • Ta tính lại yn yˆ n với yn−1 bước thứ biết thay nghiệm phương pháp RK có cấp xác cao yˆ n , • Tăng giá trị k, (k → k + 1) t = t + h, • Nếu t + h > t f h = t f − t Nếu bất đẳng thức |yˆ n − yn | ≤ TOL khơng thỏa mãn bước h bị thay bước h˜ = h  f racTOL |yˆn − yn |  p +1 Tiếp tục q trình giống bước tính dừng lại Khi đó, in kết nghiệm xác, sai số hai nghiệm xấp xỉ, sai số thực tế nghiệm số nghiệm xác, vẽ đồ thị nghiệm xác so với đồ thị nghiệm số, v.v 24 Chương Phương pháp Runge-Kutta nửa giải phương trình vi phân đại số Trong chương này, tơi trình bày chi tiết phương pháp Runge-Kutta nửa cho trường hợp: PTVPĐS dạng nửa hiện, PTVPĐS khơng có tính lạ, PTVPĐS khơng có tính lạ có cấu trúc Các kết chương dựa vào [7], [8] 2.1 Trường hợp phương trình vi phân đại số dạng nửa số Các phương pháp số cho PTVPĐS dạng nửa số nghiên cứu phát triển năm cuối thể kỉ 20 Hướng nghiên cứu tự nhiên cách mở rộng phương pháp số PTVPT cho PTVPĐS Trong phần này, trình bày việc rời rạc hóa tốn PTVPĐS dạng nửa số phương pháp RK Các PTVPĐS dạng nửa số PTVPĐS đơn giản có dạng y0 (t) = F (t, y(t), z(t)), (2.1.1) = G (t, y(t), z(t)), đoạn I = [t0 , T ] Giá trị ban đầu G (t0 , y0 , z0 ) tương thích Giả sử, hàm F : I × Rm1 × Rm2 → Rm1 G : I × Rm1 × Rm2 → Rm2 hàm đủ trơn Hơn nữa, ta giả sử ma trận Jacobi Gz (t, y(t), z(t)), 25 (2.1.2) không suy biến lân cận nghiệm xác Để xây dựng nghiệm số, ta lấy lưới t0 < t1 < t N Để cho đơn giản, ta xét lưới với bước lưới h Tất kết áp dụng cho bước lưới mà ta áp dụng cho bước thay đổi h Giả sử, hệ số phương pháp RK s nấc có cấp p cho bảng Butcher c A bT với b = [b1 b1 bs ] T , A = [ aij ]s×s , c = [ c1 c1 c s ] T Chúng ta sử dụng phương pháp RK ban đầu phương pháp rời rạc hóa phương pháp nửa Trên đoạn [tn , tn+1 ], giả sử có xấp xỉ yn ≈ y(tn ), zn ≈ z(tn ) Đặt Yi ≈ y(tn + ci h), Zi ≈ z(tn + ci h) xấp xỉ điểm nấc Lược đồ RK s nấc cho PTVPĐS (2.1.1) viết dạng s Yi = yn + h ∑ aij F ( Tj , Yj , Zj ), j =1 = G ( Ti , Yi , Zi ) i = 1, 2, s, s (2.1.3) yn+1 = yn + h ∑ bi F ( Ti , Yi , Zi ), i =1 = G ( t n +1 , y n +1 , z n +1 ), Ti = tn + ci h, h = tn+1 − tn Điều kiện (2.1.2) , theo định lý hàm ẩn, từ phương trình thứ hai (2.1.1) ta giải z = φ(t, y) lân cận nghiệm Như vậy, (2.1.1) trở thành y0 (t) = H (t, y), (2.1.4) H (t, y) = F (t, y, φ(t, y)) Giải Zi từ phương trình thứ (2.1.3) vào phương trình thứ thứ ba (2.1.3) ta thu sơ đồ RK cho (2.1.3) có dạng s Yi = yn + h ∑ aij F ( Tj , Yj , φ( Tj , Yj )), j =1 (2.1.5) s yn+1 = yn + h ∑ bi F ( Ti , Yi , φ( Ti , Yi )), i =1 26 ta xác định zn+1 = φ(tn+1 , yn+1 ) từ phương trình thứ (2.1.3) Chúng ta thành phần nghiệm số y (2.1.3) giống nghiệm số phương pháp RK áp dụng cho PTVPT (2.1.4) Do đó, có kết hội tụ sau cho sơ đồ RK (2.1.3) Định lý 2.1.1 Giả sử (2.1.2) thỏa mãn lân cận nghiệm (y(t), z(t)) (2.1.1) giá trị ban đầu tương thích Cho 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(h p ), kzn − z(tn )k = O(h p ), 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 ta có phương pháp RK dạng nửa hiện, việc thực cài đặt cho (2.1.3) đơn giản Chúng ta xác định giá trị nấc Yi giải phương trình đại số cho Zi với i = 1, 2, s Sau đó, tính yn+1 giải phương trình đại số cho zn+1 Các phương trình đại số giải cách hiệu 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, đưa dạng PTVPĐS khơng có tính lạ sau giới thiệu phương pháp RK nửa cho việc giải số Để tiện theo dõi, ta nhắc lại công thức PTVPĐS dạng: f (t, x (t), x (t)) = (2.2.1) g(t, x (t)) = 0, đoạn I = [t0 , t f ], với điều kiện ban đầu x (t0 ) = x0 Giả sử f = f (t, x, x ) : I × Rn × Rn → Rd g = g(t, x ) : I × Rn → Ra , n = d + a, hàm đủ trơn có đạo hàm riêng bị chặn Hơn nữa, ta giả sử (2.2.1) PTVPĐS khơng có tính lạ, nghĩa ma trận Jacobi   f x0 (t, x (t), x (t)) gx (t, x (t)) không suy biến dọc theo nghiệm x (t) 27 (2.2.2) 2.2.1 Phân tích tốn Trong phần này, để nghiên cứu giải tích phương pháp số, giả sử BTGTBĐ (2.2.1) có nghiệm x ∗ (t) đủ trơn có đạo hàm riêng bị chặn I Hơn nữa, f g giả sử đủ trơn với đạo hàm riêng bị chặn lân cận nghiệm x ∗ (t), t ∈ I Theo mục đích giải tích, giả sử thành phần x (2.2.1) xếp lại phân hoạch thành x = [ x1T , x2T ] T , x1 : I → Rd , x2 : I → Ra , ma trận Jacobi gx2 g ứng với biến x2 (hoặc f x0 g ứng với biến x10 ) khả nghịch lân cận nghiệm Nếu gx2 khơng suy biến (2.2.1) biến đổi thành dạng, xem ([5]) x10 = 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ó số G (t, x, x ) = 0, t ∈ I (2.2.4) Theo trình biến đổi [mục 4.1, [5]], phương trình (2.2.4) thu gọn thành PTVPĐS có số lạ dạng   G1 (t, x, x ) G (t, x, x ) = = G2 (t, x ) Như vậy, PTVPĐS khơng có tính lạ dạng (2.2.1) có số vi phân Tuyến tính hóa (2.2.1) theo nghiệm xác x ∗ ta thu PTVPĐS tuyến tính với hệ số hàm số, xem (Mục 5.1, [5])         ∗ , x∗ ) ∗ ∗0 A1 ( t ) f ( t, x E ( t ) f ( t, x , x ) x x E(t) = = , A(t) = = 0 A2 ( t ) gx (t, x ∗ ) (2.2.5) Ta sử dụng tính tuyến tính việc nghiên cứu tính giải tích phương pháp RK nửa hiện: tính tương thích, ổn định hội tụ PTVPĐS dạng (2.2.1) tổng quát PTVPĐS dạng nửa số 1, trường hợp đặc biệt f x0 = Id f x0 = 0, x20 liên quan đến ràng buộc đại số Tuy nhiên, ràng buộc đại số cho dạng 28 khai thác xây dựng phương pháp số cho (2.2.1) Hơn nữa, có mối quan hệ PTVPĐS (2.2.1) PTVPĐS dạng nửa số Giả sử, thành phần x xếp lại phân hoạch f x0 không suy biến, đặt y1 = x1 , x2 = y2 , z = x20 PT (2.2.1) trở thành = φ(t, y(t), z(t), y0 (t)), (2.2.6) = γ(t, y(t)),  φ(t, y(t), z(t), y (t)) = f (t, y1 (t), y2 (t), y10 (t), z(t)) y20 (t) − z(t)  γ(t, y(t)) = g(t, y(t)) , Tính đạo hàm φ theo y0  φy0 = f y0 f y0 Id  , theo giả thiết f x0 = f y0 ma trận không suy biến nên φy0 ma trận không suy 1 biến Theo định lý hàm ẩn, tồn hàm ϕ cho (2.2.6) viết lại dạng y0 (t) = ϕ(t, y(t), z(t)), (2.2.7) = γ(t, y(t)) Mặt khác, ta lại có ma trận γy (φy0 ) −1 φz (t, y(t), z(t), y (t)) = [  ( f x ) −1 = [ g x1 g x2 ]  f x0 Theo giả thiết (2.2.2), ma trận g x1 biến, từ lý thuyết đại số tuyến tính ta suy biến Do đó,     f x 0 −1 f y0 − Id Id  = gx1 f x−0 f x0 − gx2 g x1 g x2 ]  f x0 2 − Id Id  f x0 không suy biến f x0 không suy g x2 , suy gx2 − gx1 f x−0 f x0 ma trận không γy (φy0 )−1 φz (t, y(t), z(t), y0 (t)) = [γy ϕz ](t, y(t), z(t), y0 (t)) ma trận không suy biến Như vậy, phương trình (2.2.7) PTVPĐS dạng nửa có số Phương pháp số cho PTVPĐS số nhỏ 2, bao gồm dạng nửa hiện, đặc biệt PTVPĐS khơng có tính lạ dạng (2.2.1) lớp phương pháp 29 ẩn phương pháp trùng khớp RK phương pháp BDF, có hội tụ cấp xác giống PTVPT Trong phần này, tơi trình bày phương pháp RK nửa (HERK) để giải PT (2.2.1) xuất phát từ phương pháp số giải lớp đặc biệt PTVPĐS ma trận nửa tuyến tính có dạng E1 (t) X (t) = F (t, X (t)), (2.2.8) = A2 ( t ) X ( t ), E1 : I → Rd×n , A2 : I → Ra×n ma trận hàm liên tục X : I → Rn×l (1 ≤ l ≤ d) F : I × Rn×l → Rd×l ma trận hàm khơng tuyến   tính Việc giải số PTVPĐS dạng (2.2.8) với ma trận E¯ (t) = E1 (t) T A2 (t) T không suy biến, phát sinh q trình phân tích ổn định PTVPĐS qua việc xấp xỉ số mũ Lyapunov khoảng phổ Sacker-Sell Các tốn lấy khoảng tích phân I dài nên ta sử dụng phương pháp nửa mang lại hiệu tốt 2.2.2 Phương pháp Runge-Kutta nửa Xét phương pháp RK s nấc cho bảng với c1 = 0 ··· 0 c2 a2,1 · · · ··· ··· ··· ··· ··· cs as,1 as,2 · · · b1 b2 · · · bs Chúng ta giả sử ai+1,i 6= với i = 1, 2, , s − bs = Xét đoạn [tn−1 , tn ] giả sử ta có xấp xỉ xn−1 ≈ x (tn−1 ) Đặt Ui ≈ x (tn−1 + ci h) xấp xỉ nghiệm nấc thứ i Ki ≈ Ui0 xấp xỉ đạo hàm Ui , i = 1, , s Như vậy, sơ đồ RK cho bảng viết ( a) U1 = xn−1 , i −1 (b) Ui = xn−1 + h ∑ ai,j K j , j =1 s ( c ) x n = x n − + h ∑ bi K i i =1 30 i = 1, 2, , s, (2.2.9) Chúng ta đề xuất phương pháp RK nửa (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 + xấp xỉ cho Ui+1 giải từ hệ phương trình đại số tn−1 + ci h, Ui , " Ui+1 − xn−1 i−1 − ∑ ai+1,j K j h j =1 ( a) f (b) g(tn−1 + ci+1 h, Ui+1 ) = 0, ai+1,i #! = 0, i = 1, 2, s − Cuối cùng, nghiệm số xn thời điểm tn xác định hệ #! " x n − x n −1 s −1 ( a) f tn−1 + cs h, Us , − ∑ bi K i = 0, bs h i =1 (b) (2.2.10) (2.2.11) g(tn , xn ) = Từ phương trình thứ (2.2.9), ta có " # i −1 U2 − xn−1 Ui+1 − xn−1 K1 = , Ki = − ∑ ai+1,j K j , ha2,1 ai+1,i h j =1 i = 2, 3, s − 1, (2.2.12) Ks = bs " # x n − x n −1 s −1 − ∑ bi K i h i =1 (2.2.13) Áp dụng phương pháp 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ạng ma trận # " " # h i (i ) (i ) (i ) i −1 E1 (tn−1 ) , U ) E ( t ) x + h a K + F ( t ∑ j=1 i+1,j j n −1 n −1 i i +1,i n −1 , Ui+1 = ( i +1) A ( t n −1 ) với i = 1, · · · , s − " # h i   (s) (s) (s) s −1 E1 (tn−1 ) x = E1 (tn−1 ) xn−1 + h ∑i=1 bi Ki + hbs F (tn−1 , Us ) , n A2 ( t n ) (i ) tn−1 = tn−1 + ci h, i = 1, · · · , s Bây giờ, phương pháp HERK (2.2.10)-(2.2.11) phương pháp HERK áp dụng cho PTVPĐS nửa số dạng (2.2.7) Giả sử, f x0 ma trận không suy biến đặt Ui = T, (Ui,1 31 T )T , Ui,2 Ki = T , (Ki,1 T )T Ki,2 tương ứng với xếp phân hoạch x = [ x1T , x2T ] T Hơn nữa, ta giả sử có xấp xỉ yn−1 ≈ y(tn−1 ) (2.2.7) giống xn−1 Với biến Yi = Ui Zi = Ki,2 , ta có Y1 = U1 = xn−1 = yn−1 Xét hệ (2.2.10) với i = cho nấc U2 viết lại với việc sử dụng biến sau: f (tn−1 , Y1,1 , Y1,2 , K1,1 , Z1 ) = 0, K1,2 − Z1 = 0, g(tn−1 + c2 h, Y2 ) = Theo định nghĩa hàm ϕ γ (2.2.7), có hệ K1 = ϕ(tn−1 , Y1 , Z1 ), = γ(tn−1 + c2 h, Y2 ), tương đương với (2.2.12) Y2 = yn−1 + ha2,1 ϕ(tn−1 , Y1 , Z1 ), = γ(tn−1 + c2 h, Y2 ) Tương tự vậy, hệ (2.2.10) với i = cho U3 viết lại f (tn−1 + c2 h, Y2,1 , Y2,2 , K2,1 , Z2 ) = 0, K2,2 − Z2 = 0, g(tn−1 + c3 h, Y3 ) = 0, thu gọn K2 = ϕ(tn−1 + c2 h, Y2 , Z2 ), = γ(tn−1 + c3 h, Y3 ) Sử dụng định nghĩa K2 (2.2.12) thay giá trị K1 = ϕ(tn−1 , Y1 , Z1 ), ta Y3 = yn−1 + h ( a3,1 ϕ(tn−1 , Y1 , Z1 ) + a3,2 ϕ(tn−1 , Y2 , Z2 )) , = γ(tn−1 + c3 h, Y3 ) Theo quy nạp, ta có i ( a) Yi+1 = yn−1 + h ∑ ai+1,j ϕ(tn−1 , Yj , Zj ), j =1 ( i +1) (b) = γ(tn−1 , Yi+1 ), 32 ( j) (2.2.14) với i = 1, · · · , s − Cuối cùng, nghiệm số yn bước t = tn giải hệ s ( a) yn = yn−1 + h ∑ bi ϕ(tin−1 , Yi , Zi ), i =1 (2.2.15) ( b ) = γ ( t n , y n ) Sơ đồ (2.2.14)-(2.2.15) có cấp xác p ≤ 2, điều kiện cấp xác giống trường hợp PTVPT Ta có kết hội tụ phương pháp Euler nửa phương pháp RK nửa nấc Định lý 2.2.1 Giả sử phương pháp RK cho bảng Butcher phần đầu với s = thỏa mãn c2 = a21 , b1 + b2 = 1, c2 b2 = (2.2.16) Nếu điều kiện ban đầu x0 tương thích, phương pháp HERK (2.2.10)-(2.2.11) cho PTVPĐS (2.2.1) hội tụ với cấp xác Chứng minh Như sơ đồ (2.2.10)-(2.2.11) tương đương với phương pháp HERK (2.2.14)-(2.2.15) Từ điều kiện (2.2.16) cấp xác cho p = 2, kết thu trực tiếp từ ([4], Theorem 3) Chú ý: PTVPĐS khơng có tính lạ (2.2.1) biểu diễn dạng PTVPĐS nửa số (2.2.7) qua phép đổi biến số Như vậy, sử dụng phương pháp Runge-Kutta nửa ban đầu có cấp xác p > 2, xảy tượng giảm cấp xác Để thấy tượng giảm cấp xác, ta xem phần thử nghiệm số [7] Nhận xét 2.2.1 Phương pháp RK nửa cho tốn (2.2.1) xem tổng quát hóa phương pháp RK nửa cho PTVPĐS số Tuy nhiên, việc cài đặt kết hội tụ lại khác biệt Đối với PTVPĐS nửa hiện, không phần vi phân phần đại số tách biệt mà đạo hàm thành phần vi phân cho dạng hiện, không giống trường hợp (2.2.1) Các thành phần vi phân nấc tính trước thành phần đại số tính cách giải hệ phường trình đại số Ở đây, việc xấp xỉ tất nấc phải thực việc 33 giải hệ phương trình đại số lớn Thực sự, trường hợp dạng nửa hiện, ta có ∂f ∂x = E1 = [ I 0], ma trận Jacobi (2.2.10) có dạng đặc biệt ma trận tam giác khối với ma trận đơn vị khối bên trái Với cấu trúc đặc biệt làm cho việc sử dụng phương pháp RK nửa đơn giản áp dụng cho PTVPĐS nửa số 2.3 Trường hợp phương trình vi phân đại số khơng có tính lạ có cấu trúc Xét BTGTBĐ cho PTVPĐS phi tuyến có cấu trúc dạng f (t, x (t), E(t) x (t)) = 0, (2.3.1) g(t, x (t)) = 0, đoạn I = [t0 , T ] ∈ R, x ∈ C1 (I; Rm ), E ∈ C1 (I; Rm1 , m ) điều kiện ban đầu x (t0 ) = x0 tương thích Chúng ta giả sử hàm f = f (t, u, v) : I × Rm × Rm1 → Rm1 g = g(t, u) : I × Rm → Rm2 , m1 + m2 = m, hàm đủ trơn với đạo hàm riêng bị chặn Hơn nữa, giả sử tồn nghiệm cho BTGTBĐ (2.3.1) i h fv E ma trận không suy biến dọc theo nghiệm xác x(t) g u (2.3.2) Ở đây, f v gu kí hiệu ma trận Jacobi f ứng với v g ứng với u PTVPĐS (2.3.1) trường hợp đặc biệt PTVPĐS (2.2.1) Như chương 2, PTVPĐS (2.2.1) biến đổi thành dạng PTVPT nửa số cách xếp phân hoạch lại biến Điều giải thích phương pháp HERK chuẩn áp dụng trực tiếp tới (2.2.1) xảy tượng giảm cấp xác với phương pháp RK có cấp xác lớn Ý tưởng chương biến đổi PTVPĐS (2.3.1) dạng (2.3.3) f (t, x (t), ( Ex )0 (t) − E0 (t) x (t)) = 0, (2.3.3) g(t, x (t)) = 0, sau rời rạc hóa phương pháp RK giống trường hợp PTVPĐS nửa số Như vậy, tất kết hội tụ ổn định phương pháp RK cho PTVPT bảo tồn 34 2.3.1 Phân tích cấu trúc tốn Chúng ta phân tích cấu trúc toán để xây dựng phương pháp số nhằm mục đích bảo tồn cấp xác tính chất ổn định trường hợp PTVPT Việc biến đổi chương giúp nghiên cứu tính giải tích phương pháp số cần áp dụng Theo cấu trúc đặc biệt, PTVPĐS (2.3.1) viết lại dạng (2.3.3) đoạn I = [t0 , T ] Bổ đề 2.3.1 Xét PTVPĐS (2.3.1) với điều kiện (2.3.2) thỏa mãn Khi đó, ta có i E(t) có hạng đủ tồn hàm ma trận khả nghịch Q ∈ C1 (I, Rm, m ) cho E(t) Q = [ Im1 0] i E không suy biến, Q = [ Q(1) ii Các ma trận f v , gu g u Q(1) ∈ C1 (I, Rm1 , m ), Q(2) ∈ C1 (I, Rm2 , m ) h Q (2) Q(2) ] với Chứng minh Từ giả thiết hàm f , g đủ trơn có đạo hàm riêng bị chặn thỏa mãn điều kiện (2.3.2), suy E(t) hàm ma trận có cỡ m1 × m, (m1 ≤ m) có hạng đủ, nghĩa rank ( E(t)) = m1 , ∀t ∈ I Theo tồn phân tích QR trơn, tồn hàm ma trận trực giao theo điểm Q˜ cho Q˜ T Q˜ = Im , E Q˜ = [ E11 0], E11 ma trận tam giác khả nghịch cỡ m1 × m1 Ta định nghĩa hàm ma trận   −1 E ˜ 11 Q=Q Im2 (2.3.4) Trong Im2 ma trận đơn vị cỡ m2 × m2 Bằng việc thực phép nhân ma trận, ta suy EQ = [ Im 0] Từ giả thiết ma trận Q điều kiện (2.3.2), suy      h i fv f v [ Im 0] f v EQ fv E = = ( ) ( ) gu Q = gu Q g u Q (1) gu [ Q Q ] 35 g u Q (2)  , không suy biến dọc theo nghiệm x (t) Trong Q = [ Q(1) Q(2) ] với Q(1) ∈ C1 (I, Rm1 , m ), Q(2) ∈ C1 (I, Rm2 , m ) Từ đây, suy f v gu Q(2) ma trận khơng suy biến Hơn nữa, ta lại có Từ suy ma trận  h f v−1 0 Im2 h E gu i = h E gu i không suy biến fv E gu i Sử dụng phép đổi biến x = Qy, y phân hoạch thành y = [y1T , y2T ] T , y1 ∈ C1 (I, Rm1 ), y2 ∈ C1 (I, Rm2 ) Ta có ( Ex )0 (t) = ( EQy)0 (t) = ([ Im1 0] y ) ( t ) = y1 ( t ) Như vậy, PTVPĐS (2.3.1) viết lại thành f (t, Qy, y10 − E Qy) = 0, (2.3.5) g(t, Qy) = Từ f v ma trận không suy biến, theo định lý hàm ẩn, tồn hàm số f˜ cho phương trình (2.3.5) rút y10 − E Qy = f˜(t, Qy) Ta định 0 nghĩa hàm F (t, y1 , y2 , y1 ) = f˜(t, Qy) + E Qy G (t, y1 , y2 ) = g(t, Qy) Như vậy, PTVPĐS (2.3.5) trở thành y10 = F (t, y1 , y2 ), (2.3.6) = G (t, y1 , y2 ), ma trận Jacobi Gy2 = gu Q(2) ma trận không suy biến PTVPĐS (2.3.6) dạng PTVPĐS nửa số Như vậy, PTVPĐS (2.3.1) giải cách hiệu phương pháp RK sau biến đổi dạng (2.3.6) Tuy nhiên, việc nhận phép biến đổi thực tính tốn khơng thể Chúng ta áp dụng sơ đồ RK trực tiếp tới dạng biến đổi (2.3.5) sau chứng minh phép rời rạc phép biến đổi giao hốn với Điều có nghĩa áp dụng phương pháp RK tới dạng biến đổi 36 0 (2.3.6) Phép thay đơn giản Ex = ( Ex ) − E x ta thu PTVPĐS khơng có tính lạ có nghiệm tương đương với PTVPĐS nửa số Do đó, phương pháp RK áp dụng cho dạng (2.3.5) có cấp xác tính chất ổn định áp dụng cho PTVPĐS nửa số Đây chìa khóa quan trọng cho xây dựng phương pháp số phần 2.3.2 Sự phụ thuộc nghiệm vào liệu Sau phân tích phụ thuộc nghiệm vào liệu cho PTVPĐS tuyến tính dạng (2.3.1) khác biệt hồn tồn xét dạng biến đổi (2.3.3) thay cho (2.3.1) a) Xét PTVPĐS dạng tuyến tính E11 (t) x10 (t) + E12 (t) x20 (t) = A11 (t) x1 (t) + A12 (t) x2 (t) + q1 (t), (2.3.7) = A21 (t) x1 (t) + A22 (t) x2 (t) + q2 (t), Eij , Aij ∈ C (I, Rmi , m j ), qi ∈ C (I, Rmi ), i, j = 1, 2, m1 + m2 = m Điều kiện khơng có tính lạ (2.3.2) cho ta ma trận h E11 E12 A21 A22 i không suy biến với t ∈ I (2.3.8) Bằng cách xếp lại biến cách hợp lí, ta giả sử ma trận A22 khơng suy biến Từ phương trình thứ (2.3.7), ta có −1 −1 x2 = − A22 A21 x1 − A22 q2 (2.3.9) Lấy đạo hàm hai vế phương trình (2.3.9), ta thu 0 −1 −1 −1 x20 = − A22 A21 x10 − ( A22 A21 ) x1 − ( A22 q2 ) Thay (2.3.9), (2.3.10) vào phương trình (2.3.7) dẫn đến E¯ 11 x10 = A¯ 11 x1 + q¯1 , 37 (2.3.10) −1 E¯ 11 = E11 − E12 A22 A21 , −1 −1 A¯ 11 = A11 + E12 ( A22 A21 ) − A12 A22 A21 , −1 −1 q¯1 = q1 − A12 A22 q2 + E12 ( A22 q2 ) Theo (2.3.8) kết hợp với giả thiết A22 ma trận không suy biến, dựa vào lý −1 thuyết đại số tuyến tính ta có E¯ 11 = E11 − E12 A22 A21 ma trận khơng suy biến Từ đó, thu PTVPT x10 = B1 x1 + r1 (2.3.11) Ở đây, B1 r1 định nghĩa sau: −1 ¯ B1 = E¯ 11 A11 ,   −1 −1 −1 −1 ¯ ¯ r1 = E11 q¯1 = E11 q1 − A12 A22 q2 + E12 ( A22 q2 ) Theo cách phân tích này, phương trình thu dường cho −1 thấy nghiệm x phụ thuộc vào đạo hàm A22 q2 Tuy nhiên, điều không theo cách phân tích bên b) Bây giờ, xét PTVPĐS tuyến tính dạng biến đổi 0 ( E1 x ) (t) = ( A1 (t) + E1 (t)) x (t) + q1 (t), = A2 ( t ) x ( t ) + q2 ( t ) với t ∈ I, x = [ x1T , x2T ] T , E1 = [ E11 A2 = [ A21 E12 ], A1 = [ A11 A12 ], A22 ] Theo cách biến đổi giới thiệu x (t) = Q(t)y(t) = Q(t)[y1T , y2T ] T với Q định nghĩa (2.3.4), đến hệ y10 (t) = A˜ 11 (t)y1 (t) + A˜ 12 (t)y2 (t) + q1 (t), = A˜ 21 (t)y1 (t) + A˜ 22 (t)y2 (t) + q2 (t), [ A˜ 11 A˜ 12 ] = ( A1 + E1 ) Q, [ A˜ 21 (2.3.12) A˜ 22 ] = A2 Q Từ điều kiện (2.3.8) suy ma trận A˜ 22 khơng suy biến Như vậy, từ phương trình thứ hai (2.3.12) dẫn đến −1 ˜ −1 y2 = − A˜ 22 A21 y1 − A˜ 22 q2 38 (2.3.13) Thế (2.3.13) vào phương trình thứ (2.3.12) thu PTVPT −1 ˜ −1 q2 y10 = ( A˜ 11 − A˜ 12 A˜ 22 A21 )y1 + q1 − A˜ 12 A˜ 22 Rõ ràng y x = Qy không phụ thuộc vào đạo hàm biểu diễn có chứa q2 Việc so sánh cho ta thấy hợp lí xét dạng biến đổi (2.3.3) thay cho (2.3.1) 2.3.3 Rời rạc hóa phương pháp Runge-Kutta nửa Chúng ta trình bày phương pháp HERK cho PTVPĐS dạng biến đổi (2.3.3) Chúng ta lấy phương pháp RK có s nấc, với ma trận hệ số A = [ aij ] ma trận tam giác chặt Xét đoạn [tn , tn+1 ], bước lưới h = tn+1 − tn , giả sử xấp xỉ xn ≈ x (tn ) cho Đặt Ti = tn + ci h xấp xỉ nấc Ui ≈ x ( Ti ), Ki ≈ ( Ex ) ( Ti ), i = 1, 2, , s Chúng ta giả sử 0 thêm giá trị hàm Ei = E( Ti ), Ei = E ( Ti ) xác định Sơ đồ HERK s nấc cho PTVPĐS (2.3.3) viết (2.3.14a) U1 = xn , i −1 Ei Ui = E(tn )U1 + h ∑ aij K j , (2.3.14b) j =1 0 = f ( Ti−1 , Ui−1 , Ki−1 − Ei−1 Ui−1 ), (2.3.14c) = g( Ti , Ui ), (2.3.14d) i = 2, 3, , s, s Etn+1 xn+1 = E(tn )U1 + h ∑ bi Ki , (2.3.14e) i =1 0 = f ( Ts , Us , Ks − Es Us ), (2.3.14f) = g ( t n +1 , x n +1 ) (2.3.14g) Để xác định tính khả thi sơ đồ HERK, xét hệ phi tuyến (2.3.14b), (2.3.14c), (2.3.14d) kí hiệu Hi (Ui , Ki−1 ) = nấc thứ i, giả sử giá trị trước Uj K j−1 , ≤ j ≤ i − xác định chúng xấp xỉ giá trị 39 xác với độ xác O(h) Ta có   " # a hI m E i,i −1 i ∂ Hi ∂ Hi 0 , = =  f v ( Ti−1 , Ui−1 , Ki−1 − Ei−1 Ui−1 )  ∂Ui ∂Ki−1 gu ( Ti , Ui ) Xét lân cận nghiệm xác x đạo hàm Ex định nghĩa Ω(h) = {[UiT KiT−1 ] T ∈ Rm+m1 , kUi − x ( Ti )k ≤ Ch, kKi−1 − ( Ex ) ( Ti−1 )k ≤ Ch} với số dương C Theo giả thiết (2.3.2) bổ đề (2.3.1) ta có ma h i E trận f v g không suy biến dọc theo nghiệm xác Từ suy ma u trận Jacobi Hi nghịch đảo bị chặn với h đủ nhỏ miền Ω(h) Nghiệm xác thỏa mãn Hi ( x ( Ti ), ( Ex ) ( Ti−1 )) = O(h) Theo định lý hàm ẩn, hệ cho (2.3.14b), (2.3.14c), (2.3.14d) có nghiệm địa phương (Ui∗ , Ki∗−1 ) thỏa mãn kUi∗ − x ( Ti )k = O(h), kKi∗−1 − ( Ex ) ( Ti−1 )k = O(h) Một cách tương tự, hệ cho (2.3.14e), (2.3.14f), (2.3.14g) có nghiệm địa phương ( xn∗ +1 , Ks∗ ) thỏa mãn k xn∗ +1 − x (tn+1 )k = O(h), kKs∗ − ( Ex ) ( Ts )k = O(h) Các hệ phi tuyến giải cách xấp xỉ phương pháp lặp Newton Nếu giả sử thêm ai,i−1 6= 0, với i = 2, , s, bs 6= 0, chi phí tính tốn cho hệ (2.3.14b)-(2.3.14g) giảm cách giải cho Ki , i = 1, 2, , s thu hệ phi tuyến có kích thước nhỏ Từ hệ 40 (2.3.14b)-(2.3.14g) dẫn đến K1 = Ki −1 = E2 U2 − E(tn )U1 , ha21 ai,i−1 Ks = bs (2.3.15a) Ei Ui − E(tn )U1 i−2 − ∑ ai,j K j h j =1 ! (2.3.15b) , i = 3, , s, E(tn+1 ) xn+1 − E(tn )U1 s−1 − ∑ bi K i h i =1 ! (2.3.15c) Tại nấc thứ i (i = 2, , s), xấp xỉ Ui xác định từ hệ phi tuyến Fi (Ui ) = cho = hf Ti−1 , Ui−1 , ai,i−1 Ei Ui − E(tn )U1 i−2 − ∑ ai,j K j h j =1 ! ! − Ei−1 Ui−1 , = g( Ti , Ui ) (2.3.16) Ở đây, giả sử U1 , U2 , , Ui−1 , K1 , K2 , , Ki−2 xác định đủ gần tới giá trị xác Ma trận Jacobi Fi tương ứng với Ui   ∂ Fi f v ( Ti−1 , Ui−1 , Ki−1 − Ei−1 Ui−1 ) Ei , a i,i −1 = (2.3.17) ∂Ui gu ( Ti , Ui ) Theo giả thiết ta thấy ma trận Jacobi ∂ Fi ∂Ui ma trận không suy biến Cho h đủ nhỏ, hệ (2.3.16) có nghiệm địa phương Ui∗ , nghiệm xấp xỉ phương pháp lặp Newton Sau xấp xỉ Ki−1 thu từ hệ (2.3.15a) (2.3.15b) Cuối cùng, nghiệm xn+1 thời gian t = tn+1 xác định hệ G( xn+1 ) = 0, viết dạng = hf Ts , Us , bs E ( t n +1 ) x n +1 − E ( t n ) x n s −1 − ∑ bi K i h i =1 ! ! − Es Us , (2.3.18) = g ( t n +1 , x n +1 ), U1 , U2 , , Us , K1 , K2 , , Ks−1 xác định Ma trận Jacobi   U ) E(t ∂Gn f ( T , U , K − E ) , n +1 s s = bs v s s s , (2.3.19) ∂xn+1 g u ( t n +1 , x n +1 ) nghịch đảo bị chặn với h đủ nhỏ Nghiệm địa phương xn∗ +1 xấp xỉ phương pháp lặp Newton 41 Nhận xét 2.3.1 Chúng ta ý phương trình thứ (2.3.16) (2.3.18) nhân với h Nếu không áp dụng việc nhân hàng khối ma trận Jacobi (2.3.17) (2.3.19) phải nhân với 1h , điều làm tăng thêm số điều kiện ma trận Jacobi, đặc biệt bước h nhỏ Mặt khác, việc nhân với h tự nhiên từ việc giúp cân nhân tố h phương trình thứ (2.3.16) (2.3.18) làm PTVPT Như vậy, cơng thức (2.3.16) (2.3.18) tương thích với cơng thức phương pháp RK cho PTVPT Điều mà đề xuất nhân thêm h vào phương trình thứ phương trình (2.3.16) (2.3.18) 2.3.4 Sự hội tụ phương pháp Runge-Kutta nửa Chúng ta phân tích hội tụ phương pháp HERK áp dụng cho PTVPĐS dạng biến đổi (2.3.3) Để có kết hội tụ cho sơ đồ rời rạc trình bày trên, bắt đầu với bổ đề sau Bổ đề 2.3.2 Dạng thu gọn (2.3.3) tới dạng (2.3.6) rời rạc hóa phương pháp HERK giao hoán với nhau, nghĩa biểu đồ sau giao hoán: PTVPĐS(2.3.3) x (t)= Q(t)y(t) > PTVPĐS(2.3.6) HERK HERK ∨ Sơ đồ(2.3.14) xn = Q(tn )yn ∨ > Sơ đồ(2.1.3) Chứng minh Xét PTVPĐS (2.3.6) đoạn [tn , tn+1 ] Chúng ta giả sử y1,n y2,n xấp xỉ tương ứng y1 (tn ), y2 (tn ) Cho xấp xỉ nấc định nghĩa [ViT HiT ] T ≈ y( Ti ) = y(tn + ci h) = [y1T ( Ti ) y2T ( Ti )] T Sơ đồ RK (2.1.3) áp dụng cho PTVPĐS nửa số (2.3.6) viết s Vi = y1,n + h ∑ aij F ( Tj , Vj , Hj ), j =1 = G ( Ti , Vi , Hi ) i = 1, 2, s, s y1,n+1 = y1,n + h ∑ bi F ( Ti , Vi , Hi ), i =1 = G (tn+1 , y1,n+1 , y2,n+1 ) 42 (2.3.20) Đặt Pi = F ( Ti , Vi , Hi ) xấp xỉ đạo hàm y1 ( Ti ), i = 1, 2, , s Theo định nghĩa F G cho (2.3.6), ta thu hệ tương đương s Vi = y1,n + h ∑ aij Pj , j =1 0 = f ( Ti , Qi [ViT HiT ] T , Pi − Ei Qi [ViT = g( Ti , Qi [ViT HiT ] T ), HiT ] T ), i = 1, 2, , s, (2.3.21) s y1,n+1 = y1,n + h ∑ bi Pi , i =1 = g ( t n +1 , Q t n +1 y n +1 ) , Qi = Q( Ti ) Mặt khác, phương pháp RK (2.3.14) cho PTVPĐS (2.3.3) dẫn đến sơ đồ (2.3.21) cách đổi biến xn = Q(tn )yn Ta định nghĩa [ MiT NiT ] T = Qi−1 Ui Ở việc phân hoạch thực theo số chiều biến y1 y2 Theo định nghĩa ma trận Q (2.3.4), ta có Ei Ui = Ei Qi ( Qi )−1 Ui = [ I 0]( Qi )−1 Ui = [ I 0][ MiT NiT ] T = Mi Tương tự, ta có Etn xn = Etn Qtn ( Qtn )−1 xn = [ I T 0][y1,n T T y2,n ] = y1,n Như vậy, sơ đồ RK (2.3.14) viết lại thành s Mi = y1,n + h ∑ ai,j K j , j =1 0 = f ( Ti , Qi [ MiT NiT ] T , Ki − Ei Qi [ MiT = g( Ti , Qi [ MiT NiT ] T ), NiT ] T ), i = 1, 2, , s, s y1,n+1 = y1,n + h ∑ bi Ki , i =1 = g ( t n +1 , Q t n +1 y n +1 ) Rõ ràng, sơ đồ (2.3.21) (2.3.22) trùng Tiếp theo có tính hội tụ sơ đồ HERK (2.3.14) 43 (2.3.22) Định lý 2.3.1 Xét BTGTBĐ cho PTVPĐS (2.3.1) với điều kiện ban đầu tương thích, nghĩa g(t0 , x0 ) = Giả sử điều kiện (2.3.2) thỏa mãn lân cận nghiệm xác x (t) Nếu phương pháp RK có cấp xác p PTVPT sơ đồ HERK (2.3.14) áp dụng cho PTVPĐS biến đổi dạng (2.3.3) hội tụ cấp p, nghĩa k xn − x (tn )k = O(h p ) khih → (tn ∈ [t0 , T ] cố định với tn − t0 = nh) Chứng minh Theo bổ đề (2.3.2), sơ đồ (2.3.14) áp dụng cho PTVPĐS (2.3.1) dẫn tới sơ đồ (2.3.21) áp dụng cho tốn (2.3.6) Điều có nghĩa điều kiện xn = Q(tn )yn thỏa mãn Theo định lý (2.1.1) ta thu kyn − y(tn )k = O(h p ) Điều dẫn tới k xn − x (tn )k = k Q(tn )yn − Q(tn )y(tn )k ≤ k Q(tn )kkyn − y(tn )k = O(h p ) 2.3.5 Tính ổn định tuyệt đối phương pháp Runge-Kutta nửa Tiếp theo phân tích tính hội tụ, quan tâm tới tính ổn định tuyệt đối phương pháp số Đối với PTVPT, ta sử dụng phương trình thử y0 = λy, Re(λ) ≤ 0, xem ([3]) Ở đây, phân tích tính ổn định tuyệt đối sơ đồ RK (2.3.14) theo phương trình thử cho PTVPĐS, xem ([6]) Xét PTVPĐS tuyến tính h −ωt 0 i x0 =  λ ω (1 − λt) −1 + ωt  x, (2.3.23) ω λ tham số phức, x = [ x1 , x2 ] T Hệ (2.3.23) PTVPĐS tính lạ có cấu trúc dạng (2.3.1), E(t) = [1 trị ban đầu x1 (0) = 1, x2 (0) = 1, hệ (2.3.23) có nghiệm   eλt (1 + ωt) x= eλt 44 − ωt], cho giá Trong [6], khái niệm hàm ổn định Dahlquist mở rộng cho PTVPĐS việc xét hàm ổn định R(z, w) xác định cho phương trình thử PTVPĐS (2.3.23) Áp dụng phương pháp Euler nửa tới phương trình thử PTVPĐS (2.3.23), ta có E(tn ) xn+1 = E(tn ) xn + hA1 (tn ) xn , (2.3.24) = A2 ( t n ) x n , = A ( t n +1 ) x n +1 , đó, E(t) = [1 − ωt], A1 (t) = [λ ω (1 − λt)], A2 (t) = [−1 + ωt] Thực biến đổi phương trình thứ hệ trên, x1,n+1 − ωtn x2,n+1 = (1 + hλ) x1,n + [−ωtn + hω (1 − λtn )] x2,n , (2.3.25) đó, xn+1 = ( x1,n+1 , x2,n+1 ) T xn+1 = ( x1,n+1 , x2,n+1 ) T Từ phương trình thứ thứ hệ (2.3.24), ta có x1,n+1 = (1 + ωtn+1 ) x2,n+1 , (2.3.26) x1,n = (1 + ωtn ) x2,n Thế (2.3.26) vào (2.3.25), ta thu x2,n+1 (1 + hω ) = (1 + hλ + hω ) x2 ⇒ x2,n+1 = + hλ + hω x2 + hω Như vậy, hàm ổn định PTVPĐS (2.3.23) R(z, w) = 1+z+w , 1+w với z = hλ, w = hω Tiếp theo xét hàm ổn định PTVPĐS cho phương pháp HERK trình bày chương Hệ (2.3.23) biến đổi thành h ih i0 h ih i x1 x1 λ −λωt −ωt = −1 + ωt x x 0 (2.3.27) Áp dụng phương pháp Euler nửa sau số bước biến đổi ta có x1,n − ωtn x2,n = x1,n−1 − ωtn−1 x2,n−1 + hλ( x1,n−1 − ωtn−1 x2,n−1 ), (2.3.28a) (2.3.28b) x1,n = (1 + ωtn ) x2,n , (2.3.28c) x1,n−1 = (1 + ωtn−1 ) x2,n−1 45 Thay (2.3.28b) (2.3.28c) vào (2.3.28a) dẫn đến x2,n = (1 + hλ) x2,n−1 Hàm ổn định PTVPĐS R(z, w) = + z, z = hλ Chú ý hàm ổn định xác hàm ổn định phương pháp Euler áp dụng cho PTVPT Bây xác định hàm ổn định PTVPĐS R(z, w) trường hợp tổng quát Áp dụng sơ đồ (2.3.14) cho toán (2.3.23) dẫn đến s Mi = y1,n = h ∑ aij K j , (2.3.29a) Ki = λ(U1,i − ωTi U2,i ), (2.3.29b) j =1 = −U1,i + (1 + ωTi )U2,i , (2.3.29c) i = 1, 2, , s, s y1,n+1 = y1,n + h ∑ bi Ki , (2.3.29d) i =1 = − x1,n+1 + (1 + ωtn+1 ) x2,n+1 , (2.3.29e) y1,n = x1,n − ωtn x2,n , Mi = U1,i − ωTi U2,i , i = 1, 2, , s Chúng ta đặt M = [ M1T M2T MsT ] T , K = [K1T K2T KsT ] T , = [1 1] T Phương trình (2.3.29b) dẫn tới Ki = λMi , i = 1, 2, , s, từ suy K = λM (2.3.30) Hơn nữa, từ phương trình (2.3.29a) cho ta M = 1y1,n + hAK Thay K từ (2.3.30), dễ dàng ta có M = ( I − hλA)−1 1y1,n (2.3.31) Từ phương trình (2.3.29d) − (2.3.29e), ta nhận y1,n+1 = y1,n + hb T K, x2,n+1 = x1,n+1 − ωtn+1 x2,n+1 = y1,n+1 , x1,n+1 = (1 + ωtn+1 ) x2,n+1 46 (2.3.32) Thay (2.3.30) (2.3.31) vào phương trình (2.3.32), đặt z = hλ, ta có y1,n+1 = (1 + zb T ( I − zA)−1 1)y1,n Phương trình thứ hai (2.3.32) dẫn đến y1,n = x2,n Bởi vậy, ta thu x2,n+1 = (1 + zb T ( I − zA)−1 1) x2,n , (2.3.33) x1,n+1 = (1 + ωtn+1 ) x2,n+1 Từ phương trình (2.3.33), ta có hàm ổn định cho PTVPĐS sơ đồ (2.3.14) R(z, w) = + zb T ( I − zA)−1 Chúng ta kết luận phương pháp (2.3.14)áp dụng cho PTVPĐS thử dạng biến đổi (2.3.27) bảo tồn tính chất ổn định phương pháp RK ban đầu cho PTVPT Điều có ý nghĩa đặc biệt quan trọng xấp xỉ khoảng phổ Lyapunov Sacker-Sell 47 Chương Phương pháp Runge-Kutta với bước lưới thay đổi giải phương trình vi phân đại số Khi sử dụng phương pháp Runge-Kutta với bước lưới h đều, ta đánh giá sai số thực tế nghiệm biết nghiệm xác, đánh giá cấp hội tụ phương pháp, xem thử nghiệm số [7] Tuy nhiên, thông thường khơng có nghiệm xác Hơn nữa, sử dụng bước lưới để tính tốn thấy khoảng thời gian nghiệm thay đổi cách nhanh chóng, khoảng thời gian khác nghiệm lại thay đổi cách chậm chạp Vì vậy, khơng sử dụng bước lưới h, mà thay vào ta sử dụng phương pháp Runge-Kutta với bước lưới h thay đổi phương pháp nhúng kết hợp với phương pháp HERK chương để giải lớp PTVPĐS khơng có tính lạ, khơng có tính lạ có cấu trúc để từ đánh giá sai số, chọn bước lưới h phù hợp với giới hạn sai số cho phép Trong chương cuối này, phần đầu tơi trình bày phương pháp nhúng Runge-Kutta, phần thứ hai đưa thử nghiệm số minh họa cho phương pháp nhúng 3.1 Phương pháp nhúng Ý tưởng phương pháp nhúng gần giống với phương pháp nhúng RK cho PTVPT Ở đây, ta sử dụng cặp phương pháp RK s nấc có cấp xác p 48 p + kết hợp với phương pháp HERK nêu chương Chúng ta sử dụng cặp phương pháp Runge-Kutta cấp p p + 1: c A bT bˆ T với A = [ aij ]s×s , b = (b1 bs ) T bˆ = (d1 ds ) T Thuật tốn 3.1.1 Xét phương trình vi phân đại số (2.2.1) đoạn [t0 , t f ], với sai số cho trước TOL điều kiện ban đầu tương thích x (t0 ) = x0 Với xn−1 biết, bước lưới h = h0 cho, biến đếm k = 1, ta tính nghiệm Ui , i = 1, , s, xn yn Ta so sánh, |yn − xn | ≤ TOL, • Ta chấp nhận bước h, • Ta tính lại yn xn với xn−1 bước thứ biết thay nghiệm phương pháp RK có cấp xác cao yn , • Tăng giá trị k, (k → k + 1) t = t + h, • Nếu t + h > t f h = t f − t Nếu bất đẳng thức |yn − xn | ≤ TOL khơng thỏa mãn bước h bị thay bước h˜ = h  f racTOL |yn − xn |  p +1 Thuật toán cài đặt Matlab, việc thực thuật toán áp dụng cho hai trường hợp: PTVPĐS khơng có tính lạ, PTVPĐS khơng có tính lạ có cấu trúc 49 3.1.1 Phương trình vi phân đại số khơng có tính lạ Giải tốn PTVPĐS f (t, x (t), x (t)) = g(t, x (t)) = 0, đoạn I = [t0 , t f ], với điều kiện ban đầu x (t0 ) = x0 Giả sử ai+1,i 6= với i = 1, 2, , s − bs 6= Xét đoạn [tn−1 , tn ], xn−1 ≈ x (tn−1 ) Tại nấc thứ i: Ui ≈ x (tn−1 + ci h) Ki ≈ Ui0 , i = 1, , s, T (i ) = tn−1 + c(i )h Cài đặt giá trị cho trước U1 = xn−1 , tn−1 = t, h = h0 , sai số TOL biến đếm k = Ta có i −1 Ui = xn−1 + h ∑ ai,j K j , i = 1, 2, , s j =1 Ta tìm nghiệm Ui+1 , Ki , i = 1, · · · , s − giải từ hệ phương trình đại số f tn−1 + c(i )h, Ui , " ai+1,i g(tn−1 + ci+1 h, Ui+1 ) = 0, Ui+1 − xn−1 i−1 − ∑ ai+1,i K j h j =1 #! = 0, i = 1, 2, s − Việc tính tốn tìm nghiệm Ui+1 , Ki , i = 1, · · · , s − cho phương pháp nhúng RK thực chung nấc i = 1, , s Cuối cùng, ta tìm nghiệm xn : xn = xn−1 + h ∑is=1 bi Ki , giải từ hệ " #! s −1 x n − x n −1 − ∑ bi K i = 0, f tn−1 + cs h, Ui , bs h i =1 g(tn , xn ) = nghiệm yn : yn = xn−1 + h ∑is=1 di Ki , giải từ hệ " #! y n − x n −1 s −1 f tn−1 + cs h, Ui , − ∑ d i Ki = 0, ds h i =1 g(tn , yn ) = 50 So sánh |yn − xn | ≤ TOL Nếu bất đẳng thức ta giữ bước lưới h, tính lại xn , yn với xn−1 → yn , tăng k → k + 1, t = t + h Nếu t + h > t f h = t f − t Nếu bất đẳng thức khơng thỏa mãn bước h thay ˜ bước h: h˜ = h  f racTOL |yn − xn |  p +1 Tiếp tục q trình tính tốn dừng lại, ta in thời gian tính tốn, số bước k, sai số tính tốn nghiệm phương pháp, sai số thực so với nghiệm xác, vẽ đồ bước lưới h theo thời gian v.v 3.1.2 Phương trình vi phân đại số khơng có tính lạ có cấu trúc Xét PTVPĐS dạng biến đổi f (t, x (t), ( Ex )0 (t) − E0 (t) x (t)) = 0, g(t, x (t)) = 0, Xét đoạn [tn , tn+1 ], với giá trị ban đầu tn = t, xn ≈ x (tn ), h = h0 Đặt T (i ) = tn + ci h xấp xỉ nấc Ui ≈ x ( T (i )), Ki ≈ ( Ex ) ( T (i )), i = 0 1, 2, , s Giả sử thêm giá trị hàm Ei = E( T (i )), Ei = E ( T (i )) xác định Cài đặt giá trị ban đầu U1 = xn , sai số cho trước TOL, biến đếm k = 1 Ta có i −1 Ei Ui = E(tn )U1 + h ∑ aij K j , j =1 xấp xỉ Ui , Ki−1 , i = 2, , s, xác định từ hệ phương trình đại số:  = h f T (i − 1), Ui−1 , Ki−1 − Ei0−1 Ui−1 , = g( T (i ), Ui ), 51 Ki −1 = " ai,i−1 # Ei Ui − E(tn )U1 i−2 − ∑ ai,j K j h j =1 Các nghiệm xấp xỉ Ui , Ki−1 , i = 2, , s cặp phương pháp nhúng RK tính nấc Cuối cùng, ta xác định nghiệm xn+1 : E(tn+1 ) xn+1 = E(tn )U1 + h ∑is=1 bi Ki , dựa vào hệ:  = h f T (s), Us , Ks − Es0 Us , = g ( t n +1 , x n +1 ), Ks = bs " # E ( t n +1 ) x n +1 − E ( t n ) x n s −1 − ∑ bi K i h i =1 nghiệm yn+1 : E(tn+1 )yn+1 = E(tn )U1 + h ∑is=1 di Ki xác định từ hệ phương trình đại số  = h f T (s), Us , Ks − Es0 Us , = g ( t n +1 , y n +1 ), Ks = ds " # E ( t n +1 ) y n +1 − E ( t n ) x n s −1 − ∑ d i Ki h i =1 So sánh |yn+1 − xn+1 | ≤ TOL Nếu bất đẳng thức ta giữ bước lưới h, tính lại xn+1 , yn+1 với xn → yn+1 , tăng k → k + 1, t = t + h Nếu t + h > t f h = t f − t Nếu bất đẳng thức khơng thỏa mãn bước h thay ˜ bước h: h˜ = h  f racTOL | y n +1 − x n +1 | 52  p +1 Tiếp tục q trình tính tốn dừng lại, ta in thời gian tính tốn, số bước k, sai số tính toán nghiệm phương pháp, sai số nghiệm thực so với nghiệm xác, vẽ đồ bước lưới h theo thời gian v.v Ta thấy PTVPĐS khơng có tính lạ có cấu trúc dạng biến đổi (2.3.3) qua phép đổi biến x (t) = Q(t)y(t) đưa dạng PTVPĐS nửa số (2.3.6) Khi đó, áp dụng phương pháp nhúng RK có cấp p nhúng phương pháp RK có cấp p + tính ổn định hội tụ bảo tồn Ta có hệ sau: Mệnh đề 3.1.1 Phương pháp nhúng với cặp phương pháp RK cấp p cấp p + 1, kết hợp với phương pháp Runge-Kutta nửa (HERK) giải PTVPĐS khơng có tính lạ có cấu trúc có cấp hội tụ p Chứng minh Mệnh đề suy trực tiếp từ Định lí 2.1.1, Định lí 2.3.1 Bổ đề 2.3.2 3.2 Thử nghiệm số Ví dụ 3.2.1 Xét BTGTBĐ cho phương trình thử PTVPĐS   h i −ωt λ ω ( − λt ) x = −1 x, 0 + ωt với số giá trị tham số đặc biệt λ ω đoạn [0, 5] PTVPĐS khơng có tính lạ có cấu trúc, cho giá trị ban đầu x1 (0) = 1, x2 (0) = 1, nghiệm xác  x= eλt (1 + ωt) eλt  Sử dụng phương pháp nhúng kết hợp phương pháp HERK áp dụng cho phương trình thử PTVPĐS viết dạng khơng có tính lạ 53 a) Sử dụng phương pháp nhúng với cặp Fehlberg4(5) Do cặp phương pháp RK ban đầu có cấp xác 4, nên xảy tượng giảm cấp xác Kiểm tra thử nghiệm số với phương pháp HERK cấp cấp cho phương trình thử PTVPĐS với bước lưới h Kí hiệu phương phương pháp RK Fehlberg cấp cấp RKF4 RKF5 Chúng ta thấy cặp phương pháp RK h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 4.0171e − 01 1.1433 h/4 2.2101 2.0416 h/8 1.3406 1.3125 h/16 1.1606 1.1533 h/32 1.0875 1.0871 h/64 1.0488 1.0513 h/128 1.0278 1.0316 Bảng 3.1: Kiểm tra cấp xác phương pháp RKF4 với λ = −1, ω = 100 h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.6026 2.0151 h/4 2.6948 2.6266 h/8 2.1067 2.0966 h/16 2.0345 2.0322 h/32 2.0195 2.0189 h/64 2.0116 2.0115 h/128 2.0065 2.0064 Bảng 3.2: Kiểm tra cấp xác phương pháp RKF5 với λ = −1, ω = 100 Fehlberg có cấp cấp bị giảm cấp xác xuống cịn cấp cấp Do đó, áp dụng phương pháp nhúng RK Fehlberg trường hợp khơng có ý nghĩa sử dụng chi phí tính tốn lớn cho phương pháp RK cấp cấp mà kết thu không tốt sử dụng phương pháp HERK với bước lưới h 54 b) Sử dụng phương pháp nhúng với cặp Dormand-Prince4(5) Kiểm tra thử nghiệm số với phương pháp HERK cấp cấp cho phương trình thử PTVPĐS với bước lưới h Kí hiệu phương phương pháp RK Dormand-Prince cấp cấp RKDP4 RKDP5 Qua thử nghiệm số, thấy cặp phương pháp RK Dormandh=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.4762 1.4809 h/4 1.9411 1.9431 h/8 2.0457 2.0463 h/16 2.0467 2.0468 h/32 2.0298 2.0299 h/64 2.0166 2.0166 h/128 2.0087 2.0087 Bảng 3.3: Kiểm tra cấp xác phương pháp RKDP4 với λ = −1, ω = 100 h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 9.2868e − 01 9.2864e − 01 h/4 2.2381 2.2381 h/8 2.8635 2.8635 h/16 3.0300 3.0300 h/32 3.0546 3.0545 h/64 3.0402 3.0417 h/128 3.0151 3.0082 Bảng 3.4: Kiểm tra cấp xác phương pháp RKDP5 với λ = −1, ω = 100 Prince có cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng Kí hiệu phương pháp nhúng sử dụng cặp Dormand-Prince4(5) sHERKDP4(5), sai số đánh giá xi , (i = 1, 2) sai số nghiệm xấp xỉ dùng 55 h=0.02 h h/2 h/4 h/8 h/16 h/32 h/64 h/128 N 250 500 1000 2000 4000 8000 16000 32000 SS thực tế x1 4.7205e − 02 1.0279e − 02 1.8317e − 03 2.8126e − 04 3.9317e − 05 5.2105e − 06 6.7109e − 07 8.5211e − 08 Tốc độ x1 2.1993 2.4884 2.7032 2.8387 2.9157 2.9568 2.9774 SS thực tế x2 3.1906e − 04 6.9497e − 05 1.2385e − 05 1.9018e − 06 2.6586e − 07 3.5233e − 08 4.5379e − 09 5.7627e − 10 Tốc độ x2 2.1988 2.4883 2.7032 2.8387 2.9157 2.9568 2.9772 Bảng 3.6: Thử nghiệm số phương pháp sHERK4 với λ = −1, ω = 100 Sử dụng phương pháp nhúng kết hợp với phương pháp HERK áp dụng cho phương trình thử PTVPĐS viết dạng khơng có tính lạ có cấu trúc, với bước ban đầu h = 0.1, sai số tương đối tol = 10−7 Kí hiệu phương pháp nhúng sử dụng cặp Fehlberg 4(5) HERKF4(5), phương pháp nhúng sử dụng cặp Dormand-Prince4(5) HERKDP4(5) Ta có bảng so sánh hai phương pháp: h=0.1 HERKF4(5) HERKDP4(5) Số bước 44 41 Sai số đánh giá x1 7.5731e − 08 7.3105e − 10 Sai số đánh giá x2 1.5116e − 10 1.4592e − 12 Sai số thực tế x1 1.1480e − 06 6.1345e − 07 Sai số thực tế x2 7.5692e − 09 4.0076e − 09 Bảng 3.7: So sánh phương pháp HERKF4(5) HERKDP4(5) Ta thấy việc sử dụng phương pháp nhúng sử dụng cặp Dormand-Prince4(5) cho số bước Đúng phân tích phương pháp nhúng cho PTVPT phương pháp nhúng sử dụng cặp Dormand-Prince4(5) có sai số thực tế nghiệm xi , i = 1, sai số đánh giá nghiệm xấp xỉ phương pháp RK phương pháp nhúng nhỏ so với phương pháp nhúng sử dụng cặp Fehlberg 4(5) Tuy nhiên, khác biệt hai phương pháp không nhiều, hai phương pháp có cấp hội tụ 4, (Mệnh đề 3.1.1) 57 phương pháp cho kết tốt Sử dụng phương pháp HERK với bước lưới h với phương pháp RK ban đầu phương pháp RK cổ điển nấc, kí hiệu HERK4 h=0.1 h h/2 h/4 h/8 h/16 h/32 N 50 100 200 400 800 1600 SS thực tế x1 4.9282e − 05 2.9542e − 06 1.8083e − 07 1.1188e − 08 6.9424e − 10 4.2586e − 11 Tốc độ x1 4.0602 4.0301 4.0146 4.0104 4.0270 SS thực tế x2 3.3324e − 07 1.9976e − 08 1.2228e − 09 7.5633e − 11 4.6971e − 12 3.0831e − 13 Tốc độ x2 4.0602 4.0301 4.0150 4.0092 3.9293 Bảng 3.8: Thử nghiệm số phương pháp HERK4 với λ = −1, ω = 100 Dựa vào thử nghiệm số cho bảng (3.8) ta thấy phương pháp HERK4 giữ cấp xác Với sai số cho trước tol = 10−7 , phương pháp HERK4 cần số bước 200 với bước lưới h = 0.025 nhỏ, phương pháp HERKF4(5) cần số bước 44, phương pháp HERKDP4(5) cần số bước 41 Như vậy, phương pháp HERKF4(5) phương pháp HERKDP4(5) cho kết tốt so với phương pháp HERK4 với sai số cho trước Ví dụ 3.2.2 Chúng ta xét PTVPĐS phi tuyến 0 x1 ( x1 + tx2 ) = x1 x2 et + e2t + t cos tet − e2t sin t, −t (3.2.1) = e x1 − x2 + sin t − 1, với t ∈ [0, 5] với điều kiện ban đầu x (0) = [1 0] T Dễ dàng ta kiểm tra (3.2.1) PTVPĐS khơng có tính lạ Thật vậy, ma trận Jacobi h fv E gu i  = x1 tx1 e − t −1  , có định thức x1 (−1 − tet ) 6= với t ∈ [0, 5] điều kiện ban đầu x (0) = [1 0] T PTVPĐS (3.2.1) có nghiệm x1 = et , x2 = sin t 59 Sử dụng phương pháp nhúng kết hợp với phương pháp HERK cho tốn PTVPĐS (3.2.1) viết dạng khơng có tính lạ a) Sử dụng phương pháp nhúng với cặp Fehlberg4(5) h=0.1 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.1099 0.88301 h/4 1.0607 0.94079 h/8 1.0321 0.97068 h/16 1.0165 0.98541 h/32 1.0084 0.99273 Bảng 3.9: Kiểm tra cấp xác phương pháp RKF4 h=0.1 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.9521 1.9483 h/4 1.9762 1.9744 h/8 1.9882 1.9873 h/16 1.9941 1.9937 h/32 1.9971 1.9968 Bảng 3.10: Kiểm tra cấp xác phương pháp RKF5 Chúng ta thấy cặp phương pháp RK Fehlberg có cấp cấp bị giảm cấp xác xuống cịn cấp cấp Do đó, áp dụng phương pháp nhúng RK Fehlberg trường hợp khơng có ý nghĩa sử dụng chi phí tính toán lớn cho phương pháp RK cấp cấp mà kết thu không tốt sử dụng phương pháp HERK với bước lưới h b) Sử dụng phương pháp nhúng với cặp Dormand-Prince4(5) Kiểm tra thử nghiệm số với phương pháp HERK cấp cấp cho phương trình thử PTVPĐS với bước lưới h Qua thử nghiệm số, thấy cặp phương pháp RK Dormand-Prince có cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng 60 h=0.1 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 1.8678 1.8622 h/4 1.9360 1.9330 h/8 1.9686 1.9670 h/16 1.9845 1.9836 h/32 1.9923 1.9918 Bảng 3.11: Kiểm tra cấp xác phương pháp RKDP4 h=0.025 Tốc độ hội tụ x1 Tốc độ hội tụ x2 h/2 2.9001 2.9031 h/4 2.9529 2.9537 h/8 2.9771 2.9773 h/16 2.9887 2.9888 h/32 2.9934 2.9935 Bảng 3.12: Kiểm tra cấp xác phương pháp RKDP5 Sử dụng phương pháp nhúng với cặp Dormand-Prince4(5): số bước (N) 69 Sai số đánh giá x1 2.0796e − 09 Sai số đánh giá x2 1.4012e − 11 Sai số thực tế x1 6.9627e − 06 Sai số thực tế x2 6.1979e − 08 Bảng 3.13: Phương pháp sHERKDP4(5) với tol = 10−7 , bước lưới ban đầu h = 0.1 61 Kết luận Trong luận văn, tơi trình bày phương pháp Runge-Kutta nửa áp dụng cho lớp PTVPĐS dạng nửa hiện, khơng có tính lạ, khơng có tính lạ có cấu trúc Từ đưa phương pháp nhúng cho phương pháp HERK thực thử nghiệm số, có số kết đánh giá sai số, số bước bước lưới h để thấy được: Khi áp dụng phương pháp nhúng cho PTVPĐS dạng khơng có tính lạ với cấp phương pháp RK ban đầu p > xảy tượng giảm cấp xác Qua thử nghiệm số, ta thấy sử dụng phương pháp nhúng với cặp Fehlberg cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng Do đó, ta khơng sử dụng phương pháp nhúng với cặp Fehlberg4(5) trường hợp Phương pháp nhúng với cặp DormandPrince cấp cấp bị giảm cấp xác xuống cịn cấp cấp tương ứng Tuy nhiên, sử dụng phương pháp nhúng với cặp DormandPrince4(5) cho ta số bước so với việc áp dụng phương pháp sHERK4 với bước lưới h với sai số cho trước Khi thực phương pháp nhúng cho PTVPĐS khơng có tính lạ cấu trúc cấp xác phương pháp RK bảo tồn Do đó, với sai số cho trước phương pháp nhúng sử dụng cặp Fehlberg4(5) phương pháp nhúng sử dụng cặp Dormand-Price4(5) cho số bước nhỏ nhiều so với phương pháp HERK4 với bước lưới h 65 Tài liệu tham khảo Tài liệu tiếng Việt [1] Phạm Kỳ Anh (2005), Giải tích số, NXB Đại học Quốc gia Hà Nội [2] Nguyễn Duy Trường (2019), Một số phương pháp hiệu giải phương trình vi phân đại số phi tuyến có cấu trúc, Luận án tiến sĩ toán học, Đại học khoa học tự nhiên - ĐHQG Hà Nội Tài liệu tiếng Anh [3] U Ascher and L Petzold (1998), Computer methods for Ordinary differential equations and differential - algebraic equations, SIAM, Philadenphia [4] V.Brasey, E Hairer, Half-explicit Runge-Kutta methods for differential-algebraic systems of index 2, SIAM J Numer Anal., 30 (1993), pp 538-552 [5] P Kunkel and V Mehrmann (2006) Differential - Algebraic Equations Analysis and Numerical Solution , European Mathematical Society, Zurich [6] P Kunkel and V Mehrmann, Stability properties of differential-algebraic equations and spin-stabilized discretization, Electron Trans Numer Anal., 26 (2007), pp 385-420 [7] V.H Linh and V Mehrmann (2014), Efficient integration of strangeness-free non-stiff differential-algebraic equations by half-explicit methods, J Comput Appl Math., 262: 346-360 66 [8] V.H Linh and N.D Truong (2018), Runge - Kutta methods revisited for a class of structured strangeness-free differential-algebraic equations, Electr Trans Num Anal., 48: 131-135 67

Ngày đăng: 04/08/2023, 07:08

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan