グレブナー基底と多項式システムソリューションのベンチマーク


10

ブライアンボーチャーズは、最近の質問である7つの非線形代数方程式を記号的に解くシステムで、Matlab / Mupadが処理できない多項式システムをMapleで解くことができることを実験的に確認しました。Mapleにはグレブナー基底と関連アルゴリズム(ここで使用しているものだと思います)の高品質な実装があることを、現場で働いている人々から以前に聞いたことがあります。

「Matlabはこの種の問題で遅いのでMapleに切り替えてください」と提案したくなりますが、このステートメントを裏付けるデータが欲しいです。

さまざまなコンピューター代数システムにおけるグレブナー基底の実装と多項式システムソリューションの速度と有効性を比較する一連のベンチマーク結果はありますか?(Maple、Mathematica、Matlabの象徴的なツールボックスなど)。


忘れずにsympy
クリスチャンクラソン

@ChristianClasonはい、原則としてたくさんあります。Singular、Macaulay、Magma、CoCoA、Gap、Sage、Axiom、Maxima、Yacas ... sympyが特に良いと思いますか?Alaaの問題にどのように対処しますか?
フェデリコポローニ2015

それが特に良いと思っているわけではありません。広く利用可能で、オープンソースであり、かなり簡単に学ぶことができるので、興味があるだけです。問題を試してみましたが、結果は出ませんでした(しかし、忍耐力もあまりありませんでした)。
クリスチャンクラソン

汎用のシンボリックソフトウェア(SymPy、Maple、Matlabのツールボックス、Mathematica)と、より強力な特殊用途のパッケージ(Singular、CoCoA、Macaulay)を区別する必要があると思います。Sageは、基本的に多くの専用パッケージ(いくつかの汎用パッケージと一緒に)のみをバンドルしているため、少し異なります。ウィキペディアに役立つリストがあります。
クリスチャンクラソン

sympyについて言及したもう1つの理由は、Alaaが関心を持っているのと同じ役割を果たしていることlambdifyです。数値計算で(を使用して)結果を簡単に使用できます。
Christian Clason、2015

回答:


10

ここにいくつかのベンチマークを投稿しました:http : //www.cecm.sfu.ca/~rpearcea/mgb.html

これらは、全学位注文用です。システムを解くには、通常、より多くの作業を行う必要があります。タイミングは、2015年時点の典型的なミッドレンジデスクトップ(Haswell Core i5クアッドコア)用です。

1つのコアで最速のシステムは、浮動小数点演算とSSE / AVXを使用するマグマです。マグマは、FGLMとGroebner Walk(テストされていません)の実装が優れているため、最も強力なシステムです。これらのアルゴリズムは、全次数の基底を三角形の形式の辞書式基底に変換するために使用されます。次に、通常、最も低い変数に多項式を因数分解します。

mgbはMaple 2016のCライブラリであり、全次数と消去順序のF4アルゴリズムを実装しています。複数のコアを使用する場合、そのパフォーマンスはマグマに匹敵します。

FGbは、FaugereによるF4の実装です。ここでテストされたバージョンは彼のウェブサイトからのものであり、Mapleのバージョンよりも高速です。

Giacは、F4を実装したオープンソースシステムです。それを説明する論文がありますhttp://arxiv.org/abs/1309.4044

Singularは、代数幾何学における多くの計算のためのオープンソースシステムです。ここでのベンチマークは、Buchbergerアルゴリズムのマルチモジュラーバージョンである「modStd」を使用しています。BuchbergerアルゴリズムはF4と競合しないことがわかります。基本的な理由は、F4がすべての単項式操作のコストを償却するためです。それとは別に、SingularはFGLMとGroebner Walkの合理的な優れた実装、および解決に役立つ他のアルゴリズムを備えています。


おかげで、これは非常に便利です。受け付けた回答の切り替えを検討しています。
Federico Poloni、2016年

8

グーグルbenchmark polynomial systemsは、マンハイム大学のコンピュータ代数ベンチマークイニシアチブを含むいくつかのヒットにつながります。悲しいことに、これらのほとんどは古くなっているか、機能していません。最もアクティブなのはSymbolicData Wikiのようですが、私が知る限り、ベンチマークの結果ではなく、ベンチマークの問題のみが収集されます。

Axiom、Macsyma、Maple、Mathematica、MuPAD、Reduce解の多項式システムのいくつかの比較(1996年まで遡ります)は、Hans-GertGräbeの「Axiom、Macsyma、Maple、Mathematica、MuPADの多項式システム解決機能について」にあります。 and Reduce、プレプリント11/96 des InstitutsfürInformatik、UniversitätLeipzig、ドイツ、1996年12月。結論としては、Axiom、Maple、Reduceは、Gröbnerベースを使用することで勝利しました(他のメンバーは現時点ではそうではありませんでした)。

SINGULARのWebサイトには、MapleをはじめとするSINGULAR 2.0(2015年12月現在4.0.2)を示す古い比較もあります。

一方、より最近の出版物(Yao Sun、Dongdai Lin、Dingkang Wang。2015。M4RIの線形代数ルーチンを使用した署名ベースのグレブナー基底アルゴリズムの実装について。ACMCommun。Comput。Algebra 49、2(2015年8月) 、63-64は、著者のグレブナー基底アルゴリズムの実装をMaple、Singular、およびMagmaの実装と比較しています。Magmaは、他の2つのパッケージよりも桁違いに高速です(著者の実装と結びついています)。

そのため、問題(サイズと構造)とパッケージが最速のソフトウェアバージョンに大きく依存しているようです。それにもかかわらず、汎用のシンボリック計算ソフトウェアではなく、Singular、Magma、Mapleなどの積極的に開発された専用のコンピュータ代数システムを使用することをお勧めします。これは、数値ソフトウェアのツールボックスの場合は2倍になります。これにより、オーバーヘッドのレベルが追加され、通常、それらがベースにしているスタンドアロンソフトウェア(MuPAD、以前はMapleのツールボックスの場合はMaple)の背後にいくつかのバージョンがあります。


これらのリソースを提供していただきありがとうございます。包括的で最新のベンチマークがほとんどまたはまったくないのは、私には驚くべきことです。
Federico Poloni、2015

6

ベンチマークの結果は、問題のサイズに加えて、多項式リングが定義されるベースフィールド(有理数または素数のべき乗を法とする整数)に依存することを常に覚えておいてください。

FGBライブラリは、 F5アルゴリズムの積極的に開発し、高性能な実装です。FGbとMagmaを比較するベンチマークは、次の場所にあります。

フォージェ、J.-C。(2010)。FGb:グレブナー基底を計算するためのライブラリー(pp。84–87)。doi:10.1007 / 978-3-642-15582-6_17

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.