Dokumentasi | CI | Cakupan | DOI | Unduhan |
---|---|---|---|---|
Jika Anda menggunakan Krylov.jl dalam karya Anda, harap mengutipnya menggunakan metadata yang diberikan dalam CITATION.cff
.
@article{montoison-orban-2023, author = {Montoison, Alexis and Orban, Dominique}, title = {{ Krylov.jl : A Julia basket of hand-picked Krylov methods}}, journal = {Journal of Open Source Software}, volume = {8}, number = {89}, pages = {5187}, year = {2023}, doi = {10.21105/joss.05187} }
Paket ini menyediakan implementasi metode Krylov tertentu yang paling berguna untuk berbagai masalah:
Sistem peringkat penuh persegi atau persegi panjang
Kapak = b
harus diselesaikan ketika b terletak pada ruang jangkauan A . Situasi ini terjadi ketika
A adalah persegi dan nonsingular,
A tinggi dan memiliki pangkat kolom penuh dan b terletak pada kisaran A .
Masalah kuadrat terkecil linier
minimalkan ‖ b - Kapak ‖
harus diselesaikan ketika b tidak berada dalam kisaran A (sistem tidak konsisten), terlepas dari bentuk dan peringkat A . Situasi ini terutama terjadi ketika
A berbentuk persegi dan tunggal,
A tinggi dan kurus.
Sistem yang tidak dapat ditentukan lebih jarang terjadi tetapi juga terjadi.
Jika x seperti itu jumlahnya tak terhingga (karena A kekurangan peringkat kolom), maka x dengan norma minimum dapat diidentifikasi
minimalkan ‖ x ‖ tunduk pada x ∈ argmin ‖ b - Ax ‖.
Masalah linear dengan norma terkecil
minimalkan ‖ x ‖ tunduk pada Ax = b
harus diselesaikan ketika A kekurangan peringkat kolom tetapi b berada dalam kisaran A (sistem yang konsisten), terlepas dari bentuk A . Situasi ini terutama terjadi ketika
A berbentuk persegi dan tunggal,
A pendek dan lebar.
Sistem yang ditentukan secara berlebihan lebih jarang terjadi tetapi juga terjadi.
Sistem yang berdekatan
Kapak = b dan Aᴴy = c
dimana A dapat berbentuk apa saja.
Sistem titik pelana dan sistem kuasi pasti Hermitian
[ M A ] [ x ] = [ B ]
[ Aᴴ -N ] [ kamu ] [ c ]
dimana A dapat berbentuk apa saja.
Sistem partisi titik pelana dan non-Hermitian yang digeneralisasi
[ M A ] [ x ] = [ B ]
[ B N ] [ kamu ] [ c ]
dimana A dapat berbentuk apa saja dan B berbentuk Aᴴ . A , B , b dan c semuanya harus bukan nol.
Pemecah Krylov sangat cocok digunakan dalam situasi di mana permasalahan tersebut harus diselesaikan tetapi faktorisasi tidak mungkin dilakukan, karena:
A tidak tersedia secara eksplisit,
A akan menjadi padat atau akan menghabiskan banyak memori jika terwujud,
faktor akan menghabiskan banyak memori.
Metode berulang direkomendasikan dalam salah satu situasi berikut:
masalahnya cukup besar sehingga faktorisasi tidak dapat dilaksanakan atau akan berjalan lambat,
prakondisi yang efektif diketahui dalam kasus di mana permasalahan memiliki struktur spektral yang tidak menguntungkan,
operator dapat direpresentasikan secara efisien sebagai matriks renggang,
operatornya cepat , yaitu dapat diterapkan dengan kompleksitas yang lebih baik dibandingkan jika diwujudkan dalam bentuk matriks. Operator cepat tertentu akan terwujud sebagai matriks padat .
Semua pemecah di Krylov.jl memiliki versi yang sudah ada, kompatibel dengan GPU dan bekerja di tipe data floating-point apa pun.
Krylov dapat diinstal dan diuji melalui manajer paket Julia:
julia> ] pkg> tambahkan Krylov pkg> uji Krylov
Jika Anda merasa menemukan bug, silakan buka terbitannya. Saran dan permintaan terfokus juga dapat dibuka sebagai masalah. Sebelum membuka permintaan tarik, silakan memulai masalah atau diskusi tentang topik tersebut.
Jika Anda ingin mengajukan pertanyaan yang tidak cocok untuk laporan bug, silakan memulai diskusi di sini. Forum ini ditujukan untuk diskusi umum tentang repositori ini dan organisasi JuliaSmoothOptimizers, jadi pertanyaan tentang paket kami apa pun dipersilakan.