@ DavidKetcheson menjawab hal-hal besar: Anda selalu dapat membangun metode pesanan cukup tinggi menggunakan ekstrapolasi, itu adalah ikatan yang sangat pesimistis dan Anda selalu dapat melakukan jauh lebih baik, semua yang bagus diperoleh dengan tangan (dengan bantuan beberapa komputer) alat aljabar), tidak ada batas bawah yang diketahui, dan metode urutan tertinggi adalah karena Feagin. Diberikan beberapa komentar, saya ingin melengkapi jawabannya dengan diskusi tentang tableaus canggih saat ini di lapangan.
Jika Anda menginginkan ringkasan dari tableaus RK, Anda dapat menemukannya di kode Julia ini . Kutipan untuk kertas yang mereka berasal ada di dokumen untuk tablo konstruktor. Dokumentasi pengembang untuk DifferentialEquations.jl mencantumkan semua tablo ini sebagai tersedia untuk digunakan , dan Anda dapat melihat di sini bahwa ini semua diuji dengan menggunakan suite integrasi berkelanjutan Travis dan AppVeyor untuk memastikan bahwa tidak hanya kondisi pesanan terpenuhi, tetapi mereka sebenarnya mencapai konvergensi yang diminta (pengujian verifikasi). Dari ini, Anda dapat melihat bahwa ada:
- 5 pesanan 9 metode
- 6 pesan 10 metode
- 2 memesan 12 metode
- Metode 1 pesanan 14
(yang dapat saya temukan yang dipublikasikan). Sekali lagi, semua diturunkan dengan tangan.
Tes konvergensi menunjukkan bahwa beberapa derivasi tidak dilakukan dengan presisi yang cukup tinggi untuk bekerja lebih dari angka 64-bit (mereka berkomentar seperti ini ). Jadi itu adalah hal yang menarik untuk diperhatikan: pada pesanan tinggi ini Anda biasanya hanya mendapatkan koefisien yang "untuk kesalahan x
" memenuhi persyaratan pesanan, tetapi ketika menggunakan aritmatika presisi sewenang-wenang Anda benar-benar dapat mendeteksi batas-batas ini. Jadi ketelitian yang Anda lakukan koefisien penting, dan Anda harus memilihnya untuk mencakup ketepatan yang ingin Anda uji (/ gunakan, tentu saja).
Jika Anda ingin banyak plot stabilitas, Anda bisa plot(tableau)
menggunakan resep Plots.jl. Seperangkat catatan yang baik yang memiliki banyak catatan ini dapat ditemukan di situs web Peter Stone (buka di bawah dan klik pada katakanlah skema 10 pesanan dan Anda akan mendapatkan banyak PDF). Ketika mengembangkan DifferentialEquations.jl, saya membuat set tableaus untuk secara sistematis mengatasinya pada masalah pengujian / lihat indikator analitis untuk melihat mana yang harus dimasukkan dalam perpustakaan utama. Saya membuat beberapa catatan cepat di sini . Seperti yang Anda lihat dari algoritma yang termasuk dalam perpustakaan utama, yang saya temukan berharga adalah metode Verner dan Feagin. Metode pesanan Verner 9 adalah metode urutan tertinggi dengan interpolant yang cocok dengan pesanan juga. Itu sesuatu yang harus dikenali: metode Feagin tidak memiliki interpolant yang cocok (meskipun Anda dapat mem-bootstrap Hermite, tetapi itu benar-benar tidak efisien).
Karena semuanya diimplementasikan dengan implementasi yang sangat efisien, Anda dapat bermain-main dengan mereka sendiri dan melihat betapa banyak perbedaan fitur yang sebenarnya. Ini adalah notebook Jupyter yang menunjukkan metode Feagin yang digunakan . Perhatikan bahwa plot konvergensi benar-benar 1e-48
salah. Metode pesanan tinggi hanya lebih efisien daripada metode pesanan rendah ketika Anda benar-benar membutuhkan toleransi yang sangat sangat rendah. Anda dapat menemukan beberapa tolok ukur yang menggunakan beberapa dari mereka di DiffEqBenchmarks.jl , meskipun ketika mereka digunakan biasanya metode urutan ke-9 Verner, dan biasanya menunjukkan bahwa tolok ukur tidak dalam rezim di mana urutan tinggi ini efisien.
Jadi jika Anda ingin bermain-main dan bekerja dengan beberapa metode tingkat tinggi, RK-Opt adalah apa yang saya temukan adalah alat yang baik untuk menurunkan beberapa (seperti yang disebutkan @DavidKetcheson), dan DifferentialEquations.jl memiliki semua metode yang diterbitkan (saya pikir? ) diimplementasikan sehingga Anda dapat dengan mudah menguji / benchmark terhadap mereka. Namun, kecuali Anda menemukan asumsi yang dapat dibatalkan, dari pengujian saya, saya belum dapat menemukan sesuatu yang mengalahkan metode Verner (pesanan 6-9) dan Feagin (pesanan 10+). YMMV, dan saya ingin melihat lebih banyak penelitian dalam hal ini.