群表

ガロア理論のエントリーで対称群(入替えの操作を元とする群)を扱いましたが,対称群それ自体の説明はあまりしませんでした
折角なのでこれらの群表(cayley table)をここで確認しておこうと思います
maximaには表(table)を生成する機能がないため,代わりに正方行列(square matrix)として出力します

cayley_table.wxm

関数をまとめてこのブロックで定義しておきます(画面出力は省略)
ml(c, n) : c_i を要素として i = 1~n の配列を返します
i_list(L, a) : 配列 L に対して要素 a が含まれるインデックスを返します
ct_index(L) : 配列 L に対して要素総当たりのdot積表を要素番号表記で返します
ct_element(L, l) : 配列 L に対して要素総当たりのdot積表を配列 l の要素表記で返します


【対称群S3】

対称群S3の元を%i5~10で代入します(画面出力は省略)
S3の元の内容についてはガロア理論 その1を参照ください
これらの元の配列をS3として代入します(%o11)
ct_index関数を使用して配列番号で表記した群表を%o13に示します


ct_element関数を使用して元で表記した群表を%o14に示します


【対称群S4】

同様にして対称群S4の元を%i15~38で代入します(画面出力は省略)
S4の元の内容についてはガロア理論 その2を参照ください
これらの元の配列をS4として代入します(%o39)
ct_index関数を使用して配列番号で表記した群表を%o41に示します


ct_element関数を使用して元で表記した群表を%o42に示します

ということで,対称群S3とS4の群表をプロットすることが出来ました


追記
以前巡回群のエントリーで「SO(2)とU(1)は同型」というお話をしましたのでこれを確認してみます


特殊直交群SO(2)として4つの元(行列式が 1 の直交行列)の配列を定義します(%o48)
ct_index関数を使用して配列番号で表記した群表を%o49に示します


1次ユニタリ群U(1)として4つの元(絶対値が 1 の複素数)の配列を定義します(%o50)
ct_index関数を使用して配列番号で表記した群表を%o51に示します


%o49 = %o51が成り立つことからSO(2)とU(1)は同型であることが判ります