GAP (数式処理システム)

提供: miniwiki
移動先:案内検索


GAP (ギャップ、Groups, Algorithms and Programming) は計算機を扱うために開発された計算機代数システムである。アーヘン工科大学の数学部D (Lehrstuhl D für Mathematik, LDFM) で開発が始まり、その後スコットランドセント・アンドルーズ大学の数学情報科学部と共同で開発が行われた。2005年の夏に開発拠点はそれぞれ同等の4カ所 (英セント・アンドルーズ大学、独アーヘン工科大学、 独ブラウンシュヴァイク工科大学、米フォート・コリンズコロラド州立大学) に増やされた。

GAP の配布パッケージには、そのソースの他に、多くの利用者から寄贈されたプログラム、データライブラリ、マニュアルが含まれており、GPL にしたがって自由に再配布することができる。GAP はどの Unix系 OS でも実行でき、また WindowsmacOS でも利用できる。GAP の標準的な構成では約 300 MB である (すべてのパッケージをインストールする場合は 400 MB である)。GAP を実行するには、RAM は 128 MB あれば十分である。

利用者の寄贈によるパッケージにより多くの機能が提供されており、これは GAP の大きな特徴の一つであると言える。開発者の元に送られてきたパッケージは査読プロセスにより GAP システムの機能や品質向上に有用かどうかが判断される。パッケージの作成者が論文を投稿する場合と同じである。2006年8月現在、GAP の配布パッケージにはそういったパッケージが 58 含まれており、35 のパッケージが査読を経たものである。

GAP からSINGULAR を使うためのインターフェイスが用意されている。

gap> G:=SmallGroup(8,1); # Set G to be a group of order 8.
<pc group of size 8 with 3 generators>
gap> i:=IsomorphismPermGroup(G); # Find an isomorphism from G to a group of permutations
<action isomorphism>
gap> Image(i,G); # The image of G under I - these are the generators of im G.
Group([ (1,5,3,7,2,6,4,8), (1,3,2,4)(5,7,6,8), (1,2)(3,4)(5,6)(7,8) ])
gap> Elements(Image(i,G)); # All the elements of im G.
[ (), (1,2)(3,4)(5,6)(7,8), (1,3,2,4)(5,7,6,8), (1,4,2,3)(5,8,6,7), 
   (1,5,3,7,2,6,4,8), (1,6,3,8,2,5,4,7), (1,7,4,5,2,8,3,6), (1,8,4,6,2,7,3,5) ]

関連項目

参考文献

  • David Joyner:「群論の味わい -置換群で解き明かすルービックキューブと15パズル-」,共立出版,ISBN:978-4320019416,(2010年12月10日).

外部リンク

テンプレート:Computer algebra systems