2013年4月13日 (土)

正八胞体群について (6)

maxima上で、次のように入力します。

b:matrix([2,sqrt(2),0,-sqrt(2)],[0,-sqrt(2),-2,-sqrt(2)],[2,-sqrt(2),0,sqrt(2)],[0,sqrt(2),-2,sqrt(2)]);

これは前に書いた、行を2つずつ組み合わせて和と差を求め、実部と虚部(iで割っていますが)に分けたものです。本来は縦ベクトルにして並べるべきなのでしょうが、横ベクトルで並べています。後で転置行列にします。

各行のノルムが1になるように、2*sqrt(2)で割ります。

c:b/(2*sqrt(2);

実はこれは直交行列になっています。

d:^^(-1);

とすると、cの転置行列になっているのがわかります。

これで

c.a.d;

としたものが、次です。

4

5π/4とπ/4の、2つの回転を組み合わせたもののようです。確かに8乗すると単位行列になります。

| | コメント (7) | トラックバック (0)

2013年4月12日 (金)

正八胞体群について (5)

行列の固有値とか固有ベクトルを扱うのはmaximaの方がよさそうなので、そちらにします。

TeXmacsにmaximaのセッションを挿入して、行列を入力してみます。

3

なんか表示が妙ですね。それはさておき。

いったん固有値を求めてみたのですが、表記がわかりにくいので、同じことですがbとして入力してみました。最後のものが固有ベクトルです。固有値が1番目と2番目、3番目と4番目がそれぞれ共役になっているので、固有ベクトルもその順で組にして、実部と虚部に分けてみます

a+biとa-biで、それぞれを加えたものと、引いたものをiで割ったものを求めてみるわけです。

| | コメント (0) | トラックバック (0)

2013年4月11日 (木)

正八胞体群について (4)

さて、正八胞体群の位数8の元についてもう少し調べてみるために、置換群ではなく、行列群として表現することを考えてみます。このようにできるでしょう。

a:=[[0,1,0,0],[-1,0,0,0],[0,0,1,0],[0,0,0,1]];

b:=[[0,0,1,0],[0,1,0,0],[-1,0,0,0],[0,0,0,1]];

c:=[[0,0,0,1],[0,1,0,0],[0,0,1,0],[-1,0,0,0]];

g:=Group(a,b,c);

ConjugacyClasses(g);

これで出てきた共役類の代表元をチェックしてみると、

  [ [ 0, -1, 0, 0 ], [ 0, 0, -1, 0 ], [ 0, 0, 0, -1 ], [ 1, 0, 0, 0 ] ]

が位数8のようです。見やすくすると、こうなります。

1
これがどんな回転かを調べるには、maximaの方がやりやすいでしょう。


| | コメント (0) | トラックバック (0)

2013年4月10日 (水)

正八胞体群について (3)

四次元以上が三次元までと状況が異なるのは、回転角度を2つ以上取れることです。

たとえば、四次元ではある平面と、それと「一点で」直交する平面内に、それぞれ回転角度を指定できます(三次元では一点ではなく一直線です)。たとえば、このような感じです。

2
これはたまたまxy平面とzw平面になっていますが、当然他の平面も可能です。

これが正八胞体の回転で実際にどうなっているか、次に見てみます。

| | コメント (0) | トラックバック (0)

2013年4月 9日 (火)

正八胞体群について (2)

ところで、前回示した共役類の代表元のうち、

  (1,2,4,8,16,15,13,9)(3,6,12,7,14,11,5,10)

(1,2,4,8,16...)

の部分を見ると、1という番号が付けられた頂点がこの回転によって移動していく先は、常に1本の辺をはさんで隣り合った頂点のように見えます。この頂点の番号についてははっきり書きませんでしたが

1 (0,0,0,0)

2 (1,0,0,0)

3 (0,1,0,0)

4 (1,1,0,0)

のように考えてもらえればよいでしょう。つまり、この回転では

1 (0,0,0,0) -> 2 (1,0,0,0) -> 4 (1,1,0,0) -> 8 (1,1,1,0) -> ....

のように移動していくことになります。

ただこれだと、回転によって写り合う頂点はどう見ても1平面上には乗っていません。不思議な気がしますが、これには、四次元より高い次元での回転の性質が関係しています(というか、二次元と三次元の方が特殊)。

この話題、どこまで続くんだろう。

| | コメント (0) | トラックバック (0)

2013年4月 8日 (月)

正八胞体群について (1)

前の記事の正六面体の構成でやったことを、四次元の正八胞体でやってみると、このようになります。

gap> a:=(1,2,4,3)(5,6,8,7)(9,10,12,11)(13,14,16,15);

(1,2,4,3)(5,6,8,7)(9,10,12,11)(13,14,16,15)

gap> b:=(1,2,6,5)(3,4,8,7)(9,10,14,13)(11,12,16,15);

(1,2,6,5)(3,4,8,7)(9,10,14,13)(11,12,16,15)

gap> c:=(1,2,10,9)(3,4,12,11)(5,6,14,13)(7,8,16,15);

(1,2,10,9)(3,4,12,11)(5,6,14,13)(7,8,16,15)

gap> g:=Group(a,b,c);

Group([ (1,2,4,3)(5,6,8,7)(9,10,12,11)(13,14,16,15), (1,2,6,5)(3,4,8,7)(9,10,14,13)(11,12,16,15),
  (1,2,10,9)(3,4,12,11)(5,6,14,13)(7,8,16,15) ])

gap> Size(g);

192

gap> StructureDescription(g);

"(((C2 x D8) : C2) : C3) : C2"

gap> ConjugacyClasses(g);

[ ()^G, (3,5,9)(4,6,10)(7,13,11)(8,14,12)^G, (2,3)(5,9)(6,11)(7,10)(8,12)(14,15)^G,
  (1,2)(3,4)(5,10)(6,9)(7,12)(8,11)(13,14)(15,16)^G, (1,2,4,3)(5,6,8,7)(9,10,12,11)(13,14,16,15)^G,
  (1,2,4,8,16,15,13,9)(3,6,12,7,14,11,5,10)^G, (1,2,4,12,16,15,13,5)(3,10,8,11,14,7,9,6)^G,
  (1,4)(2,3)(5,8)(6,7)(9,12)(10,11)(13,16)(14,15)^G, (1,4,7,16,13,10)(2,3,8,15,14,9)(5,12)(6,11)^G,
  (1,4,16,13)(2,8,15,9)(3,12,14,5)(6,7,11,10)^G, (1,4,16,13)(2,12,15,5)(3,8,14,9)(6,10,11,7)^G,
  (1,8,13,12)(2,7,14,11)(3,6,15,10)(4,5,16,9)^G, (1,16)(2,15)(3,14)(4,13)(5,12)(6,11)(7,10)(8,9)^G ]

gap>

いろいろややこしくなりましたが、私が意外だと思ったのは、共役類に位数8のものがあることです。位数2、3、4のものは正六面体の場合と同じで、直感的にわかりやすいですし、位数6のものも何となくわかるのですが、位数8というのは普通は45度とか135度回転に関連しているわけで、90度回転の組み合わせでこのようなものが出てくるのは不思議です。

この点を理解するために、別の構成法を使ってみます。

まだまだ続きます。

| | コメント (0) | トラックバック (0)

2013年4月 7日 (日)

正六面体群について

昨日の記事のようにGAPで正六面体群を構成した上で、共役類を表示させると、次のようになります。

gap> a:=(1,2,4,3)(5,6,8,7);

(1,2,4,3)(5,6,8,7)

gap> b:=(1,2,6,5)(3,4,8,7);

(1,2,6,5)(3,4,8,7)

gap> g:=Group(a,b);

Group([ (1,2,4,3)(5,6,8,7), (1,2,6,5)(3,4,8,7) ])

gap> ConjugacyClasses(g);

[ ()^G, (2,3,5)(4,7,6)^G, (1,2)(3,6)(4,5)(7,8)^G, (1,2,4,3)(5,6,8,7)^G, (1,4)(2,3)(5,8)(6,7)^G ]

gap>

5つの共役類の代表元が出ていますが、前から単位元、対角線(頂点1,8を結ぶもの)の周りの120度回転、辺1,2の中点と辺7,8の中点を結ぶ線を軸とした180度回転、面1,2,4,3の90度回転、同じ面の180度回転であると解釈していいようです。

ところが同じことを、四次元の正八胞体でやってみると、意外なことに気づきます。実は前に書いたことのあることなのですが。

まだ続きます。

| | コメント (0) | トラックバック (0)

2013年4月 6日 (土)

GAPでの正六面体群の構成

GAPは非常に高機能・多機能なプログラムです。私が使用しているのはほんの限られた機能だけです。

少し前にしていたことを書いてみます。まず、正六面体群の構成です。

やり方はいろいろあるはずですが、すべての頂点に番号を振った上での、Z軸やY軸の周りの90度回転は、こうできます。

a:=(1,2,4,3)(5,6,8,7);

b:=(1,2,6,5)(3,4,8,7);

これらを基に群を構成します。

g:=Group(a,b);

この構成を進めていけば、四次元の正八胞体や、それ以上の次元の超立方体の群も構成できるわけですが、n次元で2n個の頂点を考えなければならず、面倒です。

実はそれらの群の構成だけであれば、もっと簡潔な方法があります。それはまた次に

| | コメント (0) | トラックバック (0)

LinuxのGAPのバージョン

これまであまり気にしていなかったのですが、LinuxディストリビューションでのGAPパッケージはあまり新しくないようです。

現在の最新版は4.6.3ですが、Squeeze、Wheezyともに4.4.12でした(バージョンの記法が違いますが、たぶん)。

確かに本家ページのマニュアルにある機能のうち、まだ実装されていないものに出くわしたことがあります。

ちょっと面倒ですが、ソースからインストールした方がいいようです。

Windowsでは最新版が用意されているようですね。

| | コメント (0) | トラックバック (0)

2013年3月25日 (月)

正八胞体の回転(2)

さて、回転操作で位数が8ということは、45度とか135度の回転に関係していることになるわけですが、正八胞体の面は正方形で、辺のなす角はすべて90度なので、どうしてそういう回転ですべての頂点が別の頂点に移動するのか、直感的にはなかなか理解しにくいかと思います。

これは、4次元以上の空間での回転は、3次元の回転とははっきり違う点があることによります。

こう表現してみます。

「4次元空間内の回転は、1点で互いに直交する2枚の平面内での2つの回転を組み合わせたものである」

1点で」と書きました。3次元空間内では2枚の平面は一般に1直線で交わります。そうでなければ平行なので、1点で、ということはあり得ません。4次元では次元が1つ増えたことが関係しています。

後はまた次の記事で。

| | コメント (0) | トラックバック (0)

より以前の記事一覧