1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Sự xấp xỉ holder cho hàm nguồn của một phương trình nhiệt ngược thời gian

100 219 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 100
Dung lượng 20,54 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TIỂU LUẬN TỐT NGHIỆP Sự xấp xỉ H¨ older cho hàm nguồn phương trình nhiệt ngược thời gian Chuyên ngành: GIẢI TÍCH Giảng viên hướng dẫn: Lý thuyết: GS.TS ĐẶNG ĐỨC TRỌNG Thực hành: Th.s TRẦN QUỐC VIỆT Sinh viên thực hiện: TRẦN SƠN HẢI TP Hồ Chí Minh tháng năm 2012 Mục lục 0.1 Giới thiệu tiểu luận Những kiến thức chuẩn bị 1.1 Kiến thức vi-tích phân 1.1.1 Mệnh đề 1.2 Kiến thức không gian Hilbert 1.2.1 Mệnh đề 1.2.2 Mệnh đề 1.3 Kiến thức đa thức nội suy Largange 1.3.1 Mệnh đề 11 11 (1) 13 13 13 16 17 17 17 17 18 18 19 20 21 23 26 Lập trình tính số toán (1) kết thu 3.1 Thuật toán tính tích phân Filon 3.2 Các ví dụ minh họa kết giải số toán (1) 3.2.1 Ví dụ 3.2.2 Ví dụ 3.2.3 Ví dụ 3.2.4 Ví dụ 3.2.5 Ví dụ 3.2.6 Ví dụ 3.3 Chương trình tính toán giải toán (1) ngôn ngữ Fortran 90 34 34 51 51 53 54 55 56 57 58 Giải toán (1) kết thu 2.1 Biến phân phương trình toán (1) 2.1.1 Mệnh đề 2.2 Đưa định nghĩa sử dụng toán 2.2.1 Định nghĩa 2.2.2 Định nghĩa 2.3 Bổ sung điều kiện cho toán (1) 2.4 Định lý 2.5 Định lý 2.5.1 Bổ đề 2.5.2 Bổ đề 2.5.3 Bổ đề 2.5.4 Bổ đề 2.5.5 Bổ đề 2.5.6 Phần chứng minh Định lý Phụ lục 4.1 Bổ sung ý Bổ đề 4.1.1 Bổ sung 4.1.2 Bổ sung 4.1.3 Bổ sung 4.1.4 Bổ sung 4.1.5 Bổ sung 4.2 Chương trình giải số toán (1) ngôn ngữ Fortran 90 4.2.1 Chương trình 4.2.2 Chương trình - Lưu trữ biến toàn cục 4.2.3 Chương trình - Lưu trữ hàm 4.2.4 Chương trình - Tính toán chi tiết 4.2.5 Chương trình - Biên dịch chương trình 1,2,3 59 59 59 59 60 60 61 62 62 63 63 67 94 Kết luận 95 5.1 Tài liệu tham khảo 97 0.1 Giới thiệu tiểu luận Cho T → cho Ω ✏ ♣0, 1q ✂ ♣0, 1q miền truyền nhiệt Xét toán xác định cặp hàm ♣u, f q thỏa mãn hệ ✩ ut ✬ ✬ ✫ ✁ ∆u ✏ ϕ♣tqf ♣x, yq, với t € ♣0, T q, ♣x, yq € Ω, ux ♣0, y, tq ✏ ux ♣1, y, tq ✏ uy ♣x, 0, tq ✏ uy ♣x, 1, tq ✏ 0, u♣1, y, tq ✏ 0, ✬ ✬ ✪ u♣x, y, T q ✏ g ♣x, y q, (1) với g € L1 ♣Ωq ϕ € L1 ♣0, T q biết Điều kiện biên u♣1, y, tq đưa vào để đảm bảo tính nghiệm toán Trong toán (1) hàm f cho ta tương ứng với toán ngược cổ điển để giải (1) ta tập trung vào tìm hàm f Bài toán ngược cổ điển toán tìm hàm nguồn F ♣ξ, tq thỏa mãn phương trình nhiệt ut ✁ ∆u ✏ F (2) với ξ biến không gian Bài toán (2) không chỉnh, tức nghiệm, có nghiệm không phụ thuộc liên tục vào kiện cho Do đó, ta cần chỉnh hóa để giải số Bởi toán (2) khó giải nên để giải thường nguồn nhiệt F ♣ξ, tq cho dạng tách biến F ♣ξ, tq ✏ ϕ♣tqf ♣ξ q với ϕ f cho Tính nghiệm điều kiện ổn định nguồn nhiệt dạng số tác giả khảo sát [3-5,12,13,22-24 ] Dù cho tính nghiệm ổn định nghiệm có việc chỉnh hóa cho trường hợp không ổn định khó Để thực việc chỉnh hóa toán (2), nhiều tác giả phải giả sử nguồn nhiệt phụ thuộc vào thời gian, F ♣ξ, tq ✏ ϕ♣tq [6,14,20]; không gian, F ♣ξ, tq ✏ f ♣ξ q [2,6-10,21,25] Còn dạng tách biến toàn phần F ♣ξ, tq ✏ ϕ♣tqf ♣ξ q ,với ϕ cho khảo sát [15,16] Ta nhận trường hợp thường việc thu hồi nguồn f ♣ξ q cần nhiệt độ đầu nhiệt độ cuối Hơn nữa, việc đánh giá sai số không cho cách tường minh, dạng logarit Một câu hỏi tự nhiên đặt việc xấp xỉ nguồn f sử dụng nhiệt độ đầu nhiệt độ cuối mà không cần hai Gần đây, việc chỉnh hóa sử dụng nhiệt độ đầu xét tới [9,17], có vài đánh giá sai số loại logarit Trong tiểu luận này, tác giả xây dựng nghiệm chỉnh hóa dạng xấp xỉ sử dụng nhiệt độ cuối cho kết đánh giá loại Holder Phương pháp tác giả gợi ý từ việc xác định nguồn phương trình nhiệt ngược thời gian xây dựng Tikhonov năm 1935 [19] Tác giả theo sát kĩ thuật báo phương trình nhiệt xuôi thời gian [17] Sự khác biệt toán ngược ta tìm dạng tốt bất đẳng thức nội suy, mà cho ta có xấp xỉ loại H¨older Trong phần thực hành giải số cho toán (1) tác giả tìm nghiệm chỉnh hóa f xấp nghiệm f Để tìm nghiệm tác giả phải dùng tới các loại tích phân số để tính tích phân ẩn Cũng đề cập phần lí thuyết, tác giả tìm nghiệm chỉnh hóa thông qua kĩ thuật khai triển Fourier nội suy Lagrange Đối với khai triển Fourier tác giả phải tính tích phân hai chiều với hàm có dạng f ♣x, y q cos♣nπxq cos♣mπy q hàm dao động mạnh, hàm mà tích phân Gauss khó tính xác Do tác giả sử dụng phương pháp đặc biệt phương pháp tich phân Filon Với tích phân giải tính dao động hàm có dạng Phương pháp tích phân Filon cho hàm có dang f ♣x, y q cos♣nπxq cos♣mπy q trình bày kĩ phần giải số Còn nội suy Lagrange để có đa thức nội suy có sai số tác giả dùng tới thuật toán Neville, mà giải tốt vấn đề sai số thuật toán thông thừơng, nút nội suy tác giả sử dụng nút Chebyshev, nút mà giải vấn đề sai số hai biên khoảng nội suy mà nút theo cách chia không giải Để đảm bảo cho khả dụng nghiệm chỉnh hóa, song song với kết đánh giá phần lý thuyết phần thực hành tác giả tính toán để minh chứng sai số trường hợp cụ thể Trong tiểu luận tác giả đưa vào chương trình giải số toán (1) Chương trình viết ngôn ngữ Fortran 90, ngôn ngữ tính toán thực thi công đoạn tinh toán song song Trong tiểu luận tác giả đưa vào số ví dụ để kiểm chứng kết giải số từ kết lý thuyết Chương Những kiến thức chuẩn bị 1.1 Kiến thức vi-tích phân 1.1.1 Mệnh đề Cho f € C ♣ra, bsq, f khả vi ♣a, bq thỏa f(a) = f(b) tồn c cho f ♣cq ✏ ✶ € ♣a, bq Chứng minh Đầu tiên f € C ♣ra, bsq nên tồn α, β € ra, bs cho f đạt max α, đạt ✶ ✶ β Do f đạt max α, đạt β nên f ♣αq ✏ f ♣β q ✏ Đặt M ✏ maxra,bs f, N ✏ minra,bs f Ta xét hai trường hợp • Nếu M ✏ N , tức f hàm ✶ Ta chọn c ✏ 21 ♣M   N q € ♣a, bq ta có f ♣cq ✏ • Nếu M ✘ N Thì α β € ♣a, bq Thật vậy, α, β € ra, bs nên α, β ❘ ♣a, bq α, β € ta, b✉ Nếu α, β € ta, b✉ f ♣aq ✏ f ♣bq nên f ♣αq ✏ f ♣β q M ✏ f ♣αq, N ✏ f ♣β q M ✏ N Điều dẫn tới vô lý Nếu α € ♣a, bq ta chọn c ✏ α, β € ♣a, bq ta chọn c ✏ β Vậy Mệnh đề chứng minh 1.2 1.2.1 Kiến thức không gian Hilbert Mệnh đề Cho ♣ϕi qi€N ♣ψk qk€N họ trực chuẩn đầy đủ L2 ♣a, bq L2 ♣c, dq Khi hàm ωik xác định ωik ♣s, tq ✏ ϕi ♣sqψk ♣tq, lập thành họ trực chuẩn đầy đủ L2 ♣K q, K ✏ ♣a, bq ✂ ♣c, dq Ta dựa vào Mệnh đề để chứng minh Mệnh đề sau 1.2.2 Mệnh đề Cho B ✏ với ✦❛ ✮✽ κ♣m, nq cos♣mπxq cos♣nπy q , ✏ m,n κ♣m, nq ✏ ♣2 ✁ 1tm✏0✉ q♣2 ✁ 1tn✏0✉ q B sở trực chuẩn L2 ♣♣0, 1q ✂ ♣0, 1qq Chứng minh Đầu tiên ta có ❛ ❜ κ♣m, nq ✏ ♣2 ✁ 1tm✏0✉q♣2 ✁ 1tn✏0✉q ✏ ❛ ✁ 1tm✏0✉ ❛ ✁ 1tn✏0✉ Cho nên B Đặt ✥ ❛ ✏ ♣ ✭✽ ❛ ✁ 1tm✏0✉ cos♣mπxqq♣ ✁ 1tn✏0✉ cos♣nπy qq ✏ m,n ✦ ❄ ✮ ❄ ✥❛ ✭ ✏ ✁ 1tm✏0✉ cos♣mπxq ✽m✏0 ✏ 1, cos♣2πxq, cos♣3πxq, , ✦ ❄ ✮ ❄ ✭✽ ✥❛ ✁ 1tn✏0✉ cos♣mπy q n✏0 ✏ 1, cos♣2πy q, cos♣3πy q, B2 ✏ B1 Ta chứng minh B1 , B2 họ trực chuẩn đầy đủ L2 ♣0, 1q Do việc chứng minh B1 họ trực chuẩn đầy đủ L2 ♣0, 1q B2 họ trực chuẩn đầy đủ L2 ♣0, 1q tương tự Cho nên ta cần chứng minh B1 họ trực chuẩn đầy đủ L2 ♣0, 1q Đặt am1 ♣xq ✏ am2 ♣xq ✏ ❛ ❛ ✁ 1tm1 ✏0✉ cos♣m1 πxq, ✁ 1tm2 ✏0✉ cos♣m2 πxq Ta chứng minh am1 , am2 ♣ q✏ ✧ L2 0,1 m1 m1 ✘ m2 ✏ m2 Ta có am1 , am2 ♣ q✏ ➺1 L2 0,1 ❛ ❛ ✁ 1tm1 ✏0✉ cos♣m1 πxq ✁ 1tm2 ✏0✉ cos♣m2 πxqdx ✏ ✏ ❛ 1❛ ✁ 1tm1 ✏0✉ ✁ 1tm2 ✏0✉ 2 ✁ 1tm1 ✏0✉ ❛ ➺1 ❛ ✁ 1tm2 ✏0✉ Bây ta xét trường hợp cos♣m1 πxq cos♣m2 πxqdx ➺1 rcos♣m1 ✁ m2qπx   cos♣m1   m2qπxs dx Trường hợp m1 ✏ m2 Nếu m1 ✏ m2 ✏ am1 , am2 ✟ 1  ✁ 1tm✏0✉ ➺1 ♣1   cos♣2m1πxqq dx Do mà • Nếu m1 ✏ am1 , am2 • Nếu m1 ✘ am1 , am2 ♣ q✏ L2 0,1 Vì suy am1 , am2 ♣2 ✁ 0q ♣ q✏ L2 0,1 ➺1 0 2dx ✏ ➺1 ♣1   cos 2m1πxqdx ✏ dx ✏ ✂ x  sin 2m1 πx 2m1 π ✡✞ ✞x✏1 ✞ ✏ x ✏ ♣ q ✏ L2 0,1 Trường hợp m1 ✘ m2 Nếu m1 ✘ m2 ➺1 ➺1 ♣cos♣m1 ✁ m2qπx   cos♣m1   m2qπxq dx ✏ ✂ sin♣m1 ✁ m2 qπx ♣m1 ✁ m2qπ ✡ ♣ sin♣m1   m2 qπx ✞✞x✏1   ♣m   m qπ ✞x✏0 ✏ Cho nên am1 , am2 L2 ♣0,1q ✏ Như ta chứng minh B1 họ trực chuẩn Bây ta chứng minh B1 đầy đủ L2 ♣0, 1q Bởi Cc✽ ♣0, 1q trù mật L2 ♣0, 1q nên cho f € L2 ♣0, 1q, → tồn g € Cc✽ ♣0, 1q cho ⑥g ✁ f ⑥L ♣0,1q ➔ ④2 Với g € Cc✽♣0, 1q g € L2♣0, 1q Do khai triển Fourier-cos g g ♣xq ✏ a0 ④2   ✽ ➳ ✏ an cos♣nπxq, n với x € ♣0, 1q, an ✏2 ➩1 g ♣xq cos♣nπxqdx Đặt Sn ♣g q♣xq ✏ a0 ④2   n ➳ ✏ ak cos♣kπxq, k ❅x € ♣0, 1q Ta chứng minh Sn Ñ g L2♣0, 1q Theo cách đặt Sn♣gq Sn ♣g q Ñ g ♣xq, (1.1) n Ñ ✽, với x € ♣0, 1q Xét ⑤Sn ♣g q♣xq ✁ g ♣xq⑤ ta có Sn ♣g q♣xq ✏ ✏ ✏ ✏ ✏ ✏ ➺1 ➺1 ➺1 ➺1 ➺1 n ➳   a0 g ♣y qdy   ✏ ✏ g ♣y q ➺1 ✄ k ✏ 2✁ π ✁ πx ➺ π ✏ ✄ πx ☛ cos♣kπy q cos♣kπxq dy ✏ n ➳ ☛ ♣cos♣kπ♣y ✁ xq   cos♣kπ♣y   xqq k ✄✄ g ♣y q ✏ k n ➳ g ♣y q   g ♣xq cos♣kπy qdy cos♣kπxq ✄ g ♣y q   g ♣y q ♣kπxq ak cos k ➺1 n ➳     n ➳ ✏ ☛ cos♣kπ ♣y ✁ xq k ✟ ♣ sin n   ♣ ✁ q sin   sin n   π y π y x ✟ g x  ✡ n ➳   ✏ ☛☛ cos♣kπ ♣y   xq k ✁ xq   sin n   ✟ ♣   xq π y π y x sin ♣   q   dy ☛ dy ✟ ♣ ✁ xq dy   ➺ g♣yq sin n   21 π♣y   xq dy π y π y x 2 u π   sin ♣ ✁ q ✂   ✄ dy ➺ 2  sin♣2n   1qu du   sin♣uq π ✁ πx π sin π♣y2 xq ✂ πx g ✁x   ✡ u π sin♣2n   1qu du sin♣uq Để xác định ⑤Sn ♣g q♣xq ✁ g ♣xq⑤ ta chứng minh ➺ ✁ πx2 sin♣2n   1qu π sin♣uq ✁ πx2 du   ➺ π   πx2 sin♣2n   1qu sin♣uq πx với ❅n € N Bằng thực phép đổi biến v có ➺ π ✁ πx2 sin♣2n   1qu ✁ πx2 sin♣uq du ✏ ➺ du ✏ π, (1.2) ✏ ✁u sau viết tích phân theo u ta πx ✁ π2   πx2 sin♣2n   1qu du sin♣uq (1.3) Sử dụng kết (1.3) thay vào (1.2) ta nhận ➺   πx2 sin♣2n   1qu du ✏ π sin♣uq ✁ π2   πx2 π Ta chứng minh (1.4) quy nạp Với n ✏ ➺ π   πx ➺ π   πx   πx2 sin♣3uq 2 2 ♣ ✁ sin uqdu ✏ ♣1   cos♣2uqqdu VT ✏ du ✏ ✁ π2   πx2 sin♣uq ✁ π2   πx2 ✁ π2   πx2 ✞u✏ π   πx ✏ ♣u   sin♣2uqq✞✞u✏✁2 π  2πx ✏ u   sin♣π   πxq ✁ sin♣✁π   πxq 2 ➺ π ✏ π ✁ sin♣πxq   sin♣π ✁ πxq ✏ π ✁ sin♣πxq   sin♣πxq ✏ π (1.4) Giả sử (1.4) với n ✏ k ta chứng minh với n ✏ k   Tức giả sử ta có ➺   πx2 sin♣2k   1qu du ✏ π sin♣uq ✁ π2   πx2 Ta chứng minh ➺ π   πx2 sin♣2♣k   1q   1qu du ✏ π sin♣uq ✁ π2   πx2 π Đầu tiên ta có sin♣2♣k   1q   1qu ✏ sin♣2k   3qu ✏ sinr♣2k   1qu   2us ✏ sin♣2k   1qu cos♣2uq   cos♣2k   1qu sin♣2uq ✏ sin♣2k   1qu♣1 ✁ sin♣uqq   cos♣2k   1qu2 sin♣uq cos♣uq Vì sin♣2♣k   1q   1qu sin♣uq 2k   1qu ✏ sin♣sin ♣uq ✁ sin♣2k   1qu sin u   cos♣2k   1qu cos u 2k   1qu ✏ sin♣sin ♣uq   cos 2♣k   1qu Lấy tích phân ta có ➺   πx2 sin♣2♣k   1q   1qu du sin♣uq ✁ π2   πx2 ➺ π   πx ➺ π   πx 2 2 sin♣2♣k   1qqu π ✏ du   sin♣uq ✁ π2   πx2 ✁ π2   πx2 cos 2♣k   1qudu sin♣2♣k   1qqu ✞✞u✏ π2   πx ✏ π   k   ✞u✏✁ π  2πx 2 ✏ π   k   rsin♣k   1q♣π   πxq ✁ sin♣k   1q♣✁π   πxqs ✏ π   k  1 rsin♣♣k   1qπ   ♣k   1qπxq   sin♣♣k   1qπ ✁ ♣k   1qπxqs ✏ π   k  1 r✁ sin♣kπ   ♣k   1qπxq ✁ sin♣k   π ✁ ♣k   1qπxqs ✧ sin♣k   1qπx ✁ sin♣✁♣k   1qπxqs k chẵn ✏ ππ    k 1 r✁ rsin♣k   1qπx   sin♣✁♣k   1qπxqs k lẻ k 1 ✏ π Vậy ta chứng minh (1.4), tức ➺   πx2 sin♣2n   1qu du ✏ π, sin♣uq ✁ π2   πx2 π với n € N Dẫn tới (1.2) chứng minh xong, tức ➺ π ✁ πx2 sin♣2n   1qu ✁ πx2 sin♣uq du   ➺ π πx   πx2 sin♣2n   1qu sin♣uq du ✏ π, s2 = !$omp parallel shared(m,n,cq,sq,x,y, alb,b1beb,beb ) !$omp do j=1,n-1 i=1,m-1 private(i,j) s2 = s2 + & cq(j)*alb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) + & cq(j)*b1beb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) & + 4*f(x(2*i),y(2*j)) ) - & sq(j)*beb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) - & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) enddo enddo !$omp end !$omp end parallel s2 = s2/3 deallocate( cq, sq ) elseif ( p.ne.0 and q.eq.0) then a = p*dx ala = alfunc(a) bea = befunc(a) a1 = 4/a a1bea = a1*bea allocate ( cp(1:m-1), sp(1:m-1) ) i=1,m-1 cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo s2 = !$omp parallel shared(m,n,cp,sp,x,y, ala,a1bea,bea ) !$omp do i=1,m-1 j=1,n-1 s2 = s2 + & cp(i)*ala*( & f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i+1),y(2*j)) + 4*f(x(2*i-1),y(2*j)) ) & + cp(i)*a1bea*( & f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) + 4*f(x(2*i),y(2*j)) ) & - sp(i)*bea*( & - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + f(x(2*i+1),y(2*j+1)) & - f(x(2*i-1),y(2*j+1)) -4*f(x(2*i+1),y(2*j)) + 4*f(x(2*i-1),y(2*j)) ) enddo enddo !$omp end !$omp end parallel s2 = s2/3 deallocate(cp,sp) else a = p*dx b = q*dy ala = alfunc(a) alb = alfunc(b) bea = befunc(a) beb = befunc(b) a1 = 4/a b1 = 4/b b1beb = b1*beb a1bea = a1*bea beaalb = bea*alb alaalb = ala*alb alabeb = ala*beb a1b1beabeb = a1bea*b1beb a1beaalb = a1bea*alb b1alabeb = ala*b1beb a1beabeb = a1bea*beb b1beabeb = bea*b1beb beabeb = bea*beb allocate( cq(1:n-1), sq(1:n-1), cp(1:m-1), sp(1:m-1) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo i=1,m-1 85 ) cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo s2 = !$omp private(i,j) reduction(+:s2) !$omp do j=1,n-1 i=1,m-1 s2 = s2 + cp(i)*cq(j)*( & alaalb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1))) & + a1beaalb*( f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) ) & + b1alabeb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) ) & + a1b1beabeb*f(x(2*i),y(2*j)) ) & - cp(i)*sq(j)*( & alabeb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & +f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) ) & - a1beabeb*( f(x(2*i),y(2*j-1)) - f(x(2*i),y(2*j+1)) ) ) & - sp(i)*cq(j)*( & beaalb*( - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) & + b1beabeb*( f(x(2*i+1),y(2*j)) - f(x(2*i-1),y(2*j)) ) ) & + sp(i)*sq(j)*( & beabeb*( f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) ) enddo enddo !$omp end !$omp end parallel deallocate( cq, sq, cp, sp ) endif s2 = s2*dx*dy ! write(*,*), m,n, s1, s2, abs(s1-s2) if (abs(s1-s2) < eps) then exit else s1 = s2 endif deallocate(x,y) enddo s = s2 contains !## function alfunc (c) real(8),intent(in) :: c real(8) :: alfunc alfunc =sin(c)/c + 2*cos(c)/c/c - 2*sin(c)/c/c/c end function !## function befunc (c) real(8),intent(in) :: c real(8) :: befunc befunc = -cos(c)/c + sin(c)/c/c end function end function !===============================================================function filon2d_kind1_2 ( f, p, q, eps ) result(s) implicit none real(8) :: s interface function f(x,y) implicit none real(8),intent(in) :: x,y real(8) :: f end function end interface real(8),intent(in) :: p,q real(8),intent(in) :: eps integer :: m,n,k,i,j real(8) :: dx,dy,s1,s2,a,b,ala,alb,bea,beb real(8) :: a1,b1,b1beb,a1bea,alaalb,a1beaalb,b1alabeb real(8) :: a1beabeb,b1beabeb,beabeb,beaalb,alabeb,a1b1beabeb real(8),dimension(:),allocatable :: cq,cp,sq,sp,x,y !## s1 = -1.d+200 86 k=5,15 m = 2**k n = m dx = pi/(m-1)/2 dy = pi/(n-1)/2 allocate ( x(1:2*m), y(1:2*n) ) i=1,2*m x(i) = (i-1)*dx enddo j=1,2*n y(j) = (j-1)*dy enddo !$omp !$omp !$omp !$omp if ( p.eq.0 and q.eq.0 ) then s2 = parallel shared(m,n,x,y ) private(i,j) reduction(+:s2) do j=1,n-1 i=1,m-1 s2 = s2 + f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) & + 4*( f(x(2*i),y(2*j-1)) + f(x(2*i+1),y(2*j)) + & f(x(2*i),y(2*j+1)) + f(x(2*i-1),y(2*j)) & + 4*f(x(2*i),y(2*j)) ) enddo enddo end end parallel s2 = s2/9 elseif( p.eq.0 and q.ne.0 ) then b = q*dy alb = alfunc(b) beb = befunc(b) b1 = 4/b b1beb = b1*beb allocate( cq(1:n-1), sq(1:n-1) ) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo s2 = !$omp parallel shared(m,n,cq,sq,x,y, alb,b1beb,beb ) !$omp do j=1,n-1 i=1,m-1 s2 = s2 + & cq(j)*alb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) + & cq(j)*b1beb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) & + 4*f(x(2*i),y(2*j)) ) - & sq(j)*beb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) - & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) enddo enddo !$omp end !$omp end parallel s2 = s2/3 deallocate( cq, sq ) elseif ( p.ne.0 and q.eq.0) then a = p*dx ala = alfunc(a) bea = befunc(a) a1 = 4/a a1bea = a1*bea allocate ( cp(1:m-1), sp(1:m-1) ) i=1,m-1 cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo s2 = !$omp parallel shared(m,n,cp,sp,x,y, ala,a1bea,bea ) !$omp do i=1,m-1 j=1,n-1 87 s2 = s2 + & cp(i)*ala*( & f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i+1),y(2*j)) + 4*f(x(2*i-1),y(2*j)) ) & + cp(i)*a1bea*( & f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) + 4*f(x(2*i),y(2*j)) ) & - sp(i)*bea*( & - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + f(x(2*i+1),y(2*j+1)) & - f(x(2*i-1),y(2*j+1)) -4*f(x(2*i+1),y(2*j)) + 4*f(x(2*i-1),y(2*j)) ) enddo enddo !$omp end !$omp end parallel s2 = s2/3 deallocate(cp,sp) else a = p*dx b = q*dy ala = alfunc(a) alb = alfunc(b) bea = befunc(a) beb = befunc(b) a1 = 4/a b1 = 4/b b1beb = b1*beb a1bea = a1*bea beaalb = bea*alb alaalb = ala*alb alabeb = ala*beb a1b1beabeb = a1bea*b1beb a1beaalb = a1bea*alb b1alabeb = ala*b1beb a1beabeb = a1bea*beb b1beabeb = bea*b1beb beabeb = bea*beb allocate( cq(1:n-1), sq(1:n-1), cp(1:m-1), sp(1:m-1) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo i=1,m-1 cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo ) s2 = !$omp private(i,j) reduction(+:s2) !$omp do j=1,n-1 i=1,m-1 s2 = s2 + cp(i)*cq(j)*( & alaalb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1))) & + a1beaalb*( f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) ) & + b1alabeb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) ) & + a1b1beabeb*f(x(2*i),y(2*j)) ) & - cp(i)*sq(j)*( & alabeb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & +f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) ) & - a1beabeb*( f(x(2*i),y(2*j-1)) - f(x(2*i),y(2*j+1)) ) ) & - sp(i)*cq(j)*( & beaalb*( - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) & + b1beabeb*( f(x(2*i+1),y(2*j)) - f(x(2*i-1),y(2*j)) ) ) & + sp(i)*sq(j)*( & beabeb*( f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) ) enddo enddo !$omp end !$omp end parallel deallocate( cq, sq, cp, sp ) endif s2 = s2*dx*dy ! write(*,*), m,n, s1, s2, abs(s1-s2) if (abs(s1-s2) < eps) then exit 88 else s1 = s2 endif deallocate(x,y) enddo s = s2 contains !## function alfunc (c) real(8),intent(in) :: c real(8) :: alfunc alfunc =sin(c)/c + 2*cos(c)/c/c - 2*sin(c)/c/c/c end function !## function befunc (c) real(8),intent(in) :: c real(8) :: befunc befunc = -cos(c)/c + sin(c)/c/c end function end function !===============================================================! usage: ! s = filon2d_kind2 ( f, alpha, beta, eps ) ! i.e ! s = int_{0}^{1} int_{0}^{1} f(x,y)*cos(alpha*x)*cos(beta*y) dxdy , p,q = 0,1,2, ! option : ! alpha = m*pi :: real(8) ! beta = n*pi :: real(8) ! option : ! alpha = m :: integer ! beta = n :: integer !===============================================================function filon2d_kind2_1 ( f, p, q, eps ) result(s) implicit none real(8) :: s interface function f(x,y) implicit none real(8),intent(in) :: x,y real(8) :: f end function end interface real(8),intent(in) :: p,q real(8),intent(in) :: eps integer :: m,n,k,i,j real(8) :: a1,b1,b1beb,a1bea,alaalb,a1beaalb,b1alabeb real(8) :: dx,dy,s1,s2,a,b,ala,alb,bea,beb real(8) :: a1beabeb,b1beabeb,beabeb,beaalb,alabeb,a1b1beabeb real(8),dimension(:),allocatable :: cq,cp,sq,sp,x,y !## s1 = -1.d+200 k=5,15 m = 2**k n = m dx = 0.5d0/(m-1) dy = 0.5d0/(n-1) allocate ( x(1:2*m), y(1:2*n) ) i=1,2*m x(i) = (i-1)*dx enddo j=1,2*n y(j) = (j-1)*dy enddo if ( p.eq.0 and q.eq.0 ) then s2 = j=1,n-1 i=1,m-1 s2 = s2 + f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) & + 4*( f(x(2*i),y(2*j-1)) + f(x(2*i+1),y(2*j)) + & f(x(2*i),y(2*j+1)) + f(x(2*i-1),y(2*j)) & + 4*f(x(2*i),y(2*j)) ) enddo enddo 89 s2 = s2/9 elseif( p.eq.0 and q.ne.0 ) then b = q*dy alb = alfunc(b) beb = befunc(b) b1 = 4/b b1beb = b1*beb allocate( cq(1:n-1), sq(1:n-1) ) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo s2 = j=1,n-1 i=1,m-1 s2 = s2 + & cq(j)*alb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) + & cq(j)*b1beb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j))& + 4*f(x(2*i),y(2*j)) ) - & sq(j)*beb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) - & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) enddo enddo s2 = s2/3 deallocate( cq, sq ) elseif ( p.ne.0 and q.eq.0) then a = p*dx ala = alfunc(a) bea = befunc(a) a1 = 4/a a1bea = a1*bea allocate ( cp(1:m-1), sp(1:m-1) ) i=1,m-1 cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo s2 = i=1,m-1 j=1,n-1 s2 = s2 + & cp(i)*ala*( & f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i+1),y(2*j)) + 4*f(x(2*i-1),y(2*j)) ) & + cp(i)*a1bea*( & f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1))& + 4*f(x(2*i),y(2*j)) ) & - sp(i)*bea*( & - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1))& + f(x(2*i+1),y(2*j+1)) & - f(x(2*i-1),y(2*j+1)) -4*f(x(2*i+1),y(2*j)) & + 4*f(x(2*i-1),y(2*j)) ) enddo enddo s2 = s2/3 deallocate(cp,sp) else a = p*dx b = q*dy ala = alfunc(a) alb = alfunc(b) bea = befunc(a) beb = befunc(b) a1 = 4/a b1 = 4/b b1beb = b1*beb a1bea = a1*bea beaalb = bea*alb alaalb = ala*alb alabeb = ala*beb 90 a1b1beabeb a1beaalb b1alabeb a1beabeb b1beabeb beabeb = = = = = = a1bea*b1beb a1bea*alb ala*b1beb a1bea*beb bea*b1beb bea*beb allocate( cq(1:n-1), sq(1:n-1), cp(1:m-1), sp(1:m-1) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo i=1,m-1 cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo ) s2 = j=1,n-1 i=1,m-1 s2 = s2 + cp(i)*cq(j)*( & alaalb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1))) & + a1beaalb*( f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) ) & + b1alabeb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) ) & + a1b1beabeb*f(x(2*i),y(2*j)) ) & - cp(i)*sq(j)*( & alabeb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & +f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) ) & - a1beabeb*( f(x(2*i),y(2*j-1)) - f(x(2*i),y(2*j+1)) ) ) & - sp(i)*cq(j)*( & beaalb*( - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) & + b1beabeb*( f(x(2*i+1),y(2*j)) - f(x(2*i-1),y(2*j)) ) ) & + sp(i)*sq(j)*( & beabeb*( f(x(2*i-1),y(2*j-1)) & - f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1))& - f(x(2*i-1),y(2*j+1))) ) enddo enddo deallocate( cq, sq, cp, sp ) endif s2 = s2*dx*dy ! write(*,*), m,n, s1, s2, abs(s1-s2) if (abs(s1-s2) < eps) then exit else s1 = s2 endif deallocate(x,y) enddo s = s2 contains function alfunc (c) real(8),intent(in) :: c real(8) :: alfunc alfunc =sin(c)/c + 2*cos(c)/c/c - 2*sin(c)/c/c/c end function function befunc (c) real(8),intent(in) :: c real(8) :: befunc befunc = -cos(c)/c + sin(c)/c/c end function end function !=============================================================================== ! option 2: !=============================================================================== function filon2d_kind2_2 ( f, p, q, eps ) result(s) implicit none real(8) :: s interface function f(x,y) implicit none real(8),intent(in) :: x,y 91 real(8) :: f end function end interface integer,intent(in) :: p,q real(8),intent(in) :: eps integer :: m,n,k,i,j real(8) :: dx,dy,s1,s2,a,b,ala,alb,bea,beb real(8) :: a1,b1,b1beb,a1bea,alaalb,a1beaalb,b1alabeb real(8) :: a1beabeb,b1beabeb,beabeb,beaalb,alabeb,a1b1beabeb real(8),dimension(:),allocatable :: cq,cp,sq,sp,x,y s1 = -1.d+200 k=5,15 m = 2**k n = m dx = 0.5d0/(m-1) dy = 0.5d0/(n-1) allocate ( x(1:2*m), y(1:2*n) ) i=1,2*m x(i) = (i-1)*dx enddo j=1,2*n y(j) = (j-1)*dy enddo if ( p.eq.0 and q.eq.0 ) then s2 = j=1,n-1 i=1,m-1 s2 = s2 + f(x(2*i-1),y(2*j-1)) + + f(x(2*i+1),y(2*j+1)) + + 4*( f(x(2*i),y(2*j-1)) f(x(2*i),y(2*j+1)) + 4*f(x(2*i),y(2*j)) ) enddo enddo f(x(2*i+1),y(2*j-1)) & f(x(2*i-1),y(2*j+1)) & + f(x(2*i+1),y(2*j)) + & + f(x(2*i-1),y(2*j)) & s2 = s2/9 elseif( p.eq.0 and q.ne.0 ) then b = q*dy alb = alfunc(b) beb = befunc(b) b1 = 4/b b1beb = b1*beb allocate( cq(1:n-1), sq(1:n-1) ) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo s2 = j=1,n-1 i=1,m-1 s2 = s2 + & cq(j)*alb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) + & cq(j)*b1beb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) & + 4*f(x(2*i),y(2*j)) ) - & sq(j)*beb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) - & 4*f(x(2*i),y(2*j-1)) + 4*f(x(2*i),y(2*j+1)) ) enddo enddo s2 = s2/3 deallocate( cq, sq ) elseif ( p.ne.0 and q.eq.0) then a = p*dx ala = alfunc(a) bea = befunc(a) a1 = 4/a a1bea = a1*bea allocate ( cp(1:m-1), sp(1:m-1) ) i=1,m-1 cp(i) = cos(p*x(2*i)) 92 sp(i) = sin(p*x(2*i)) enddo s2 = i=1,m-1 j=1,n-1 s2 = s2 + & cp(i)*ala*( & f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) + & 4*f(x(2*i+1),y(2*j)) + 4*f(x(2*i-1),y(2*j)) ) & + cp(i)*a1bea*( & f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) + 4*f(x(2*i),y(2*j)) ) & - sp(i)*bea*( & - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1))& + f(x(2*i+1),y(2*j+1)) & - f(x(2*i-1),y(2*j+1)) -4*f(x(2*i+1),y(2*j))& + 4*f(x(2*i-1),y(2*j)) ) enddo enddo s2 = s2/3 deallocate(cp,sp) else a = p*dx b = q*dy ala = alfunc(a) alb = alfunc(b) bea = befunc(a) beb = befunc(b) a1 = 4/a b1 = 4/b b1beb = b1*beb a1bea = a1*bea beaalb = bea*alb alaalb = ala*alb alabeb = ala*beb a1b1beabeb = a1bea*b1beb a1beaalb = a1bea*alb b1alabeb = ala*b1beb a1beabeb = a1bea*beb b1beabeb = bea*b1beb beabeb = bea*beb allocate( cq(1:n-1), sq(1:n-1), cp(1:m-1), sp(1:m-1) j=1,n-1 cq(j) = cos(q*y(2*j)) sq(j) = sin(q*y(2*j)) enddo i=1,m-1 cp(i) = cos(p*x(2*i)) sp(i) = sin(p*x(2*i)) enddo ) s2 = j=1,n-1 i=1,m-1 s2 = s2 + cp(i)*cq(j)*( & alaalb*( f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) + & f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1))) & + a1beaalb*( f(x(2*i),y(2*j-1)) + f(x(2*i),y(2*j+1)) ) & + b1alabeb*( f(x(2*i+1),y(2*j)) + f(x(2*i-1),y(2*j)) ) & + a1b1beabeb*f(x(2*i),y(2*j)) ) & - cp(i)*sq(j)*( & alabeb*( -f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & +f(x(2*i+1),y(2*j+1)) + f(x(2*i-1),y(2*j+1)) ) & - a1beabeb*( f(x(2*i),y(2*j-1)) - f(x(2*i),y(2*j+1)) ) ) & - sp(i)*cq(j)*( & beaalb*( - f(x(2*i-1),y(2*j-1)) + f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) & + b1beabeb*( f(x(2*i+1),y(2*j)) - f(x(2*i-1),y(2*j)) ) ) & + sp(i)*sq(j)*( & beabeb*( f(x(2*i-1),y(2*j-1)) - f(x(2*i+1),y(2*j-1)) & + f(x(2*i+1),y(2*j+1)) - f(x(2*i-1),y(2*j+1))) ) enddo enddo deallocate( cq, sq, cp, sp ) endif 93 s2 = s2*dx*dy if (abs(s1-s2) < eps) then exit else s1 = s2 endif deallocate(x,y) enddo s = s2 contains function alfunc (c) real(8),intent(in) :: c real(8) :: alfunc alfunc =sin(c)/c + 2*cos(c)/c/c - 2*sin(c)/c/c/c end function function befunc (c) real(8),intent(in) :: c real(8) :: befunc befunc = -cos(c)/c + sin(c)/c/c end function end function !================= end of tools =========================================== end module 4.2.5 Chương trình - Biên dịch chương trình 1,2,3 #!/bin/bash set -x gfortran gfortran gfortran gfortran -O4 -O4 -O4 -O4 -c -fopenmp shared.f90 -c -fopenmp funclib.f90 -c -fopenmp routine.f90 -fopenmp prog.f90 shared.o funclib.o routine.o mygauleg_l.o 94 Chương Kết luận Luận văn với nội dung xấp xỉ H¨ older cho hàm nguồn phương trình nhiệt ngược thời gian với phương trình nhiệt ut ∆u ϕ t f x, y , toán mà ta xét tương ứng với phương trình nhiệt ✁ ✏ ♣q ♣ q ✩ ✏ ϕ♣tqf ♣x, yq, với t € ♣0, T q, ♣x, yq € Ω, ✬ ✫ uut ♣✁0,∆u y, tq ✏ ux ♣1, y, tq ✏ uy ♣x, 0, tq ✏ uy ♣x, 1, tq ✏ 0, x ✬ ✪ u♣1, y, tq ✏ 0, ♣ u x, y, T q ✏ g♣x, yq Bài toán không chỉnh Do tiểu luận có nhiệm vụ sử dụng phương pháp chỉnh hóa cần thiết để chỉnh hóa nó, từ với nghiệm chỉnh hóa sử dụng công cụ tính toán cần thiết để có kết số ngiệm chỉnh hóa cho đánh giá sai số nghiệm xác nghiệm chỉnh hóa Trong tiểu luận phương pháp chỉnh hóa mà tác giả sử dụng phương pháp khai triển Fourier, chuỗi Fourier cắt ngắn phương pháp nội suy Lagrange Với phương pháp chỉnh hóa tác giả tìm nghiệm chỉnh hóa cho hàm f cần tìm toán ➳ ♣ q✏ f x, y ➙ m,n 0,m2 ♣ q κ m, n F   n2 ↕ M ,m,n ♣ q ♣ q cos mπx cos nπy Các kết đánh giá sai số tính hội tụ nghiệm chỉnh hóa • lim Ñ0  f ✏ f0 L2 ♣Ωq € ♣ q • Nếu f0 H Ω lim cho Ñ0  f ✏ f0 H ♣Ωq có → phụ thuộc vào ♣ϕ0 , ⑥g⑥L ♣Ωq , ⑥f0 ⑥L ♣Ωq , ⑥u♣., , 0q⑥L ♣Ωq q 1 ⑥f0 ✁ f ⑥L ♣Ωq ↕ ❄   π1 ⑥f0 ⑥H ♣Ωq ❄ , ❅ € ♣0, q 10 • Nếu f0 € H ♣Ωq ❄ ⑥f0 ✁ f ⑥H ♣Ωq ↕ ❄   2 ⑥f0 ⑥H ♣Ωq ❄ , ❅ € ♣0, q 10 14 Song song với việc tìm nghiệm chỉnh hóa tác giả khẳng định tính nghiệm toán không gian hàm mà ta xét C 0, T ; L1 Ω L2 0, T ; H Ω , L2 Ω Với phần lý thuyết tác giả tìm công thức biểu diễn nghiệm chỉnh hóa khẳng định tính nghiệm toán phần thực hành việc tác giả sử dụng phương pháp giải số nghiệm số ứng với liệu đầu vào cụ thể Để tính nghiệm số nghiệm chỉnh hóa thực chấtlà tìm hệ số Fourier F ,m,n Trọng giá trị hệ số F ,m,n ♣ ♣r F ,m,n ✏ ✧ s ♣ qq ❳ ♣ ♣ r q♣ ♣ ♣ qq q H ϕ , g mπ, nπ , L A ; H ϕ , g , nπ q♣ ♣ qq nếu qs♣mπq, N N ↕ m2   n2 ↕ M , → m2   n2 , với ♣ H ϕ ,g m2 π q♣mπ, nπq ✏ F ♣g q♣mπ, nπq④D♣ϕ q♣mπ, nπq,   m2 π2 đủ lớn, ♣ q♣mπ, nπq ✏ ➺ F g ♣ q ♣ q ♣ q g x, y cos mπx cos nπy dxdy, Ω ♣ q♣mπ, nπq ✏ ➺T D ϕ e♣m 95 π2  n2 π2 q♣t✁T q ϕ ♣tqdt Ẩn hệ số F ,m,n tỉ số tích phân giá trị đa thức Lagrange diểm xác định Do trình tính F ,m,n việc tính tích phân tìm đa thức nội suy Lagrange Trong trình tính tích ➩ 2 2 phân 0T e♣m π  n π q♣t✁T q ϕ t dt tác giả sử dụng tích phân Gauss, tích phân F g mπ, nπ ➩ Ω g x, y cos mπx cos nπy dxdy tính phức tạp cao hàm dao động mạnh cos mπx cos nπy mà phần mềm tính tích phân tốt Matlab Maple không hiệu tác giả tự tính kết tích phân loại thông qua ý tưởng sử dụng phương pháp phần tử hữu hạn, cách tính tích phân kiểu tác giả thường gọi tích phân Filon Kết tích phân Filon mà tác giả tìm ♣ q ♣ q ♣ ♣q q ♣ ♣ q✏ ➺π➺π p ♣ q ✏ 91 δx δy ✁ ➳ ✁ ➳ n 1m ✏ ✏ j i ♣ q ✏ 13 δx δy ♣ q ♣ q ♣ q rf ♣x2i✁1 , y2j✁1 q   f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q   f ♣x2i✁1 , y2j 1 q   4♣f ♣x2i , y2j✁1 q   f ♣x2i 1 , y2j q   f ♣x2i , y2j 1 q   f ♣x2i✁1 , y2j qq   16f ♣x2i , y2j qs ✁ ➳ ✁ ➳ n 1m ✏ ✏ j i rsqj α♣bqrf ♣x2i✁1 , y2j✁1 q   f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q       ♣ q  ♣ q  ♣ qs ♣ qr ♣ q  ♣ q  ♣ s ♣ qr✁ ♣ q✁ ♣ q  ♣ q   f ♣x2i✁1 , y2j 1 q ✁ 4f ♣x2i , y2j✁1 q   4f ♣x2i , y2j 1 qss f x2i✁1 , y2j  1 4f x2i , y2j ✁1 4f x2i , y2j  1 sqj β b f x2i 1 , y2j f x2i✁1 , y2j 4f x2i , y2j b cqj β b f x2i✁1 , y2j ✁1 f x2i 1 , y2j ✁1 f x2i 1 , y2j  1 ✘ 0, q ✏ ♣ q ✏ 31 δx δy g p, q ✁ ✁ ➳ ➳ n 1m ✏ ✏ j i rspi α♣aqrf ♣x2i✁1 , y2j✁1 q   f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q     p ✏ 0, q ✘ g p, q p q✏ ✏ 0, q ✏ g p, q p ♣ q♣ q f x, y cos px cos qy dxdy g p, q Thì q ♣   ♣ q  ♣ q  ♣ qs ♣ qr ♣ q  ♣ q  ♣ qs ♣ qr✁ ♣ q  ♣ q  ♣ q ✁ f ♣x2i✁1 , y2j 1 q   4f ♣x2i 1 , y2j q ✁ 4f ♣x2i✁1 , y2j qss f x2i✁1 , y2j  1 4f x2i 1 , y2j 4f x2i✁1 , y2j spi β a f x2i , y2j ✁1 f x2i , y2j  1 4f x2i , y2j a cpi β a f x2i✁1 , y2j ✁1 f x2i 1 , y2j ✁1 f x2i 1 , y2j  1 ✘ 0, q ✘ ♣ q g p, q ✏ δx δy ✁ ➳ ✁ ➳ n 1m ✏ ✏ j i rspi sqj rα♣aqα♣bq rf ♣x2i✁1 , y2j✁1 q   f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q   f ♣x2i✁1 , y2j 1 qs   a4 β ♣aqα♣bq rf ♣x2i , y2j✁1 q   f ♣x2i✁1 , y2j 1 qs   4b α♣aqβ ♣bq rf ♣x2i 1 , y2j q   f ♣x2i✁1 , y2j qs   16 β ♣aqβ ♣bqf ♣x2i , y2j qs ab   spi cqj rα♣aqβ ♣bq r✁f ♣x2i✁1 , y2j✁1 q ✁ f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q   f ♣x2i✁1 , y2j 1 qs ✁ a4 β ♣aqβ ♣bqf ♣x2i , y2j✁1 q   a4 β ♣aqβ ♣bqf ♣x2i , y2j 1 qs   cpi sqj rβ ♣aqα♣bq r✁f ♣x2i✁1 , y2j✁1 q   f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q ✁ f ♣x2i✁1 , y2j 1 qs   4b β ♣aqβ ♣bqf ♣x2i 1 , y2j q ✁ 4b β ♣aqβ ♣bqf ♣x2i✁1 , y2j qs   cpi cqj rβ ♣aqβ ♣bq rf ♣x2i✁1 , y2j✁1 q ✁ f ♣x2i 1 , y2j✁1 q   f ♣x2i 1 , y2j 1 q ✁ f ♣x2i✁1 , y2j 1 qsss Trong phần tìm đa thức nội suy Lagrange giảm thiểu sai số tác giả chọn nút nội suy tốt nút Chebyshev, thuật toán tìm đa thức sở nhanh nhất, giảm thiểu công đoạn tính toán thuật toán Neville Với việc 96 tính tích phân tìm công thức tường minh việc tìm đa thức Lagrange tác giả xác định thuật toán Như vấn đề lại phần tính số lập trình phần mềm thích hợp mà Phần mềm tác giả lựa chọn phần mềm Fortran 90, lý mà tác gải chọn phần mềm tính toán mạnh thực thi công đoạn song song, vừa tính vừa so sánh kết tính với Chính mà phần mềm tốt hẳn phần mềm tính toán có với việc tính toán trọng ➦ tiểu luận Với phần mềm Fortran 90 tác giả tính toán kết tính nghiệm chỉnh hóa f x, y m,n➙0,m2  n2 ↕M κ m, n F ,m,n cos mπx cos nπy Đoạn mã chương trình tính toán để tiện sử dụng sau tác giả đưa vào tiểu luận Để minh họa trực quan kiểm chứng kết tính toán tác giả chọn lựa sáu ví dụ từ dễ tới khó Với ví dụ sau tính toán nghiệm chỉnh hóa f x, y tác giả vẽ hình nghiệm xác f , nghiệm chỉnh hóa f x, y để thấy trình hội tụ nghiệm xác f nghiệm chỉnh hóa f x, y , đồng thời tác giả đưa bảng sai số nghiệm chỉnh hóa nghiệm xác Như tiểu luận giải vấn đề chỉnh hóa kết tìm nghiệm chỉnh hóa f x, y , đánh giá tính hội tụ, sai số nghiệm chỉnh hóa nghiệm xác f Thế tiểu luận chưa giải vấn đề từ việc tìm nghiệm chỉnh hóa f x, y tìm tiếp nghiệm u x, y, t để toán xét tới tiểu luận giải trọn vẹn Đồng thời tiểu luận xét miền khảo sát hình chữ nhật hai chiều mà chưa khảo sát miền ba chiều phức tạp Trong phần giải số tiều luận chưa đề cập đánh giá sai số tích phân Gauss, Filon, chưa kết hợp đầy đủ sai số để đưa đánh giá sai số tổng cho nghiệm toán Với hạn chế với khuôn khổ tiểu luận mục tiêu mà tác giả hướng tới sau tiểu luận Việc giải vấn đề hạn chế gải trọn vẹn vấn đề mà tác giả đặt tiểu luận mở hướng nghiên cứu làm hoàn thiện lãnh vực toán ngược ♣ q✏ ♣ q ♣ q ♣ q ♣ q ♣ q ♣ q ♣ q ♣ q 5.1 ♣ Tài liệu tham khảo 97 q Tài liệu tham khảo [1] P.Borwein and T.Erdelyi(1995) Polynomials and polynomial inequalities In Graduate Texts in Mathematics Springer-Verlag, Berlin [2] J.R cannon (1968) Determination of unknown heat source from over specified boundary data SIAM J Numer Anal 5:275-86 [3] J.R cannon and S.P Esteva (1990) Some stability estimates for a heat source in term of over specified data in the 3-D heat equation J Math Anal Appl 147:363-371 [4] J.R cannon and S.P Esteva (1991) Uniqueness and stability of 3D heat source Inverse problems 7:57-62 [5] M Choulli and M Yamamoto (2004) Conditional stability in determining a heat source J Inverse Ill-Posed Problems 12:233-243 [6] A Farcas and D Lesnic (2006) The boundary-element method for the determination of a heat source dependent on the variable J Engrg Math 54:375-388 [7] B.T Johansson and D Lesnic (2007) Determination on a spacewise dependent heat source J.Comp Appl Math 209:66-80 [8] B.T Johansson and D Lesnic (2007) A variational method for identifying a spacewise dependent heat source IMA journal of Applied Mathematics 72:275-276 [9] B.T Johansson and D Lesnic (2008) A procedure for determining aspacewise dependent heat source and the initial temperature Applicable Analysis 87:265-276 [10] F Gena and Y Lin (to appear) Application of the variational iteration method to inverse heat source problems Computers and Mathematics with Applications [11] B.Ya Levin (1996) Lecture on Entire Function Tran Math Monographs, Vol 150, AMS, Providence [12] S Saitoh, V.K Tuan, and M Yamamoto (2002) Reverse convolution inequalities and applications to inverse heat source problems JIPAM J Inequal Pure Math 3(5) Article 80 (electronic) [13] S Saitoh, V.K Tuan, and M Yamamoto (2003) Convolution inequalities and applications JIPAM J Inequal Pure Math 4(3) Article 50 (electronic) [14] A Shidfar, A Zakerri, and A Neisi (2005) A two-dimensional inverse heat conduction problem for estimating heat source Int J Math Math Sci 10:1933-1941 [15] D.D Trong, N.T Long, and P.N Dinh Alain (2005) Nonhomogeneous heat equation: Identification and regularization for the inhomogeneous term J Math Anal Appl 312:93-104 [16] D.D Trong, P.H Quan, and P.N Dinh Alain (2006) Determination of a two-dimentional heat source: Uniqueness, regularization, and error estimate J Comp Appl Math 191:50-67 [17] D.D Trong, P.N Dinh Alain, and P.T Nam (2009) Determine the secial term of two-dimemtion heat source Applicable Analysis 88:457-474 [18] D.D Trong, M.N Minh, and P.T Nam (2009) Recovering a class of entire functions and application to heat equation, Procedure of the 7th Congress of Vietnamese Mathematics 2008 Vietnam J Math 37(2-3):399-417 [19] A.N Tikhonov (1935) Theorems d’unicate pour I’equation de la chaleur Math Sborn 42:199-216 [20] P Wang and K Zheng (1999) Determination of the source/sink term in a heat equation, Fourth Missisippi State Conference on Differential Equations and Computational Simulation Electronic J Diff Equations Conference 03, 119-125 [21] P Wang and K Zheng (2006) Reconstruction of spatial heat sources in heat conduction problems Applicable Analysis 85:459-465 [22] M Yamamoto and J Zou (2001) Simultaneous reconstruction of the initial temperature and heat radiative coefficient Inverse Problems 17:1181-1202 [23] M Yamamoto (1993) Conditional stability in termination of force terms of heat equations in a rectangle Math Comput Modelling 18:79-88 98 [24] M Yamamoto (1994) Conditional stability in termination of densities of heat equations in a bounded domain In: Control and Estimation of a Distributed Parameter system: Nonlinear Phenomena (Vorau, 1933), 359-370, Internat Ser Numer Math 118: Birkhauser, Babel [25] L Yan, F.L Yang, C.L Fu (2009) A meshles method for solving an inverse spacewise dependent heat source problem J Com Phys 228:123-136 99 ... từ việc xác định nguồn phương trình nhiệt ngược thời gian xây dựng Tikhonov năm 1935 [19] Tác giả theo sát kĩ thuật báo phương trình nhiệt xuôi thời gian [17] Sự khác biệt toán ngược ta tìm dạng... thu hồi nguồn f ♣ξ q cần nhiệt độ đầu nhiệt độ cuối Hơn nữa, việc đánh giá sai số không cho cách tường minh, dạng logarit Một câu hỏi tự nhiên đặt việc xấp xỉ nguồn f sử dụng nhiệt độ đầu nhiệt. .. toán Trong toán (1) hàm f cho ta tương ứng với toán ngược cổ điển để giải (1) ta tập trung vào tìm hàm f Bài toán ngược cổ điển toán tìm hàm nguồn F ♣ξ, tq thỏa mãn phương trình nhiệt ut ✁ ∆u ✏

Ngày đăng: 23/04/2017, 17:22

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w