Magma (数式処理システム)

Magmaは代数学、数論、代数幾何学、組合せ数学の問題を解くために開発された計算機代数ソフトウェアである。Magmaという名前は代数的構造のマグマから取られている。MagmaはUnix系あるいはLinuxで実行できる。またはWindowsでも利用することができる。

はじめに 
Magmaはオーストラリアシドニー大学数学統計科 (School of Mathematics and Statistics) の計算機代数グループ (Computational Algebra Group) により開発と公開が行われている。

開発の経緯 

MagmaはCayley (1982-1993) と呼ばれる群論を扱うシステムを元に開発された。

Magmaの最初の公式リリースは1993年8月であった（バージョン 1.0）。また1996年6月にバージョン 2.0が公開され、以降おおよそ1年ごとにバージョン 2.Xが公開されている。

カバーする分野 

 群論
 置換群、行列群、有限表示を持つ群、可解群、アーベル群（有限および無限）、多重巡回群 (en)、組み紐群、straight-line プログラム群 (en)。群論のデータベースもいくつか用意している。
 数論
 整数および多項式に対する基礎的な演算に対するランダウの記号（たとえば整数と多項式の積を高速に求めるSchönhage-Strassenアルゴリズム (en)、楕円曲線法 (en) を含む素因数分解、二次ふるい法、一般数体ふるい法が実装されている。
 代数的数論
 KANT と呼ばれる数式処理システムが内蔵されており、これにより幅広い代数体の計算ができるようになっている。また体の代数的閉包の計算も行える。
 モジュラー形式と線形代数
 Strassenのアルゴリズムなどの、密行列のランダウの記号による高速な基本演算を実装している。
 疎行列
 離散対数をindex calculus (en)アルゴリズムで求める際に行う疎な系の簡約化をStructured gaussian elimination (en) およびランチョスアルゴリズムで行うことができる。他の疎な線形代数の問題にはMarkowitzの方法が使える。
 格子群とLLLアルゴリズム
 整数行列に対するLLLアルゴリズム（グラム-シュミット係数の計算に浮動小数点を使うが、得られる結果はLLL既約であることが証明されている）としてfpLLLを実装している。
 可換環とグレブナー基底
 グレブナー基底の計算にFaugèreのF4アルゴリズム (en) が実装されている。
 表現論
 表現論の計算のために指標表とMeataxeのアルゴリズムが実装されている。
 不変式論
 一次、二次および基本不変式のための不変式環を表すデータ型と、モジュール構造の計算をサポートしている。
 リー理論
 代数幾何学
 数論幾何学
 Finite incidence structures
 暗号理論
 符号理論
 最適化問題

関連項目 

 Sage - 数学関連のフリーソフトウェアのパッケージ
 数式処理システムの一覧

脚注

外部リンク 

Magma Free Online Calculator
Magma's High Performance for computing Groebner Bases
Magma's High Performance for computing Hermite Normal Forms of integer matrices
Magma V2.12 is apparently "Overall Best in the World at Polynomial GCD" :-)
Magma example code

数式処理システム
Linux向け数式処理システム
数学に関する記事
1993年のソフトウェア