Untuk proyek yang sedang saya kerjakan (dalam PDE hiperbolik), saya ingin menangani perilaku tersebut dengan melihat beberapa angka. Namun, saya bukan programmer yang sangat baik.
Bisakah Anda merekomendasikan beberapa sumber untuk mempelajari cara kode skema perbedaan hingga secara efektif dalam Scientific Python (bahasa lain dengan kurva belajar kecil juga diterima)?
Untuk memberi Anda gambaran tentang audiens (saya) untuk rekomendasi ini:
- Saya seorang ahli matematika murni dengan pelatihan, dan saya agak akrab dengan aspek teoritis dari skema beda hingga
- Apa yang saya perlu bantuan adalah bagaimana membuat komputer menghitung apa yang saya inginkan, terutama dengan cara yang saya tidak menduplikasi terlalu banyak upaya yang sudah dilakukan oleh orang lain (agar tidak menciptakan kembali roda saat paket sudah tersedia). (Hal lain yang ingin saya hindari adalah dengan bodohnya mengkodekan sesuatu dengan tangan ketika ada struktur data yang sesuai dengan tujuannya.)
- Saya telah memiliki beberapa pengalaman pengkodean; tapi saya tidak punya di Python (maka saya tidak keberatan jika ada sumber daya yang baik untuk belajar bahasa yang berbeda [katakanlah, Oktaf misalnya]).
- Buku-buku, dokumentasi keduanya akan berguna, seperti koleksi contoh kode.
python
finite-difference
reference-request
hyperbolic-pde
Willie Wong
sumber
sumber
Jawaban:
Berikut adalah contoh 97-garis penyelesaian PDE multivariat sederhana menggunakan metode beda hingga, disumbangkan oleh Prof. David Ketcheson , dari repositori py4sci yang saya pelihara . Untuk masalah yang lebih rumit di mana Anda perlu menangani guncangan atau konservasi dalam diskritisasi volume terbatas, saya sarankan melihat pyclaw , paket perangkat lunak yang saya bantu kembangkan.
sumber
Anda bisa melihat Fenics , yang merupakan kerangka python / C yang memungkinkan persamaan yang cukup umum untuk diselesaikan menggunakan bahasa markup khusus. Ini sebagian besar menggunakan elemen hingga, tetapi patut dilihat. The tutorial harus memberikan kesan betapa mudahnya dapat untuk memecahkan masalah.
sumber
Referensi ini mungkin sangat berguna bagi Anda. Ini adalah buku terbuka di internet. Saya belajar (masih belajar), python dari buku ini. Saya menemukan sumber daya yang sangat bagus.
http://www.openbookproject.net/thinkcs/python/english2e/
Untuk perhitungan numerik, seseorang harus menggunakan 'numpy'. (hanya pastikan bahwa Anda telah memahami 'array' dan 'matrix' dan 'daftar' dengan benar) (lihat dokumentasi numpy untuk itu)
sumber