Làm cách nào tôi có thể giải số ODE thành chữ số chính xác?


8

Giả sử chúng ta có một vấn đề giá trị ban đầu có dạng trong đó được biết chính xác (nghĩa là chính xác không giới hạn) và chúng tôi có thể đánh giá hiệu quả với bất kỳ độ chính xác nào. Điều đó có nghĩa là, chúng ta có một hộp đen, với một vectơ và một số nguyên , trả về một xấp xỉ cho được đảm bảo là chính xác để chữ số trong thời gian đa thức trong . Tôi muốn biết nếu có bất kỳ phương pháp thực tế nào để có được một xấp xỉx 0R n f : R nR n xR n M f f ( x ) M M x ( t f )

dxdt= =f(x)x(0)= =x0
x0Rnf:RnRnxRnMf(x)MMx(tf) (trong đó là một số thời gian cuối cùng đã cho) có thể chứng minh đúng với chữ số .NtfRN

Rõ ràng, điều này sẽ không thể xảy ra đối với bất kỳ chức năng nào , vì có thể có một số hành vi điên rồ làm thay đổi mạnh mẽ giải pháp thực sự nhưng không được chọn trong bất kỳ số lượng đánh giá hợp lý. Vì vậy, tôi cũng quan tâm đến việc biết loại điều kiện hành vi tốt nào trên (ví dụ: tất cả các dẫn xuất một phần tồn tại và bị ràng buộc, hằng số Môi nhỏ, v.v.) sẽ cần thiết để làm điều này. f ff:RnRnff


Hầu hết các phương thức phổ biến sẽ không phù hợp vì chúng có lỗi hoạt động như , do đó yêu cầu dẫn đến số bước theo cấp số nhân trong : . Có lẽ một số phương pháp như phương pháp quang phổ sẽ cho phép bạn làm điều này nếu bạn có thể hiển thị lỗi nhỏ theo cấp số nhân trong . Vì mỗi bước là một số hữu hạn các phép toán hợp lý trên các số có độ dài , không tính các đánh giá hộp đen, mỗi phép tính đa thức thời gian trong , có lẽ đó là kích thước bước quan trọng nhất. hshs10MM1/h10M/s1/hO(M)M
Kirill

@Kirill: Theo cách tiếp cận phổ (hoặc sử dụng các phương pháp ODE truyền thống khác), tôi nghĩ OP sẽ cần biết các hằng số hàng đầu cho các tiệm cận để có được chứng chỉ về độ chính xác. Các hằng số này sẽ đến từ phân tích hoặc tính toán thông qua số học khoảng.
Geoff Oxberry

Câu trả lời:


9

Tôi muốn biết liệu có bất kỳ phương pháp thực tế nào để đạt được xấp xỉ với (trong đó là một số thời gian cuối cùng đã cho) có thể chứng minh đúng với các chữ số [sic] .x(tf)tfRN

Tất cả phụ thuộc vào ý kiến ​​của bạn về tính thực tiễn của số học khoảng. Có các nhà tích hợp được xác thực có sẵn, chẳng hạn như mã COZY trong nhóm của Martin Berz. Bạn có thể muốn xem các bài báo của Neumaier, Nedialkov, Berz & Makino, Chachuat, Stadtherr, và có thể một vài nhóm khác. Các bài báo của họ có xu hướng sử dụng các cụm từ "mô hình Taylor", "tích hợp xác nhận" và "số học khoảng" trong số những người khác.

Rõ ràng, điều này sẽ không thể xảy ra đối với bất kỳ chức năng nào , vì có thể có một số hành vi điên rồ làm thay đổi mạnh mẽ giải pháp thực sự nhưng không phải là ' t chọn trong bất kỳ số lượng đánh giá hợp lý. Vì vậy, tôi cũng quan tâm đến việc biết loại điều kiện hành vi tốt nào trên (ví dụ: tất cả các dẫn xuất một phần tồn tại và bị ràng buộc, hằng số Môi nhỏ, v.v.) sẽ cần thiết để làm điều này.f:RnRnff

Các bằng chứng tiêu chuẩn (ở đây, tôi đang nghĩ đến việc chứng minh Dahlquist của, ví dụ) thường sử dụng bất đẳng thức Gronwall-type cho vọt lỗi, vì vậy về mặt lý thuyết, bạn nên chỉ cần một Lipschitz liên tục bị chặn trên các miền trong mà bạn quan tâm, mà nói với một số điều mà WolfgangBangerth đang nói đến, mặc dù tôi không biết rằng một cuốn sách giáo khoa cấp độ như Hairer và Wanner sẽ thảo luận cụ thể về độ chính xác mà bạn có thể đánh giá f ( x ) ; Cuốn sách của Higham về tính chính xác và ổn định của phương pháp số có thể thảo luận về điểm này.Rnf(x)

Trong thực tế, đối với các phương pháp mô hình Taylor mà tôi đã đề cập ở trên, bạn thường cần kết hợp các điều kiện lý thuyết và thực tiễn. Phần lý thuyết rất đơn giản: nếu bạn muốn một mô hình Taylor thứ , bạn cần một hàm trong C k . Phần thực hiện, nói lên vấn đề của bạn về tính thực tiễn, là khó hơn.kCk

Từ góc độ người dùng, các nhà tích hợp này nắm bắt được hai điều (-ish):

  • Tôi có mã nguồn để đánh giá không? (Một tệp đối tượng không đủ.)f
  • Tôi có thể tăng mã nguồn này để tương thích với thư viện phân biệt tự động, cũng như thư viện số học khoảng không?

Giả sử hàm có thể được phân tích cú pháp hoặc quá tải toán tử (tùy thuộc vào công nghệ phân biệt tự động được sử dụng) và giả sử bạn có thể tạo một hàm sẽ tính toán phần mở rộng khoảng của và các đạo hàm k đầu tiên của nó , sau đó bạn có thể thực hiện phương thức tích hợp được xác thực với k th-order Taylor model.fkk

Đối với các phương pháp giải quyết ODE điển hình, để nhận xét về câu trả lời của Wolfgang:

Tôi không nghĩ rằng bạn có thể nhận được chứng chỉ rằng lỗi nằm dưới một con số nhất định, nhưng bạn sẽ nhận được rằng ước tính nằm dưới mức cho phép của bạn.

Bất kỳ phương pháp nào có công cụ ước tính lỗi nhúng đều có thông tin mà Wolfgang đề cập đến. Thông thường, điều này có nghĩa là phương pháp tích hợp thực sự tính toán hai (hoặc nhiều giải pháp; ví dụ: DOP853 tính toán 3 giải pháp) và so sánh chúng thông qua một số định mức. Giả định là giải pháp bậc cao là chính xác hơn, điều này có thể không thực sự đúng, tùy thuộc vào vấn đề nhất định, bước thời gian, điều kiện ban đầu, v.v. Giải pháp được trả về bởi một triển khai có thể là bất kỳ giải pháp ứng cử viên nào được tính toán. Lấy trường hợp Runge-Kutta 4 (5) phổ biến làm ví dụ, người ta có thể trả về giải pháp bậc 4 hoặc giải pháp bậc 5; cách tiếp cận thông thường sử dụng các công thức Dormand-Prince, giúp giảm thiểu lỗi trong giải pháp bậc 5 và trả về điều đó, thay vì giải pháp bậc 4, bởi vì giải pháp thứ 5 có nhiều khả năng chính xác hơn. Ngoài việc xem xét các vấn đề ổn định, tôi nghĩ bạn nên xem xét kiểm soát lỗi (Phần II.4 của Hairer và Wanner); sự ổn định là cần thiết, nhưng không đủ cho độ chính xác.

MM


Tôi muốn rút lại câu trả lời của mình vì @ geoffoxberry chỉ tốt hơn tôi rất nhiều ...
Wolfgang Bangerth

2

Câu hỏi đầu tiên của bạn là thứ bạn thực sự có thể nhận được từ hầu hết các nhà tích hợp ODE đóng hộp vì tất cả chúng, bằng cách này hay cách khác, theo dõi các ước tính về lỗi. Tôi không nghĩ rằng bạn có thể nhận được chứng chỉ rằng lỗi nằm dưới một con số nhất định, nhưng bạn sẽ nhận được rằng ước tính nằm dưới mức cho phép của bạn.

f(x)ff

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.