Xây dựng công thức lặp

Một phần của tài liệu Phương pháp hệ động lực giải phương trình toán tử (Trang 38)

Xét hệ đại số tuyến tính

Au=f, (2.27)

trong Rn, u, f ∈ Rn, A = (aij)n×n là ma trận điều kiện xấu, tức là số điều kiện

K(A) = ||A||||A−1|| lớn. Khi đó A có thể xem như một toán tử tuyến tính từ không gianRn vào không gianRn. Áp dụng phương pháp hệ động lực cho phương trình toán tử (2.27), ta xét phương pháp hệ động lực có dạng

u0(t) = −u(t) + [T +a(t)]−1A∗f, u(0) =u0, (2.28) trong đó T = A∗A và a(t) > 0 là hàm không tăng thỏa mãn a(t) → 0 khi t → ∞. Nghiệm duy nhất của (2.28) có dạng

u(t) = u0e−t+e−t

Z t 0

es[T +a(s)]−1A∗f ds. (2.29) Phương pháp hệ động lực giải bài toán (2.28) là chọn hàm a(t) và u0, đồng thời tìm một thời điểm dừngtδ sao chou(tδ) xấp xỉ nghiệmy (nghiệm có chuẩn nhỏ nhất) của phương trình. Sự lựa chọn khác nhau của a(t) sẽ dẫn đến các phương pháp giải khác nhau với độ chính xác và thời gian tính toán khác nhau. Do đó, để phương pháp hệ động lực đạt hiệu quả, ta cần phải nghiên cứu cách chọna(t) và thời điểm dừngtδ. Vì nghiệm của phương trình (2.27) biểu diễn dưới dạng tích phân nên ta phải tìm phương pháp để tính tích phân một cách hiệu quả. Biểu thức dưới dấu tích phân đã được sử dụng trong phương pháp hiệu chỉnh biến phân (Variational Regularization), viết tắt là VR.

Chúng ta cần chọna(t)để giải bài toán (2.28) hoặc tính tích phân (2.29) mà không sử dụng các phương pháp số giải phương trình vi phân thường (ODE).

Trong thực tế, sử dụng một hàm đơn điệu giảma(t)và một phương pháp số tốt nhất giải phương trình vi phân, như DOPRI45, sẽ tốn kém hơn mà không cho kết quả chính xác hơn là sử dụng hàm bậc thang˜a(t)xấp xỉa(t)và phương pháp trình bày dưới đây. Ta chọn a(t) thỏa mãn các điều kiện : a(t) là một hàm không tăng và

lim

t→∞a(s) = 0

.

Xét hàm bậc thanga˜(t)xấp xỉ a(t) , được định nghĩa như sau

˜

a(t) = an, tn ≤t < tn+1,

trong đó tn sẽ được chọn sau. Với hàm ˜a(t) này, un=u(tn) có thể được tính bởi công thức un =u0e−tn +e−tn n X i=1 (eti−eti−1)(T +ai−1)−1A∗fδ. Do đó, ta có un+1=u0e−tn+1+e−tn+1 n+1 X i=1 (eti−eti−1)(T +ai−1)−1A∗fδ =e−hn(u0e−tn+e−tn n X i=1 (eti −eti−1)(T +ai−1)−1A∗fδ) +e−tn+1(etn+1 −etn)(T +an)−1A∗fδ =e−hnun+ (1−e−hn)(T +an)−1A∗fδ. Từ đó, ta có công thức lặp sau un+1 =e−hnun+ (1−e−hn)(T +an)−1A∗fδ, hn=tn+1−tn. (2.30) Do đó, un có thể tìm được nếu u0, a(t), và tn đã biết.

Một phần của tài liệu Phương pháp hệ động lực giải phương trình toán tử (Trang 38)

Tải bản đầy đủ (PDF)

(70 trang)