Magmaは代数学、数論、代数幾何学、組合せ数学の問題を解くために開発された計算機代数ソフトウェアである。Magmaという名前は代数的構造のマグマから取られている。MagmaはUnix系あるいはLinuxで実行できる。またはWindowsでも利用することができる。
はじめに
Magmaはオーストラリアシドニー大学数学統計科 (School of Mathematics and Statistics) の計算機代数グループ (Computational Algebra Group) により開発と公開が行われている。
開発の経緯
MagmaはCayley (1982-1993) と呼ばれる群論を扱うシステムを元に開発された[1]。
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)[2]を実装している。
- グレブナー基底の計算にFaugèreのF4アルゴリズム (en) が実装されている。
- (不変式論)
- 一次、二次および基本不変式のための不変式環を表すデータ型と、モジュール構造の計算をサポートしている。
関連項目
- 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