Làm thế nào để tính toán dư lượng?


15

Tôi cần tính tích phân sau: Trong đólà một ma trận (một hạt động học và năng lượng tiềm năng được biểu thị trong một cơ sở),là một ma trận phụ thuộc vào(hàm Green của một hạt nhiều cơ thể) và tích phân đường viền là một hình bán nguyệt trái. Integrandcó các cực trên trục thực âm và rất tốn kém để đánh giá. Cách hiệu quả nhất để tính tích phân như vậy là gì?

12πTôiCf(E)dE
hGEf(E)
f(E)= =Tr((h+E)G(E))
hGEf(E)

Đây là nghiên cứu của tôi cho đến nay:

1) Tôi sử dụng tích hợp Gaussian, đường dẫn tích hợp của tôi là một hình chữ nhật. Tôi đã cố định bên trái và bên phải (tức là chiều rộng) và chơi với chiều cao (trên và dưới trục thực) sao cho thứ tự tích hợp đã cho tôi có độ chính xác cao nhất. Ví dụ, đối với đơn hàng 20, nếu chiều cao quá lớn, độ chính xác sẽ giảm (rõ ràng), nhưng nếu quá nhỏ, nó cũng đi xuống (lý thuyết của tôi là nó cần nhiều hơn và nhiều điểm hơn xung quanh các cực khi chiều cao đi đến 0). Tôi giải quyết với chiều cao tối ưu 0,5 cho chức năng của tôi.

2) Sau đó, tôi đặt bên phải của hình chữ nhật ở E0, thường là E0 = 0, nhưng nó có thể là E0 = -0.2 hoặc một cái gì đó tương tự.

3) Tôi bắt đầu di chuyển bên trái của hình chữ nhật sang bên trái và với mỗi bước tôi thực hiện hội tụ thứ tự tích hợp để đảm bảo tích phân của tôi được hội tụ đầy đủ cho mỗi hình chữ nhật. Bằng cách tăng chiều rộng, cuối cùng tôi nhận được một giá trị hội tụ trong giới hạn của hình bán nguyệt trái vô hạn.

Tính toán thực sự chậm và cũng không chính xác cho chiều rộng lớn. Một cải tiến là chỉ cần phân vùng chiều rộng dài thành "phần tử" và sử dụng tích hợp Gaussian trên mỗi phần tử (giống như trong FE).

Một lựa chọn khác là tích hợp một vòng tròn nhỏ xung quanh mỗi cực và tổng hợp lại. Các vấn đề:

a) Làm thế nào để tìm số cực của hàm ? Nó nên mạnh mẽ. Điều duy nhất tôi biết là chúng nằm trên trục thực âm. Đối với một số người trong số họ (nhưng không phải tất cả) tôi cũng biết một dự đoán ban đầu khá tốt. Có tồn tại một phương thức hoạt động cho bất kỳ chức năng phân tích nào không? Hoặc nó phụ thuộc vào hình thức thực tế của ?f ( E ) f ( E )f(E)f(E)f(E)

b) Một khi chúng ta biết các cực, sơ đồ số nào là tốt nhất để tích hợp vòng tròn nhỏ xung quanh nó? Tôi có nên sử dụng tích hợp Gaussian trên một vòng tròn? Hoặc tôi nên sử dụng một số phân phối thống nhất của các điểm?

Một lựa chọn khác có thể là một khi tôi biết các cực nhờ a), có thể có một số cách bán phân tích để có được các Dư lượng mà không cần sự tích hợp phức tạp. Nhưng bây giờ tôi rất vui khi chỉ tối ưu hóa tích hợp đường viền.


1
Bạn đã kiểm tra cuốn sách "Phương pháp số cho phép đảo ngược biến đổi Laplace" của Cohen (2007) chưa? IIRC, Robert Piessens (của danh tiếng QUADPACK) cũng đã làm việc về chủ đề này.
GertVdE

Câu trả lời:


7

Tôi có thể đưa ra một gợi ý cho câu hỏi đầu tiên của bạn: Nếu bạn biết các cực của bạn ở đâu đó dọc theo trục thực, bạn có thể bản địa hóa chúng khá hiệu quả bằng cách sử dụng phép nội suy / xấp xỉ Rational . Số tiền này để tìm đa thức q ( x ) sao chop(x)q(x)

f(x)p(x)q(x)

xf(x) q(x)

Nội suy / xấp xỉ hợp lý có thể là một điều khó khăn, nhưng gần đây tôi đã đồng tác giả một bài báo về thuật toán ổn định để tính toán chúng bằng cách sử dụng SVD. Bài viết chứa mã Matlab thực hiện thuật toán và phiên bản mở rộng hơn có sẵn như là chức năng ratinterptrong dự án Chebfun , trong đó tôi là một trong những nhà phát triển.

Đối với câu hỏi thứ hai của bạn, bài viết này có thể hữu ích.


Cám ơn vì những mẹo hay! Đây là mã netlib.org/toms/579 của tờ báo Bengt Fornberg. Thật không may, có một số lỗi về số, vì đây là đầu ra mà tôi đang nhận được: gist.github.com/2942970#fileDefput . Vì vậy, tôi sẽ phải thực hiện lại hoặc gỡ lỗi nó. Liên kết Chebfun mang lại cho tôi 404 (Tôi đã thử nó vài tháng trước với cùng kết quả, vì vậy có lẽ đơn giản là nó không hoạt động từ Hoa Kỳ).
Ondřej Čertík

@ OndřejČertík: Tôi chưa bao giờ sử dụng mã TOMS 579, vì vậy tôi không biết phải nói gì với bạn về các lỗi. Đối với trang chủ Chebfun, bạn có thể thử "googling" nó và xem nếu nó hoạt động sau đó?
Pedro

Google tìm thấy trang chủ Chebfun và hiển thị các phiên bản được lưu trong bộ nhớ cache. Nhưng khi tôi nhấp vào trang, đây là những gì tôi nhận được: pastehtml.com/view/c1ts4h3ct.html
Ondřej ertík

Hãy thử một trình duyệt khác? Hoặc từ một ISP khác. Trang web hoạt động tốt từ đây (ở Mỹ.)
Costis

Tôi đã thử Firefox và Chrome. Vì vậy, nó phải bởi ISP của tôi. Kỳ dị.
Ondřej Čertík
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.