Benchmarks für Gröbner-Basen und Polynomsystemlösung


10

In der jüngsten Frage Das symbolische Lösen eines Systems von 7 nichtlinearen algebraischen Gleichungen bestätigte Brian Borchers experimentell, dass Maple ein Polynomsystem lösen kann, das Matlab / Mupad nicht handhaben kann. Ich habe in der Vergangenheit von Fachleuten gehört, dass Maple eine qualitativ hochwertige Implementierung von Gröbner-Basen und verwandten Algorithmen hat (von denen ich annehme, dass sie hier verwendet werden).

Daher bin ich versucht vorzuschlagen, dass "Matlab bei solchen Problemen nur langsam vorgeht, wechseln Sie zu Maple", aber ich hätte gerne Daten, um diese Aussage zu sichern.

Gibt es eine Reihe von Benchmark-Ergebnissen, die die Geschwindigkeit und Effektivität von Gröbner-Basisimplementierungen und Polynomsystemlösungen in verschiedenen Computeralgebrasystemen vergleichen? (Maple, Mathematica, Matlabs symbolische Werkzeugkiste usw.).


Vergiss nicht sympy!
Christian Clason

@ChristianClason Ja, im Prinzip gibt es viele davon. Singular, Macaulay, Magma, CoCoA, Gap, Salbei, Axiom, Maxima, Yacas ... Glauben Sie, dass Sympy besonders gut ist? Wie sieht es mit Alaas Problem aus?
Federico Poloni

Es ist nicht so, dass ich glaube, dass es besonders gut ist, ich bin nur daran interessiert, da es weit verbreitet, Open Source und ziemlich einfach zu erlernen ist. Ich habe es mit dem Problem versucht, aber kein Ergebnis erzielt (aber ich hatte auch nicht viel Geduld).
Christian Clason

Ich denke, man sollte zwischen universeller symbolischer Software (SymPy, Maple, Matlabs Toolbox, Mathematica) und den industrietauglicheren Spezialpaketen (Singular, CoCoA, Macaulay) unterscheiden. Salbei ist ein bisschen anders, weil es im Wesentlichen nur viele Spezialpakete (zusammen mit einigen Allzweckpaketen) bündelt. Es gibt eine nützliche Liste auf Wikipedia .
Christian Clason

Ein weiterer Grund, warum ich Sympy erwähnt habe, ist, dass es dieselbe Rolle ausfüllt, an der Alaa interessiert ist - es ist einfach, die Ergebnisse (via lambdify) in numerischen Berechnungen zu verwenden.
Christian Clason

Antworten:


10

Ich habe hier einige Benchmarks veröffentlicht: http://www.cecm.sfu.ca/~rpearcea/mgb.html

Diese gelten für Gesamtabschlussaufträge. Um Systeme zu lösen, müssen Sie normalerweise mehr arbeiten. Die Timings gelten für einen typischen Midrange-Desktop ab 2015 (Haswell Core i5 Quad Core).

Das schnellste System auf einem Kern ist Magma, das Gleitkomma-Arithmetik und SSE / AVX verwendet. Magma ist das stärkste System, da es gute Implementierungen von FGLM und dem Groebner Walk (nicht getestet) aufweist. Diese Algorithmen werden verwendet, um eine Gesamtgradbasis in eine lexikografische Basis umzuwandeln, die eine dreieckige Form hat. Dann würden Sie normalerweise Polynome in die niedrigsten Variablen einbeziehen.

mgb ist die C-Bibliothek in Maple 2016, die den F4-Algorithmus für Gesamtgrad- und Eliminierungsreihenfolgen implementiert. Die Leistung ist vergleichbar mit der von Magma, wenn mehrere Kerne verwendet werden.

FGb ist Faugeres Implementierung von F4. Die hier getestete Version stammt von seiner Website und ist schneller als die Version in Maple.

Giac ist ein Open Source System mit einer Implementierung von F4. Es gibt ein Papier, das es beschreibt http://arxiv.org/abs/1309.4044

Singular ist ein Open-Source-System für viele Berechnungen in algebraischer Geometrie. Die Benchmarks verwenden hier "modStd", eine multimodulare Version des Buchberger-Algorithmus. Sie können sehen, dass der Buchberger-Algorithmus nicht mit F4 konkurriert. Der Hauptgrund ist, dass F4 die Kosten aller Monomialoperationen amortisiert. Abgesehen davon hat Singular einigermaßen gute Implementierungen von FGLM und Groebner Walk sowie andere Algorithmen, die zum Lösen nützlich sind.


Danke, das ist sehr nützlich. Ich denke darüber nach, die akzeptierte Antwort zu wechseln.
Federico Poloni

8

Googeln benchmark polynomial systemsführt zu einigen Hits, darunter die Computer Algebra Benchmark Initiative der Universität Mannheim . Leider sind die meisten davon veraltet oder nicht mehr aktuell. Das aktivste scheint das SymbolicData-Wiki zu sein , aber soweit ich das beurteilen kann, werden nur Benchmark- Probleme erfasst , keine Benchmark- Ergebnisse .

Einige Vergleiche (aus dem Jahr 1996) von Axiom, Macsyma, Maple, Mathematica, MuPAD und Reduzieren von Polynomsystemen finden sich in Hans-Gert Gräbe, Über die Polynomsystem-Lösungsfunktion von Axiom, Macsyma, Maple, Mathematica, MuPAD, und Reduzieren , Preprint 11/96 des Instituts für Informatik, Universität Leipzig, Dezember 1996 . Die Schlussfolgerung ist, dass Axiom, Maple und Reduce aufgrund der Verwendung von Gröbner-Basen gewinnen (die anderen zu diesem Zeitpunkt noch nicht), wobei Maple etwas vor den anderen liegt.

Es gibt auch einen alten Vergleich auf der SINGULAR-Website, der zeigt, dass SINGULAR 2.0 (Stand Dezember 2015 ist 4.0.2) unter anderem Maple schlägt.

Eine neuere Veröffentlichung ( Yao Sun, Dongdai Lin und Dingkang Wang. 2015. Zur Implementierung signaturbasierter Gröbner-Basisalgorithmen unter Verwendung linearer algebraischer Routinen von M4RI. ACM Commun. Comput. Algebra 49, 2 (August 2015) , 63-64 vergleichen die Implementierung eines Gröbner- Basisalgorithmus durch die Autoren mit der von Maple, Singular und Magma, wobei Magma um eine Größenordnung schneller ist als die beiden anderen Pakete (und mit der Implementierung der Autoren verknüpft ist).

Es scheint also sehr stark vom Problem (Größe sowie Struktur) und der Softwareversion abzuhängen, welches Paket das schnellste ist. Dennoch ist die Empfehlung, ein aktiv entwickeltes, spezielles Computeralgebrasystem wie Singular, Magma oder Maple anstelle einer universellen symbolischen Berechnungssoftware zu verwenden, vernünftig. Dies gilt doppelt für eine Toolbox in einer numerischen Software, die einen weiteren Overhead hinzufügt und normalerweise mehrere Versionen hinter der eigenständigen Software enthält, auf der sie basieren (MuPAD, zuvor Maple, im Fall der Matlab-Toolbox).


Vielen Dank für die Bereitstellung dieser Ressourcen. Es überrascht mich, dass es nur sehr wenige oder keine umfassenden und aktuellen Benchmarks gibt.
Federico Poloni

6

Denken Sie immer daran, dass die Ergebnisse eines Benchmarks zusätzlich zur Größe des Problems von dem Basisfeld abhängen, über das der Polynomring definiert ist (rationale Zahlen oder ganze Zahlen modulo eine Potenz einer Primzahl).

Die FGb-Bibliothek ist eine aktiv entwickelte und leistungsstarke Implementierung des F5-Algorithmus. Ein Benchmark, der FGb mit Magma vergleicht, findet sich in:

Faugère, J.-C. (2010). FGb: Eine Bibliothek zur Berechnung von Gröbner-Basen (S. 84–87). doi: 10.1007 / 978-3-642-15582-6_17

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.