群とは

 空(くう)ではない集合 G があり、そこに含まれる要素のことを元 (element) と呼ぶことにします。元と元との間に何らかの算法 (operation, と表現します)が定義され、その算法の結果も必ず集合 G に含まれるとします。このような集合 G が、次の三つの条件を満たすとき、その集合を (group) とよびます。

  1. 結合則の成立: 任意の元 g,h,k について、g(hk)=(gh)k を満たす。
  2. 単位元の存在: 任意の元 g に対して、 ge=eg=g となるような元 e が存在する (e を単位元と呼ぶ)。
  3. 逆元の存在: 任意の元 g に対して、 gx=xg=e となるような元 xが存在する (xg の逆元と呼び、g1 と表現する)。

単位元 e しか含まれない集合も群ですし、元が無限個あるような群もあります。ある元とその逆元が同一になることもあります。さらに次の条件を満たすとき、アーベル群あるいは可換群といいます。

  1. 交換則: 任意の元 g,h について、gh=hg を満たす。

抽象的な定義で分かりにくいですね。具体例を挙げながら群の性質を見ていきます。


行列を元とする群

 行列は、積や和などが定義可能な線形代数表現です。行列の積や和は条件1 (結合則)を満たすので、うまく行列を集めれば群を作ることができます。なお以降は、行列は全て正方行列であり、群の算法はかけ算であるとします。また、いちいち算法()の記号を書くのも冗長ですので省略します。行列を並べて書いたらそれはかけ算だと思ってください。

 行列を元とする群があったとすると、そこには必ず単位行列が含まれるはずです (条件2 単位元の存在)。また、どんな元にも必ず逆元を持たないといけません(条件3 逆元の存在)から、正則行列 (= 逆行列をもつ = 行列式(determinat)がゼロではない)である必要もあります。もちろん、群から任意の元を二つ取り出して掛算した結果は、群のいずれかの元に一致しなければいけないという大前提もあります。行列の演算は可換ではありません (かけ算の順序を変えると結果が異なることがある)ので、条件4 (交換則)を満たすとは限りません


具体例

 以上を踏まえて具体例を見てみましょう。例えば、4行4列の単位行列(e)を一つだけ含む集合は、群となります。単位行列の逆元はそれ自身です。

1000010000100001
単位行列(e)と、その符号を全てマイナスにした行列(e)の、二つを含む集合も、群となります。それぞれが、自分自身の逆元となります。
1000010000100001,  1000010000100001
以下のような4つの行列も群となります。最後の二つは互いに逆元の関係になっています。
1000010000100001,  1000010000100001,  0100100000100001,  0100100000100001
元の数は無限にあっても構いません。例えば4列目の1~3行目がr(任意の実数)の倍数であるような以下の集合も群となります。
,100001000010rrr1,  1000010000100001,  100001000010rrr1,  1000010000102r2r2r1,  ,

 群に含まれる元の数を、位数といいます。直上の例では、位数は無限ということになります。


生成元

 生成元 (generator)とは、その名の通り群を生成する元のことです。ある群 G の中からなるべく少ない個数の元 s1,s2, を選び、それら及びそれらの逆元 s11,s12, を何回でも好きなだけかけ合わせて (同じものを使っても構わない)、もし群 G の元をすべて網羅することができたら、 s1,s2, を群 G の生成元であるといいます。

 例えば、先ほども挙げた以下の場合 (分かりやすくするため s1,s2, と記号を振ります)、

s1=1000010000100001,  s2=1000010000100001,  s3=0100100000100001,  s4=0100100000100001
s3を選び、それを何回もかけ合わせると、 s23=s2, s33=s4, s43=s1 という関係が見出されますので、 s3 はこの群の生成元であるといえます。同様に s4 もこの群の生成元です。一方、s2s22=s1,s32=s2 のように s1 しか生み出せませんから、この群の生成元とは言えません。また、s1 (単位元) も s1 しか生み出せないのでやはりこの群の生成元とは言えません。

 上の例では s3 あるいは s4 が生成元でした。どちらか一つを選べばよく、両方を選ぶ必要はありません。このように、ある群の生成元が1つだけで表現できるとき、その群は巡回群 (cyclic group) である、といいます。「巡回」という言葉からは、上の例のような元の数 (位数) が有限の場合に限定されるような気がします。しかし位数が無限の群だとしても、生成元が1つだけであれば、巡回群です。無限(infinite)巡回群ということもあります。たとえば「具体例」の最後に示した群の場合は、

100001000010rrr1  or  100001000010rrr1
が生成元となります。


行列と対称操作

 別ページで説明している通り、すべての対称操作は4×4正則行列のユークリッド変換で表現することが出来ます。点群や空間群とは、対称操作を元とする群のことです。「操作が元である」とはイメージしにくい表現ですね。操作が作用するのは、何らかの物体の座標です。ある操作によって物体の座標を別の座標に写すということは、線形代数的には物体の座標に同じ次元の正方行列をかけることと等価です。つまり、座標に作用する「操作」とは、座標にかけあわせる「行列」とみなすことができます。以降では、行列とは単に数値を縦横に並べたものではなく、対称操作の性質をもつのだと思って読み進めて下さい。


点群

 点群は、並進(平行移動)を含まず、原点を不動にするような対称操作を組み合わせてできる群です。並進を含まない対称操作には回転、回反、対称心、鏡映がありますが、それらが原点を不動にするような操作である時、アフィン変換行列の4列目は 必ず 0,0,0,1 になります1
並進を含まない対称操作: A11A21A310A12A22A320A13A23A3300001=A0000001

 4行目と4列目が 0,0,0,1 の行列をどのように掛け合わせても、4行目と4列目は 0,0,0,1 になりますので、簡単のために以降は A の部分だけで対称操作を表現することにします。


具体例

 例えばZ軸と一致する2回回転軸をもつ対称性は、以下のような2つの行列からなる群であると言えます。1つ目が恒等変換(単位行列)、2つ目が180度回転操作を表します。これは点群2に対応します。

100010001,  100010001
もし、この点群2に、以下のように90°回転操作(3つ目)も加えたらどうなるでしょう。ちょっと考えたら分かりますが、2つ目と3つ目の掛け算の結果として4つ目の270°回転操作も加えないと、群として成立しません。4つ揃って点群 4 となります。
100010001,  100010001,  010100001,  010100001
今度は、点群 2Z軸に垂直な鏡映操作(3つ目)を加えてみましょう。先ほどと同じような理屈で4つ目の対称心操作(1¯)が必然的に生み出されてしまいます。これが点群 2/m です。
100010001,  100010001,  100010001,  100010001
最後の例として、Y 軸に一致する180°回転操作(3つ目)も加えてみましょう。やはり4つ目の対称操作(X 軸に一致する180°回転操作)が生み出されてしまいます。これら4つで点群 222 となります。
100010001,  100010001,  100010001,  100010001

 このように、もとの点群に別の対称要素を加えていくことで、次々と別の点群を生成することが出来ます。


空間群

 空間群の群としての構造を行列で表現する場合、アフィン変換の表現、すなわち4×4行列を使う必要があります。並進を考慮しなければいけないからです。またこの行列が変換するのは、mとかÅのような長さの次元をもつ座標ではなく、単位格子ベクトル a,b,c をそれぞれ何倍するかを示す分率座標 (u v w 1) であることにご注意ください。最後の1はダミー次元です。実際の空間での座標は ua+vb+wc となります。ベクトル a,b,c は長さが違うかもしれませんし、直交するとも限りません。

 以降の説明では、 u,v,wX,Y,Z 軸に対応させた分率座標空間を考えます。例えば X 軸方向に x 進むということは、 a ベクトルを x 倍した量だけ進むという意味になります。


並進群

 結晶は単位格子並進で空間を埋め尽くすような物質です。3次元の単位格子並進操作は、

,1000010000100011,1000010000100001,1000010000101001,1000010000100101,1000010000100011,1000010000101101,1000010000101011,1000010000100111,1000010000101111,1000010000102111,

のような、左上3行3列が単位行列で4列1~3行にあらゆる整数を含む、無限個の(アフィン変換)行列の集合で表現することができます。すべてを書き下すことはできないので、以下のような書き方でこの無限個の集合を表現することにします。

100001000010n1n2n31 ただし、n1,n2,n3はすべての整数

この集合が群の構造を持つことは、ここまで読んだ方なら容易に理解できるでしょう。単位元は n1=n2=n3=0 とすればよいですし、逆元は n1,n2,n3 の符号を反転するだけです。このような群を、並進群といいます。何の面白みもない群ですが、空間群は必ず並進群を部分群として含みますので、超重要です。なお、上で示した並進群は単純格子に対応しており、このタイプの並進群だけを含む空間群が P1 です。並進群には、この他に底心格子、体心格子、面心格子に対応するものがあります。以下に列記します。以降は n1,n2,n3 がすべての整数を表すとします。

底心(C)の並進群

100001000010n1n2n31,100001000010n1+12n2+12n31

体心格子の並進群

100001000010n1n2n31,100001000010n1+12n2+12n3+121

面心格子の並進群

100001000010n1n2n31,100001000010n1n2+12n3+121,100001000010n1+12n2n3+121,100001000010n1+12n2+12n31

くどいようですが、 n1,n2,n3 はすべての整数を表しています。並進群の元の数は無限個であることを忘れないようにしてください。


並進群+対称操作

 点群の時と同様に、並進群に別の対称要素を加えることで新しい空間群を生み出していきましょう。

 まず、空間群P1に対称心操作を加えてみましょう。群として成立するためには、以下のような行列集合のすべてを元として含まないといけません。1つ目の行列集合が並進操作で、2つ目の集合が対称心操作に対応します。対称心操作をひとつ加えたつもりでも、並進操作によって増殖し、無限個の集合となることに注意しましょう。これが空間群P1¯ の行列表現です。

100001000010n1n2n31,100001000010n1n2n31

 今度は P1Y を軸とする 21 らせん操作を加えてみます。これは空間群 P21 に対応します。

100001000010n1n2n31,100001000010n1n2+12n31

 X,Y,Z 軸がすべて 21 らせん操作であると考えてみます。2, 3, 4つめの行列はそれぞれ X,Y,Z 軸と一致する 21 らせん操作に対応します。これは空間群 P212121 に対応します。

100001000010n1n2n31,100001000010n1+12n2n31,100001000010n1n2+12n31,100001000010n1n2n3+121

 並進群を C 底心格子として、Y 軸に垂直な c 映進面操作を考えてみましょう。2つめが C 底心操作、3つめが c 映進操作に対応し、4つめは2つめと3つめの積で現れる操作(Y=1/4 面に位置する n 映進面)です。これが空間群 Cc です

100001000010n1n2n31,100001000010n1+12n2+12n31,100001000010n1n2n3+121,100001000010n1+12n2+12n3+121

 いくつかの例を見てもうお分かりだと思いますが、空間群の性質を理解するためには、単位格子ひとつ分の対称操作の関係をみるだけで十分です。また各行列の左上3行3列の部分だけを取り出せば、点群の構造とよく似ていることにも気づかれると思います。この類似性については別ページで解説します。


らせん操作や映進操作が作る群

 らせん操作や映進操作も並進をともなう対称操作です。ここでは並進群のことはいったん忘れて、たとえば X 軸に一致する 21 らせん操作

S=10000100001012001
を生成元とするとどんな群を得られるか考えてみましょう。jを任意の整数として、
S2j=100001000010j001
という関係が容易に見出されますから、Sを生成元とする群は以下のような2種類の行列集合のすべてをふくみます。

100001000010n001,10000100001012+n001 ただしnはすべての整数

一つ目の行列集合は X 軸方向のみの並進群です。一方向のみとはいえ並進群を含みますから、この集合も立派な空間群ということになります。

 今度は、 YZ 平面に一致して、並進量が (0,12,12) であるような n 映進操作

N=100001000010012121
を生成元としてみましょう。やはり
N2j=1000010000100jj1
という関係を考慮すれば、以下のような二つの行列集合を元とするような群であると考えることができます。

1000010000100nn1,1000010000100nn1 ただしnはすべての整数

一つ目の行列集合は Y+Z 軸方向の並進群です。これもやはり空間群です。

 最後に XY,YZ,ZX 面のそれぞれに n 映進操作 (それぞれN1,N2,N3とします)であるような状況を考え、これらを生成元として群を作ってみましょう。

N1=100001000010121201,  N2=100001000010012121,  N3=100001000010120121
j1,j2,j3を任意の整数とすれば、以下のような関係が容易に導かれます。
N2j11=100001000010j1j101,  N2j22=1000010000100j2j21,  N2j33=100001000010j30j31
j1,j2,j3は任意の整数でしたから、j3+j1,j1+j2,j2+j3も任意の整数です。つまり、3次元の並進群が生み出されたわけです。また、N1,N2,N3 から2つあるいは3つ選んでかけあわせると、
N1N2=100001000010121121,  N2N3=100001000010121211,N3N1=100001000010112121,  N1N2N3=1000010000100011
という関係が導かれます。既に並進群があることが分かっているので、4列目の1~3行については 101212 と変換しても一般性を失いません。最初の3つは、それぞれ N1N2:Z=X=12N2N3:X=Y=12N3N1:Y=Z=12 という直線と一致する2回回転操作に対応します。最後のひとつは原点に位置する対称心操作を意味します。結局、N1,N2,N3 を生成元とする行列を書き下すと、以下のようになります。これは空間群 Pnnn(=P2/n 2/n 2/n) に対応する行列表現です。
100001000010n1n2n31,  10000100001012+n112+n2n31,  100001000010n112+n212+n31,  10000100001012+n1n212+n3110000100001012+n1n212+n31,  10000100n101012+n212+n311,  100001000010n112+n212+n31,  100001000010n1n2n31

 以上の議論からわかるように、らせん軸操作や映進面操作を元に持つような群は、必然的に並進群を伴うことになります。言い換えると、らせん軸操作や映進面操作は、空間群(結晶)だけが持つ対称操作です。


脚注

  1. 並進を伴わないからといって、アフィン変換行列の4列目が 0, 0, 0, 1 になるとは限りません。例えば、Z軸に垂直でZ=wを通る鏡映は
    100001000010002w1
    のように表現できますが、この行列は2回かけると単位行列に戻ります。 ↩︎
contents