数理解析研究所講究録920 巻 1995 年 173-179

173

19.
An Introduction to MAGMA
脇克志 (弘前大理)

19.1 Magma とはMagma は、 シドニー大学の J.Cannon を中心とする Computational Algebra Group により主に代数学、数論、幾何学、組合せ論に関する問題を解く事を目的として開発された計算システムである。

あつかう対象は有限構造 (列、 Graph 、組) 、演算の定義された有限集合 (体、環、群、 etc) 、基本的な無限集合 (整数環、有理数体、複素数体)、

またはこれらを組み合わせたものやその部分集合などである。 Cannon によると “Magma” という言葉の由来は、$\mathrm{B}\mathrm{o}\mathrm{u}\mathrm{r}\mathrm{b}\mathrm{a}\mathrm{k}\mathrm{i}[3]$の第 1 章で 2 項演算の与えられた集合を “Magma” と呼ぶところがら来ているそうである。 ここでは、 まぎらわしさをなくすため 2

項演算を持つ集合を代数構造と呼ぶ事とする。 この Computational Algebra Group は以前に Cayleyと呼ばれる有限群とその表現を計算するシステムを開発しており、 Magma は Cayley の計算アルゴリ
ズムおよび知識データベースを利用して作られている。 また、 M.Phost たちが開発した数論の問題を解くための計算システム KANT や H.Cohen が開発した Pari システムの–部も Magma に組み込まれている。 1993 年 8 月 23 日から 27 日までロンドンで Magma に関する国際シンポジウムが開催され、 .Cannon, G.Havas, E.O’Brien, D.Holt, M.Pohst, S.Linton, W.Bosma, G.Schneider といった$\mathrm{J}$

人達による講演が行われた。
ここでは Magma Vl 01-5 を基にして、 次の章で Magma の他の数式処理システムにない特徴を述べ、 3 章で基本的な代数構造を Magma ではどのように扱っているかを紹介する。 4 章では、$\mathrm{M}$agma の有限群のデータベースの内容および利用方法を示し、 最後に Magma の具体的な利用例として Lintollの Vector Enumeration

アルゴリズムによる有限表現環の行列表現の構成とイデアルのメンバーシッ

プ問題への応用を紹介する。

174

19.2 Magma の特徴$\mathrm{M}\mathrm{a}\mathrm{g}\mathrm{m}\mathrm{a}$が Mathematica や Reduce といった数式処理システムと異なる点は主な計算対象を 2 項演

算の定義された集合 (代数構造) とし、計算目標をその代数的構造を調べる事に置いている点である。

また、数や数式の計算を行う場合でも、 これらは必ず特定の代数構造の元とみなして計算が行われる。
たとえば、 数 1 が整数環に属している場合は $1+1=2$ となり、 2 元体$\mathrm{G}\mathrm{F}(2)$に属しているとすれ

ば $1+1=0$ であり、有限群の単位元とみれば加法演算が定義されていないのでエラーメッセージが返ってくる事になる。 Magma では各元に対しそれを含む代数構造をその元の Parent と呼んでいる。
このため、 Magma にはあらかじめいろいろな代数構造が用意されており、利用者はこれらの代数構造を組み合わせる事により自分の研究対象を構成し、 調べていくことになる。 Magma で用意している代数構造としては、有限体、有理数体、 実数体、行列環、整数環、 それぞれの体および環上の多項式環、 群環そして有限群などがある。特に、有限群に関しては Cayley で作られていた有限群のライブラリーをデータベースとして整えて使いやすくしている。

19.3 基本的な代数構造
この章では集合の定義と演算を紹介し、 それから代表的な代数構造の定義方法を示していく。

19.3.1 有限集合の定義最も単純な集合の定義方法はすべての元を {と} の間に並べる方法で例えば 1 から 19 までの奇数全体の集合を odds と定義する場合は、 “odds: $=\{1,3,5,7,9,11, 13, 15, 17, 19 \}$ ” とすればよい。 また、 ある –定間隔で並んでいるものであれば、 “odds: {
$=$

$1$

. . 19 by 2};’’ と最大値と最小値および間隔を指定することにより定義することも出来る。 さらに、例えば 1 から 10 までの巾乗数の集合 powers は “powers: {$=$$\mathrm{x}^{\wedge}2$:$\mathrm{x}$in {1. . 10}} ” と変数とその定義域を$;$使って定義することもできる。 そして、 もっとも –般的な定義はこの変数に対して条件をつけて集合を定義する方法である。すなわち、足して 15 となる 3 つの整数の組といった複雑な集合に対しても、“adds15: {$=$$\{\mathrm{a},\mathrm{b},$$\mathrm{c}\}$:$\mathrm{a}$,b,c in $\{0$. . 15}る。以上より Magma では有限集合を “{集合の元$\mathrm{a}+\mathrm{b}+\mathrm{c}$

$|$

:

範囲

eq 15
$|$

条件

普通の数学で使われる集合の定義に近い形を利用できることが分かる。

};’’ と定義することが出来};”という形でかなり

175

19.3.2 集合の演算
いったん定義された集合に対してその和集合$(\mathrm{j}\mathrm{o}\mathrm{i}\mathrm{n})_{\text{、}}$

共通部分 (meet) 、差集合 (diff) といった集合演算ができる。 また、 “ 葬集合名” でその集合の位数を表し、 “&+ 集合名” でその集合の元全部の和、 “&*集合名” でその集合の元全部の積を表す。例えば、
in {1. . 5.}};

odds: {
print #odds;

$>$

$=$

$>$

5
$>$

25

$2*\mathrm{x}-1:\mathrm{x}$print &+odds;

print &*odds;
945
$>$

となる。

19.3.3 群の定義
有限表現群$\blacksquare$

一般的な群の定義の方法の 1 つとして生成元と関係式によるものがある。 Magma では生成元も関係式も有限個である場合その群を有限表現群と呼んでいる。例えば、 2 元$x^{4}=y^{2}=xyxy$ $=e$(は単位元) という群であれば、$e$$x_{\text{、}}y$で生成される関係式が“”$\mathrm{G}:=\mathrm{G}\mathrm{r}\circ \mathrm{u}_{\mathrm{P}^{<,\mathrm{y}\mathrm{y}\mathrm{y}\mathrm{y}}}\mathrm{x}|_{\mathrm{X}^{\wedge}}4=2\wedge==_{\mathrm{x}*}*_{\mathrm{X}*1}>;$で定義できる。 また、 関係式の–部を変数にして系列的な群の定義も可能である。
func
print Order$>\mathrm{D}$

$>$

2
$>$

4
$>$

8

$:=$

$<$

Group

$|$

$\mathrm{n}$$(\mathrm{D}(1))$;

print Order$(\mathrm{D}(2))$;

print Order$(\mathrm{D}(3))$:

上の例は群 $D$ を二面体群$\blacksquare$$D_{n}$$<\mathrm{x},$$\mathrm{y}|\mathrm{x}\mathrm{n}=\mathrm{y}2=\mathrm{x}*\mathrm{y}*\mathrm{x}*\mathrm{y}-- 1=>$$>$;として定義したものである。

可解群

生成元と関係式で与えられた群は、 その計算に長い時間とたくさんのメモリーを必要とする。 しかし次のような形で群を定義することにより、効率の良い計算が可能となる。
$<a_{1}$

ただし (1)$P_{\mathit{3}}$は.

,. . ,$a_{n}|a_{j}^{p_{\mathrm{j}}}=w_{j\mathrm{J}},$$a_{J}^{\rho_{j}}\in<a_{\mathrm{J}+1},$小の素数。 (2) w り は $a:+1,$$\ldots,$$\ldots a_{n}$$\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{s}\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{i}_{0}\mathrm{n}(\mathrm{p}_{\mathrm{C}-}\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{S}\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{i}_{0}\mathrm{n})$$(1\leq j\leq n),$ $a_{j}^{a}’=w_{ig},$ $(1\leq$a_{\mathrm{n}}>$i<j\leq n)>$ ;となる最小の素数 $(j<n)$ ででっくられた語$(\mathrm{w}\mathrm{o}.\mathrm{r}\mathrm{d})\circ$$p_{n}$

は$a_{n}^{p_{\mathfrak{n}}}$このような群の定義をが単{\perp ‘‘‘$\overline{.\pi}$となる最$\mathrm{P}^{\mathrm{o}\mathrm{W}}\mathrm{e}\mathrm{r}- \mathrm{c}\mathrm{o}\mathrm{n}\mathrm{j}\mathrm{u}\mathrm{g}\mathrm{a}\mathrm{t}\mathrm{e}$と呼ぶ。そして群が可解の場合、必ずこのような形で定義する事がで176きる。 この pc-presentation がいくつかの追加条件を満たす場合その群の任意の元は$a_{1}^{\mathfrak{a}_{1}}\cdots a_{n}^{\alpha_{\mathfrak{n}}},$($0\leq\alpha_{\iota}<p_{i}$, for $i=1,$ .

$.\sim,$$n$)と –意的に表される (これを標準形と呼ぶ)。 Magma では、 P- 群および可解な置換群に対してこの PC$\mathrm{p}\mathrm{r}\mathrm{e}\mathrm{s}\mathrm{e}\mathrm{n}\mathrm{t}\mathrm{a}\iota \mathrm{i}\mathrm{o}\mathrm{n}$$\mathrm{p}\mathrm{c}$を与える関数が用意されているが ($\mathrm{p}\mathrm{Q}\mathrm{u}\mathrm{o}\mathrm{t}\mathrm{i}\mathrm{e}\mathrm{n}\mathrm{t}$と$\mathrm{p}\mathrm{C}\mathrm{c}_{\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}}$)$\text{、}$一般に可解な有限表現群の-Presentation を与えるアルゴリズムはまだ知られていない。 しかし代表的な可解群については、関数として用意されている。例えば、二面体群や巡回群であれば;$>\mathrm{E}:=_{\mathrm{D}\mathrm{i}\mathrm{h}\mathrm{e}\mathrm{d}1\mathrm{G}\mathrm{o}}\mathrm{r}\mathrm{a}\mathrm{r}\mathrm{u}\mathrm{p}(\mathrm{G}\mathrm{r}_{\mathrm{P}^{\mathrm{p}}}\mathrm{c}, 5)$;$>\mathrm{A}:^{=}\mathrm{C}\mathrm{y}\mathrm{c}\mathrm{l}\mathrm{i}\mathrm{c}\mathrm{c}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}(\mathrm{G}\mathrm{r}_{\mathrm{P}}\mathrm{P}\mathrm{c}, 8)$

print

$>$

:

$\mathrm{P}\mathrm{C}$$\mathrm{E}$;of order 10 $=2*5$-Relations:$\mathrm{G}\mathrm{r}\mathrm{p}\mathrm{P}\mathrm{C}$$\mathrm{E}$

E. $1\wedge 2=$ Id(E),
Id(E),
E.2$\wedge 5=$$\mathrm{E}.2^{-}\mathrm{E}$.

$1=\mathrm{E}.2^{\wedge}4$

print

$>$

;
; A of order 8$\mathrm{G}\mathrm{r}\mathrm{p}^{\mathrm{p}}\mathrm{c}$$\mathrm{P}\mathrm{C}$$\mathrm{A}$$=2^{-}3$-Relations:. $1^{-}2=$ A.2,$\mathrm{A}$

A.2 $arrow 2=$ A.3と定義できる。 (注意

:群

$A$

について 3 番目の生成元に関する関係式が表示されていないが内部ではきちんと定義されている。)$\blacksquare$

置換群

置換群は、 ある対称群の部分群として定義される。 よって各元は特定の対称群に必ず属し、 同じ表現の元 $(1, 2)$ でも 2 次の対称群の元と 6 次の対称群の元は明確に区別される。 よって置換群の定義は、その対称群の次数と生成元によって定義される。例えば、 元 $(1, 2)$ と (1, 2, 4) で生成される 4 次の対
称群の部分群は “$\mathrm{p}_{\mathrm{e}\mathrm{r}\mathrm{m}\mathrm{u}}\mathrm{t}\mathrm{a}\mathrm{t}\mathrm{i}\mathrm{o}\mathrm{n}\mathrm{G}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}<4[(1,2)$, $(1,2,4)>$ : ” と定義される。 また集合の定義方法を利用すると、$>\mathrm{G}:=\mathrm{S}\mathrm{y}\mathrm{m}\mathrm{m}\mathrm{e}\mathrm{t}\mathrm{r}\mathrm{i}\mathrm{c}\mathrm{G}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{P}(7)$$>\mathrm{S}:=$[$\mathrm{G}$$|$$>\mathrm{H}:^{=}\mathrm{s}\mathrm{u}\mathrm{b}<\mathrm{G}|\mathrm{s}>\cdot$.

$(\mathrm{i},$print H.
Permutation group$>$$(1, 3)$$(3, 5)$$(5, 7)$$\mathrm{i}+2)$$\mathrm{H}$;:$\mathrm{i}$in [1. . 5 by 2]];

acting on a set of cardinality 7といった定義も可能である。

$\blacksquare$

行列群

行列群は、 ある体またはユークリッド醒酔 R 上の
例えば、 2 元体$\mathrm{G}\mathrm{F}(2)$

上で元

般線形群

$\mathrm{G}\mathrm{L}(\mathrm{n},\mathrm{R})$の部分群として定義される。

177

“

$\mathrm{G}\mathrm{F}(2)$$\mathrm{M}\mathrm{a}\mathrm{t}\mathrm{r}\mathrm{i}\mathrm{x}\mathrm{G}\mathrm{r}\mathrm{o}\mathrm{u}_{\mathrm{P}}\langle 3,$$|$$[0,0,1,1,0, \mathrm{o}, 0,1,0]$ ,$[0,1,0,1,0,0, \mathrm{o}, \mathrm{o}, 1]$

$>$

.

”

で定義される。

19.3.4 環の定義$\blacksquare$

整数環

整数環は、 “Integers $().$ ” で定義される。次の例は整数環を使って 2 および 3 の倍数の無限集合を定義したものである。
$>$

$>$

MultOf2: {$=$$!\mathrm{n}$print 4 intrue
MultOf $3:=$ {print 4 in (false
print 6 in ($>$$!\mathrm{n}$.

in Integers ()$\mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}0\mathrm{f}2$

in Integers ()$|\mathrm{n}$mod 2 eq$0$!};$|\mathrm{n}$mod 3 eq

$0$

!};

$>$

$\mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}\mathrm{O}\mathrm{f}2$

meet

$>$

$\mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}0\mathrm{f}2$meet MultOf3):$\mathrm{M}\mathrm{u}\mathrm{l}\mathrm{t}\mathrm{o}\mathrm{f}3$).

$\mathrm{t}\iota \mathrm{J}\mathrm{l}\mathrm{e}$$\blacksquare$

多項式環

Magma では基本的に 1 変数の多項式環を扱う。 しかし任意の面上の多項式環を定義できるので、多項式環上の多項式環を考えると多変数多項式環を定義することが可能となる。整数壁上の変数定義される 2 変数多項式環
場合変数

と

$x$

$y$

は“

$S$

$y$

で

(Integers () , 2);” となる。 しかしこの$\mathrm{S}<\mathrm{x},\mathrm{y}>:=\mathrm{P}\mathrm{o}\mathrm{l}\mathrm{y}\mathrm{n}\mathrm{o}\mathrm{m}\mathrm{i}\mathrm{a}\mathrm{l}\mathrm{R}\mathrm{i}\mathrm{n}\mathrm{g}$は対等ではない。 実際 “print Coeff icentsと答える。 これは、式 $2xy+x+y$ の係数は項式環節の$X_{\text{、}}y$$x$$(2*\mathrm{x}*\mathrm{y}+\mathrm{x}+\mathrm{y});$

”

とやると

と $2x+1$ であるということで $S$ はによる 1 変数多項式環であることが分かる。

$\mathrm{M}\mathrm{a}\mathrm{g}\mathrm{m}\mathrm{a}$

$x$

“

[X,

$2*\mathrm{x}+1$]”

による 1 変数多では、 Mathematica や Maple な

どで利用可能な多項式に関する演算はまだ十分でそろっていない。特に Gr\"obner basis がまだ実装されていないことはたいへん残念である。以下に他の数式処理システムにはない多項式に置換群や行列群の元を作用させる機能の実行例を示す。
$>\mathrm{s}<\mathrm{x},\mathrm{y},$$\mathrm{z}>:=\mathrm{P}\mathrm{o}\mathrm{l}\mathrm{y}\mathrm{n}\mathrm{o}\mathrm{m}\mathrm{i}\mathrm{a}\mathrm{l}\mathrm{R}\mathrm{i}\mathrm{n}\mathrm{g}(\mathrm{c}\mathrm{p}(3), 3)$;$>\mathrm{f}:^{=}\mathrm{x}*\mathrm{y}+\mathrm{y}+\mathrm{z}.\cdot$

$>$

print

$\mathrm{f}$;$\mathrm{z}+(\mathrm{x}+1)*\mathrm{y}$.

$>\mathrm{G}:^{=}\mathrm{s}\mathrm{y}\mathrm{m}\mathrm{m}\mathrm{e}\mathrm{t}\mathrm{r}\mathrm{i}\mathrm{C}\mathrm{G}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}(3)\cdot$! (1,2,3).
print a;(1, 2, 3);print$>\mathrm{a}:=\mathrm{G}$$\cdot$$>$$>$$\mathrm{f}^{-}\mathrm{a}$$(\mathrm{y}+1)*\mathrm{z}+\mathrm{x}$$>\mathrm{M}:=\mathrm{G}\mathrm{e}\mathrm{n}\mathrm{e}\mathrm{r}\mathrm{a}\mathrm{l}\mathrm{L}\mathrm{i}\mathrm{n}\mathrm{e}\mathrm{a}\mathrm{r}\mathrm{G}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}(3,\mathrm{G}\mathrm{p}(3))$$>\mathrm{b}:^{=}\mathrm{M}$

$>$

print

$[1 1 0]$!
$\mathrm{b}$[1,1,0,1,0,1,0,1,11;;;$[1 01]$$[011]$$>$

print$\mathrm{f}^{\wedge}\mathrm{b}$;$(\mathrm{y}+(\mathrm{x}+2))*\mathrm{z}+(\mathrm{x}+1)*\mathrm{y}+\mathrm{x}^{\wedge}2+\mathrm{x}$178$\blacksquare$

有限表現環

有限表現環はある蚕繭で有限個の生成元と関係式で定義される環である。 この方法で非可換環の群環なども定義することができる。 しかし現段階では、 イデアルの定義はできても後で述べる Vector

Enumeration 以外役に立ちそうな機能はまだない。
$>\mathrm{k}:=\mathrm{G}\mathrm{F}(3)$;;$>>\mathrm{M}<\mathrm{X},\mathrm{y}>.\cdot.=_{\mathrm{M}\mathrm{o}\mathrm{i}}\mathrm{o}\mathrm{n}\mathrm{d}<\mathrm{X},\mathrm{y}|\mathrm{x}_{\mathrm{k}}*\mathrm{y}=\mathrm{F}<_{\mathrm{X}},\mathrm{y}>.=_{\mathrm{F}\mathrm{A}}\mathrm{r}\mathrm{e}\mathrm{e}\mathrm{l}\mathrm{g}\mathrm{e}\mathrm{b}\mathrm{r}\mathrm{a}(,\mathrm{M}\mathrm{Y}*;\mathrm{X}>$

$>$

$>$

I:

$=\mathrm{r}\mathrm{i}\mathrm{d}\mathrm{e}\mathrm{a}1^{\langle}\mathrm{F}[\mathrm{x}^{\wedge}2*\mathrm{y}.3--1,\mathrm{x}*_{\mathrm{y};}6\wedge-1>$

print

in I;

$\mathrm{x}^{arrow}2*\mathrm{y}^{arrow}3-_{1}$false

上の例では 3 元体
されるイデアルを$\mathrm{G}\mathrm{F}(3)$$I$上の 2 変数多項式環$F$を作り、 この $F$ の元 $x^{2}y^{3}-1$ と$xy^{6}$–1 で生成としているがメンバーシップ問題はうまくいかないようである。

19.4 有限群のデータベース
現在 Magma のライブラリの中の有限群のデータベースは全部で 12 個ある。各データベースは次のような名前を持っている。

glnzgps

整数盤上のgPslOO

位数が 100 以下の非可換可解群。 (ただし位数が 64 のものは除く)

isolgps

有限体上の–般線形群

matgps有限体上の行列群。

$\mathrm{p}\mathrm{e}\Gamma \mathrm{f}\mathrm{g}\mathrm{P}^{\mathrm{s}}$$\mathrm{p}\mathrm{e}\mathrm{r}\mathrm{g}\mathrm{p}_{\mathrm{S}}$$\mathrm{p}_{1}\cdot \mathrm{m}\mathrm{g}\mathrm{P}^{\mathrm{S}}$$n$次一般線形群 $(n=2,3,4,5)$ の極大有限部分群。

,$\mathrm{G}\mathrm{L}(n_{P^{)}}$の既約可解部分群。 (ただし$p^{\mathrm{n}}<255$)

位数が 100 万以下のすべての完全群。
置換群。
次数が 50 以下の原始的な群。

simgps 位数が 100 万以下のすべての単純群。
solgpsPc-Presentatlon で定義された 13 の可解群。

llrgps

位数が 729 以下の 3-群。

trmgps次数が 2 から 12 の推移な置換群。

$\mathrm{t}$twogps 位数が 256 以下の 2-群。
各データベースは “load データベース名;” で Magma に読み込まれる。利用方法は、 “?データベー
ス名;” で知ることが出来る。例えば、 データベース “gps100” を使って位数が 30 から 40 の間の群

で共役類の個数が 6 の群を探すのであれば次のようにすればよい。

179

load gpslOO;$>$

Loading$|’/\mathrm{u}\mathrm{s}\mathrm{r}3/\mathrm{u}\mathrm{S}\mathrm{r}32/\mathrm{m}\mathrm{a}_{1^{\mathrm{a}-}}\mathrm{v}1.0.1-5/\mathrm{L}\mathrm{I}\mathrm{B}\mathrm{s}/\mathrm{g}\mathrm{p}\mathrm{s}\mathrm{l}00/\mathrm{g}\mathrm{p}\mathrm{S}\mathrm{l}00\mathrm{t}\mathrm{t}$CroupOf OrderProcess $(<30,40>)$ ;dowhile not$:=$ GroupProcessExtractGrouP (p);while
eq 6 thenif NumberOfClasses
while
print ;
whilelend if;while;
GroupProcessNext
while
while end while;of order 36 $=2^{arrow}2*3^{\wedge}2$:-Relat ions:$>\mathrm{P}$

$:=$

$>$

$\mathrm{G}\mathrm{r}\mathrm{o}\mathrm{u}\mathrm{p}\mathrm{P}\mathrm{r}\mathrm{o}\mathrm{c}\mathrm{e}\mathrm{s}\mathrm{s}\mathrm{I}\mathrm{s}\mathrm{E}\mathrm{m}_{\mathrm{P}^{\mathrm{t}}\mathrm{y}}(\mathrm{p})$$>$$\mathrm{G}$$(\mathrm{G})$$>$$\mathrm{G}$$\mathrm{i}\mathrm{f}>$$|$$\mathrm{i}\mathrm{f}>$$(^{\sim}\mathrm{p})$

$>$

$>$

$\mathrm{G}$$\mathrm{G}\mathrm{r}\mathrm{p}\mathrm{P}\mathrm{c}$$\mathrm{P}\mathrm{C}$. $1^{\sim}2=$ G.2,
G. $2\wedge 2=$ Id (G),G. $3\wedge 3=$ Id (G),G. $4\wedge 3=$ Id (G) ,G. 4 2,G. G. 1,
. $1=$ G.3,$\mathrm{G}$$=$$3\wedge$$\mathrm{G}.3^{\wedge}\mathrm{G}.2=\mathrm{G}.3^{\wedge}2$$\mathrm{c}.4^{\wedge}\mathrm{G}$$\mathrm{G}.4^{arrow}\mathrm{G}.2=\mathrm{G}.4^{\wedge}2$

ここでは条件を満たす群が 1 つだけあり、 その位数 36 であることが分かる。

19.5 利用例
非可換を含めて–般の有限表現環に対してそのイデアルのメンバーシップ問題は容易ではない。 そこで、 Magma において有限表現環に与えられた唯 1 つの道具を使ってイデアルのメンバーシップ問

題を解いてみたい。 この章ではまず Vector Enumeration アルゴリズムを説明し、 次にそれを使ってイデアルのメンバーシップ問題を解 \langle 方法を示す。

19.

Linton$5.\mathrm{I}$

ある体

$k$

$\sigma$上の有限表現環る。 このとき $R$ の$I$) Vector Enumeration$R$とそのイデアル$I$が与えられ $R/I$ が 上有限次元 $(n)$ であると仮定す$k$に関する剰余類 $\{r_{1}+I, \ldots, r_{\mathrm{n}}+I\}$ を基底とするえる。 Linton の Vector Enumeration とは、 この

$V$

$k$

上のベクトル空間

を R- 加群と見た時のる作用の行列表現を与えるアルゴリズムである。 このアルゴリズムの利点は

$R$

$R$

の生成元の
や

$I$

$V$

$V$

を考

に対す

の大きさに関係

なく $R/I$ の次元が十分小さい場合、計算が出来る点である。 Magma では関数 “QuotientModule” でこの計算を行う。次の例は、有理数体上の 2 変数と$xy^{6}-1$

の生成元
る Fの

$I$

$x$

から生成されるイデアル
と

$y$

の $V$

$I$

$x_{\text{、}}y$の多項式環を定義する。 この $F$ と

$I$

F- 加群

$V$

に対する作用の行列表現$\mathrm{m}\mathrm{a}\mathrm{t}\mathrm{s}_{\text{、}}$

による剰余類の代表系の列 preim を計算する。

$F$を構成しその 2 つの元 $x^{2}y^{3}-1$から関数 “QuotientModule” はの生成ベクトル$\mathrm{i}\mathrm{m}_{\text{、}}V$$F$の基底とな