Skip to main content
QUICK REVIEW

[論文レビュー] Geometric Reasoning with polymake

Ewgenij Gawrilow, Michael Joswig|ArXiv.org|Jul 13, 2005
Data Management and Algorithms参考文献 22被引用数 25
ひとこと要約

本稿では、凸多面体、単体的複体、および関連する数学的対象に対する幾何的推論を目的としたオープンソースソフトウェアシステムpolymakeを提示する。このシステムはPerlを高レベル制御用に、C++をアルゴリズム用に使用するモジュラークライアント・サーバー・アーキテクチャを採用しており、ユーザーが低レベルプログラミングを必要とせずに、ファセット、頂点-ファセットの接続関係、組合せ型といった多面体の性質を直感的なコマンドで計算可能にしている。同時に、スクリプトによる拡張性と他の数学ソフトウェアへの統合を支援しており、離散幾何学およびトポロジー分野の研究を支援する。

ABSTRACT

The mathematical software system polymake provides a wide range of functions for convex polytopes, simplicial complexes, and other objects. A large part of this paper is dedicated to a tutorial which exemplifies the usage. Later sections include a survey of research results obtained with the help of polymake so far and a short description of the technical background.

研究の動機と目的

  • 多面体理論および組合せ的トポロジーにおける幾何的推論のためのユーザーフrndlyかつ拡張可能なソフトウェア環境を提供すること。
  • 高レベルインターフェースの背後に複雑な技術的詳細を隠すことで、低レベルの実装細節を抽象化すること。
  • スクリプトとルールベースの性質導出を通じて、インタラクティブな探索と自動計算の両方を可能にすること。
  • 外部の数学ソフトウェアとの統合を支援し、幾何的モデルの交換を標準化すること。
  • 複雑な多面体の性質への計算的アクセスを通じて、離散幾何学、可換代数、およびトーリック幾何学分野における高度な研究を促進すること。

提案手法

  • Perlをサーバー言語として、C++を数学的アルゴリズムに使用するクライアント・サーバー・アーキテクチャを採用し、ユーザーの操作と計算を分離する。
  • ルールベースのシステムを用いて、依存関係グラフ上の最短経路アルゴリズムを用いて、FACETSからPOINTSへのような導出された性質を計算する。
  • 数学的対象(例:多面体、単体的複体)を拡張可能なクラスとして表現し、VERTICES、FACETS、SIMPLICIAL、STEINER_POINTSを含む100以上の組み込み性質を備える。
  • 複数の入力形式(例:POINTS、H表現)をサポートし、文脈に応じて適切な凸包アルゴリズム(例:cdd、qhull)を自動的に選択する。
  • Perlによるスクリプト機能を提供し、組合せ的に同値なファセットのフィルタリングや多面体の面のグラフの可視化といった、複雑なワークフローの自動化を可能にする。
  • JavaViewによる可視化、Maple(凸)への統合、zerOne、OpenXM、およびElectronic Geometry Modelsジャーナルによるモデル交換を支援する外部ツールと統合する。

実験結果

リサーチクエスチョン

  • RQ1複雑な幾何的計算を抽象化しつつ、プログラミング経験のないユーザーにもアクセス可能なソフトウェアシステムは、どのように設計できるか?
  • RQ2最小限の入力データから多面体の性質を効率的かつ拡張可能に計算するためのアーキテクチャ的原則は何か?
  • RQ3ルールベースのシステムは、既知の性質から数学的性質を動的にアルゴリズムの合成に用いることができるか?
  • RQ4polymakeは、多面体の組合せ論、トーリック幾何学、および組合せ的トポロジー分野における研究を、どのように支援・加速できるか?
  • RQ5polymakeは、より広範な数学ソフトウェアエコシステムに統合され、相互運用性とモデル共有を促進するために、どのように統合できるか?

主な発見

  • R³における8つの頂点を持つ3-立方体は、polymakeによる自動計算により、6つのファセットを持ち、単純であることが確認された。
  • polymakeは、入力と内部ヒューリスティクスに基づいて、適切な凸包アルゴリズム(例:cdd)を自動的に選択し、さまざまな問題タイプにわたり高い頑健性を確保する。
  • 本システムは、多面体に対して100以上の組み込み性質をサポートしており、SIMPLICIALのような組合せ的不変量や、STEINER_POINTSのような幾何的データが含まれる。
  • スクリプト機能により、ユーザーは、例えば、各組合せ的同値クラスから1つの代表的ファセットを特定し、可視化するといった複雑なワークフローを自動化できる。
  • polymakeは、可視化ツール(JavaView)、コンピュータ代数システム(OpenXM)、出版プラットフォーム(Electronic Geometry Models)など、外部システムとのシームレスな統合を可能にする。
  • 本システムは、128MB RAM以上のマシンでも動作可能であり、UNIXプラットフォームに展開可能であるが、コンパイルには最低1GBのRAMが必要である。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。