3 ph−ơng pháp lặp song song giả RKN hai b−ớc
3.3 Ph−ơng pháp IPIPTRKN
Trong mục này, chúng ta áp dụng l−ợc đồ lặp song song vào ph−ơng pháp PTRKN, sử dụng (3.1) làm ph−ơng pháp hiệu chỉnh cùng với công thức dự báo sau:
W(0)n = ynew +hyncw +h2Bwvf(Vn) + h2Bwwf(W(nm−)1).
với các ma trận Bvw và Bww đ−ợc xác định bởi điều kiện cấp chính xác (xem Mục 3.3.1). Chúng ta thu đ−ợc l−ợc đồ lặp dự báo-hiệu chỉnh dạng P E(CE)kE với k = m Vn = ynev +hyncv +h2Avvf(Vn−1) + h2Avwf(W(nm−)1), (3.15a) Wn(0) = ynew+hyncw+ h2Bwvf(Vn) + h2Bwwf(W(nm−)1), (3.15b) W(nj) = ynew+hyncw+ h2Awvf(Vn) +h2Awwf(Wn(j−1)), (3.15c) j = 1, . . . , m, yn+1 = yn+ hyn+h2bTvf(Vn) +h2bTwf(W(nm)), (3.15d) yn+1 = yn+ hdTvf(Vn) +hdTwf(W(nm)). (3.15e) Ph−ơng pháp (3.15) giống nh− ph−ơng pháp xét trong [2], chỉ khác ở chỗ thay công thức dự báo
W(0)n = ynew +hyncw +h2Bwvf(Vn−1) +h2Bwwf(Wn(m−)1), bởi công thức dự báo (3.15b).
Ta phân tích sự hoạt động của l−ợc đồ (3.15): nh− các ph−ơng pháp lặp hiển khác, khối l−ợng tính toán chính tập trung vào việc tính toán véc tơ hàm vế phải f(.).
i) Trong (3.15a) các véc tơ hàm f(W(nm−)1) đã có từ b−ớc tr−ớc. Ta tính đ−ợc Vn.
ii) Thay Vn vừa tính đ−ợc vào vế phải của (3.15b) tính v thành phần của f(Vn) đồng thời trên v bộ xử lý của một máy tính song song. Kết quả của b−ớc này là véc tơ W(0)n
tơ f(W(0)n ) đồng thời trên w bộ xử lý của một máy tính song song. Lặp theo j trong vòng lặp (3.15c) ta nhận đ−ợc véc tơ W(nm)
iv) Cuối cùng, thay véc tơ W(nm) vừa tính đ−ợc vào vế phải của (3.15d), (3.15e) tính w thành phần của véc tơ f(W(nm)). Kết thúc b−ớc này ta nhận đ−ợc yn+1 và yn+1
Qua phân tích trên, ta thấy tại mỗi thời điểm chỉ cần dùng max(v, w) bộ xử lý. Chú ý rằng v +w = s, do đó max(v, w) < s. Tới đây ta thấy ph−ơng pháp IPIPTRKN cần số bộ xử lý nhỏ hơn số nấc s. Số lần tính toán hàm vế phải trên mỗi b−ớc là m + 2. Tại b−ớc thứ nhất n = 1 vì ch−a có véc tơ nấc để có thể tách ra thành hai phần ẩn và hiển, chúng tôi đề xuất việc sử dụng ph−ơng pháp PIRKN tại b−ớc đầu tiên này. Với số bộ xử lí cho phép là max(v, w) nói chung là nhỏ hơn s, nên thời gian tính toán tại b−ớc này có thể lớn hơn so với các b−ớc khác. Nh−ng vì ta chỉ cần tính một lần tại b−ớc lặp đầu tiên nên nói chung không ảnh h−ởng tới thời gian chạy toàn bộ thuật toán với rất nhiều b−ớc lấy tích phân (hàng trăm hoặc hàng nghìn b−ớc). Ph−ơng pháp đ−ợc mô tả bởi l−ợc đồ (3.15) đ−ợc gọi là ph−ơng pháp lặp song song cải tiến giả RKN hai b−ớc (Improved Parallel-Iterated Pseudo Two-step RKN methods) hay viết gọn là IPIPTRKN.