Tolok ukur untuk basis Gröbner dan solusi sistem polinomial


10

Dalam pertanyaan baru-baru ini, sistem Solving dari 7 persamaan aljabar nonlinier secara simbolis , Brian Borchers secara eksperimental mengkonfirmasi bahwa Maple dapat menyelesaikan sistem polinomial yang tidak dapat ditangani oleh Matlab / Mupad. Saya telah mendengar di masa lalu dari orang-orang yang bekerja di lapangan bahwa Maple memiliki implementasi berkualitas tinggi dari basis Gröbner dan algoritma terkait (yang saya asumsikan adalah apa yang digunakan di sini).

Jadi saya tergoda untuk menyarankan "Matlab lambat pada masalah seperti ini, beralih ke Maple", tetapi saya ingin memiliki data untuk mendukung pernyataan ini.

Apakah ada serangkaian hasil benchmark yang membandingkan kecepatan dan efektivitas implementasi basis Gröbner dan solusi sistem polinomial dalam sistem aljabar komputer yang berbeda? (Maple, Mathematica, kotak alat simbolik Matlab, dan lain-lain).


Jangan lupa sympy!
Christian Clason

@ChristianClason Ya, pada prinsipnya ada banyak dari mereka. Singular, Macaulay, Magma, CoCoA, Gap, Sage, Axiom, Maxima, Yacas ... Apakah Anda percaya bahwa sympy sangat baik? Bagaimana cara ongkosnya pada masalah Alaa?
Federico Poloni

Bukannya saya percaya itu sangat baik, saya hanya tertarik karena itu tersedia secara luas, open source, dan cukup mudah dipelajari. Saya mencobanya pada masalah, tetapi tidak mendapatkan hasil apa pun (tapi saya juga tidak punya banyak kesabaran).
Christian Clason

Saya pikir kita harus membedakan antara perangkat lunak simbolik tujuan umum (SymPy, Maple, toolbox Matlab, Mathematica) dan lebih banyak kekuatan industri, paket tujuan khusus (Singular, CoCoA, Macaulay). Sage sedikit berbeda karena pada dasarnya hanya bundel banyak paket tujuan khusus (bersama dengan beberapa paket tujuan umum). Ada daftar berguna di Wikipedia .
Christian Clason

Alasan lain yang saya sebutkan sympy adalah karena ia mengisi peran yang sama dengan Alaa yang diminati - mudah digunakan hasilnya (melalui lambdify) dalam perhitungan numerik.
Christian Clason

Jawaban:


10

Saya memasang beberapa tolok ukur di sini: http://www.cecm.sfu.ca/~rpearcea/mgb.html

Ini untuk pesanan total gelar. Untuk menyelesaikan sistem Anda biasanya perlu melakukan lebih banyak pekerjaan. Pengaturan waktu untuk desktop midrange pada 2015 (Haswell Core i5 quad core).

Sistem tercepat pada satu inti adalah Magma, yang menggunakan aritmatika titik mengambang dan SSE / AVX. Magma adalah sistem terkuat karena memiliki implementasi FGLM dan Groebner walk yang baik (tidak diuji). Algoritma ini digunakan untuk mengonversi basis derajat total ke basis leksikografis yang memiliki bentuk segitiga. Maka Anda biasanya akan memperhitungkan faktor polinomial dalam variabel terendah.

mgb adalah pustaka C di Maple 2016 yang mengimplementasikan algoritma F4 untuk pesanan total dan eliminasi. Kinerjanya sebanding dengan Magma ketika menggunakan banyak core.

FGb adalah implementasi Faugere untuk F4. Versi yang diuji di sini berasal dari situs webnya, dan ini lebih cepat daripada versi di Maple.

Giac adalah sistem open source dengan implementasi F4. Ada sebuah makalah yang menggambarkannya http://arxiv.org/abs/1309.4044

Singular adalah sistem sumber terbuka untuk banyak perhitungan dalam geometri aljabar. Tolok ukur di sini menggunakan "modStd" yang merupakan versi multi-modular dari algoritma Buchberger. Anda dapat melihat algoritma Buchberger tidak bersaing dengan F4. Alasan dasarnya adalah bahwa F4 mengamortisasi biaya semua operasi monomial. Selain itu, Singular memiliki implementasi FGLM dan Groebner Walk yang cukup baik, serta algoritma lain yang berguna untuk penyelesaian.


Terima kasih, ini sangat berguna. Saya sedang mempertimbangkan untuk mengganti jawaban yang diterima.
Federico Poloni

8

Googling benchmark polynomial systemsmengarah ke beberapa hasil, termasuk Inisiatif Aljabar Komputer Aljabar Universitas Mannheim . Sayangnya, sebagian besar sudah ketinggalan zaman atau mati. Yang paling aktif tampaknya adalah SymbolicData Wiki , tetapi sejauh yang saya tahu, itu hanya mengumpulkan masalah benchmark , bukan hasil benchmark .

Beberapa perbandingan (berasal dari tahun 1996) dari Aksioma, Macsyma, Maple, Mathematica, MuPAD, dan Mengurangi penyelesaian sistem polinom dapat ditemukan di Hans-Gert Gräbe, Tentang Fasilitas Pemecahan Sistem Polinomial dari Axiom, Macsyma, Maple, Mathematica, MuPAD, dan Reduce , Preprint 11/96 des Instituts für Informatik, Universität Leipzig, Jerman, Desember 1996 . Kesimpulannya adalah bahwa Aksioma, Maple dan Mengurangi menang karena mereka menggunakan basis Gröbner (yang lain tidak pada saat ini), dengan Maple keluar sedikit di depan yang lain.

Ada juga perbandingan lama di situs web SINGULAR yang menunjukkan SINGULAR 2.0 (saat ini pada Desember 2015 adalah 4.0.2) mengalahkan Maple, antara lain.

Di sisi lain, publikasi yang lebih baru ( Yao Sun, Dongdai Lin, dan Dingkang Wang. 2015. Tentang penerapan algoritme dasar Gröbner berbasis tanda tangan menggunakan rutinitas aljabar linier dari M4RI. ACM Commun. Comput. Algebra 49, 2 (Agustus 2015) , 63-64 membandingkan implementasi algoritma Gröbner berbasis penulis dengan algoritma Maple, Singular dan Magma, dengan Magma lebih cepat dari dua paket lainnya dengan urutan besarnya (dan mengikat dengan implementasi penulis).

Jadi sepertinya sangat tergantung pada masalah (ukuran dan struktur) dan versi perangkat lunak yang paketnya paling cepat. Namun demikian, rekomendasi untuk menggunakan sistem aljabar komputer yang dikembangkan secara khusus dan bertujuan khusus seperti Singular, Magma atau Maple daripada perangkat lunak perhitungan simbolis tujuan umum adalah rekomendasi yang baik. Ini berlaku ganda untuk kotak peralatan dalam perangkat lunak numerik , yang menambahkan tingkat overhead lain dan biasanya beberapa versi di belakang perangkat lunak yang berdiri sendiri yang menjadi dasarnya (MuPAD, sebelumnya Maple, untuk kotak alat Matlab).


Terima kasih telah menyediakan sumber daya ini. Sangat mengejutkan bagi saya bahwa ada sangat sedikit atau tidak ada tolok ukur yang komprehensif dan terbaru.
Federico Poloni

6

Selalu ingat bahwa hasil dari tolok ukur apa pun akan tergantung, di samping ukuran masalah, pada bidang dasar di mana cincin polinom ditentukan (bilangan rasional atau bilangan bulat modulo beberapa kekuatan bilangan prima).

The FGB perpustakaan merupakan implementasi aktif dikembangkan dan kinerja tinggi dari algoritma F5. Sebuah tolok ukur yang membandingkan FGb dengan Magma dapat ditemukan di:

Faugère, J.-C. (2010). FGb: Perpustakaan untuk Komputasi Pangkalan Gröbner (hlm. 84–87). doi: 10.1007 / 978-3-642-15582-6_17

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.