ルービックキューブ群の表現
ルービックキューブの手順はルービックキューブの状態に対応する. 例えば色が揃った状態のキューブに操作 $ X を適用して出来た状態を $ X だと見なせば良い. というわけで状態を調べることが ルービックキューブの群 を調べることになる. キューブの基本定理
ルービックキューブの状態は次の4つで決定される(キューブの第一基本定理).
辺(二面体)の置換
辺の向き(反転状態)
頂点(三面体)の置換
頂点の向き(捻り )
辺の置換とは(向きを気にしないで) 12 個のエッジキューブの位置に関する置換で, 全部で $ 12! 通りある. この置換からなる群を置換群 $ S_{12} という. 次に各辺は向きを2つ持つ. 一つの辺の向き状態は位数 $ 2 の巡回群 $ C_2 だと言える. これが 12 個あるので全体の様子は $ C_2^{12} になる.
頂点についても同様に, 置換群 $ S_8, 巡回群 $ C_3^8 を考えれば状態が決まる.
全体として次の群を考える.
$ H = ( C_2^{12} \rtimes S_{12}) \times (C_3^8 \rtimes S_8)
ここで $ \times は直積で, $ \rtimes は半直積である. 集合としては直積に等しいが積演算が違う. https://ja.wikipedia.org/wiki/半直積 の 外部半直積 を見るのが良い. ここで作用 $ \varphi \colon S_m \to \mathrm{Aut}(C_n^m) は成分の置換で自然に決まるのでそれを使う. $ H の中には実際には作れない状態がある. 例えば初期状態から辺を一つだけ反転させた状態は作れない. 実は次のような3つの制限を設けた部分群が ルービックキューブの群 に一致する(キューブの第二基本定理). $ G = \{ g=(v,r,w,s) \in H \mid \mathrm{sgn}(r) = \mathrm{sgn}(s) \land \sum_{i=1}^{12} v_i = 0 \bmod 2 \land \sum_{i=1}^8 w_i=0 \bmod 3 \}
この3つの制限は
パリティの保存, $ \mathrm{sgn}(r) = \mathrm{sgn}(s)
ここで $ \mathrm{sgn} は置換が偶置換か奇置換かを表す
$ \mathrm{sgn} \colon S_d \to \{1,-1\}
総反転量保存則, $ \sum v_i = 0
総捻り量保存則, $ \sum w_i=0
を意味する.
パリティを無視したルービックキューブ
ルービックキューブ群の中の $ v \in C_2^{12} は $ \sum_i v_i=0 が要請されていた. これを満たすには結局
$ v_{12} = - \sum_{i=1}^{11} v_i
と決まるので実は自由度が 11 の $ C_2^{11} だと同一視できる.
一般に
$ C_d^{n-1} \simeq \{ v \in C_d^n \mid \sum_i v_i = 0 \}
が成り立つ.
これを用いて, 次のような, $ H の部分群が簡潔に書き表せる.
$ G_0 = \{ g=(v,r,w,s) \in H \mid \sum_{i=1}^{12} v_i = 0 \bmod 2 \land \sum_{i=1}^8 w_i=0 \bmod 3 \} \simeq ( C_2^{12} \rtimes S_{11}) \times (C_3^7 \rtimes S_8)
これはパリティ($ \mathrm{sgn}(r) = \mathrm{sgn}(s))に関する制約が無視された, ルービックキューブの群の部分群になっている.
そこで次の準同型写像
$ \varphi \colon G_0 \to \{1,-1\}
$ \varphi(v,r,w,s) = \mathrm{sgn}(r) \times \mathrm{sgn}(s)
の核がルービックキューブの群になる.
$ G = \mathrm{ker}(\varphi)
$ G_0 は $ G の指数 $ 2 の正規部分群になっている.
$ G = G_0/2
キューブの行列表示
$ \{ g=(v,r) \in C_m^n \rtimes S_n \mid \sum v_i=0 \} は次のように行列で自然に表示できる.
$ S_n を(添字の)$ \{1,2,\ldots,n\} の上の自己同型射(つまり置換)の群とする.
$ C_m を $ \{1=g^0, g, g^2, \ldots,g^{m-1}\} とする. この $ C_m に数 $ 0 を添加する. ただしこの $ 0 は $ C_m には含まれない数で, $ 0 \times x = x \times 0 = 0, 0+x=x+0=x とする(環におけるいわゆるゼロ).
今から $ v, r それぞれを $ C_m \cup \{0\} の上の行列 $ P(v), P(r) として定める.
置換 $ r \in S_n の行列表示
$ P(r) \in \{0,1\}^{n \times n}
$ P(r)_{i,j} = 1 \iff r(i)=j
$ P(r)_{i,j} = 0 \iff r(i) \ne j
巡回 $ v \in C_m^n の行列表示
$ P(v) \in (C_m \cup \{0\})^{n \times n}
$ P(v)_{i,j} = v_i \iff i=j
$ P(v)_{i,j} = 0 \iff i \ne j
こちらは $ v を対角成分に並べた対角行列になってる.
$ g = (v,r) \in C_m^n \rtimes S_n を行列積
$ P(g) := P(r) P(v)
で表現する.
これは上手な埋め込みになってる. もちろん任意の行列に対応するキューブはないので全射ではない.
特に, パリティや各種保存則は何も気にしてない.
各行各列で $ 0 でない値がちょうど一つだけである行列を 単項行列 という.
$ C_m \cup \{0\} の上の $ n \times n 単項行列からなる群を $ S(n,m) とすると,
$ C_m^n \rtimes S_n \simeq S(n,m).
というわけで, ルービックキューブの群から2つの行列群への埋込
$ G \rightarrowtail S(2, 12) \times S(3, 8)
がある.