「回転群の具体的な表示と計算」に少し追加します。Mさんが知りたかったのは指数写像らしいので、指数写像について述べます。「回転群の具体的な表示と計算」と同様、群論、多様体論、微分幾何学などは出来るだけ使わずに、行列計算とRnの幾何的直感を頼りに話をします。
内容:
- 指数関数・三角関数の級数表示
- 行列の指数関数
- 2次歪対称行列の指数関数
- 指数写像の解釈
- SO(n)の単位元における接空間
- 指数法則
- 指数写像の微分
- 1パラメータ指数写像
- Alt(3)の基底と回転の力学
指数関数・三角関数の級数表示
指数関数は次の級数表示を持ちます。
- ex = exp(x) = 1 + x + (1/2!)x2 + (1/3!)x3 + ... + (1/n!)xn + ...
右辺の無限級数を適当なところで打ち切った多項式で、指数関数は近似されます。実験として、4次の多項式 1 + x + (1/2)x2 + (1/6)x3 + (1/24)x4 と指数関数を比較してみます*1。
x = 0 の周辺なら、まーまーの近似になっています。
- cos(x) = 1 - (1/2!)x2 + (1/4!)x4 - ... + (-1)n(1/(2n)!)x2n + ...
- sin(x) = x - (1/3!)x3 + (1/5!)x5 - ... + (-1)n(1/(2n+1)!)x2n+1 + ...
複素数を使うと指数関数と三角関数を関係付けられます(オイラーの公式)が、今回は実数の範囲で考えます*2。
行列の指数関数
M2は、前回記事「回転群の具体的な表示と計算」で定義したように、2次行列環です。その他の記号・記法も前回記事と同様です。X∈M2に対して、指数関数Exp(X)を次のように定義します。
- Exp(X) := E + X + (1/2!)X2 + (1/3!)X3 + ... + (1/n!)Xn + ...
上の定義が意味を持つには次のことを調べる必要があります。
今はこれらのことを詮索しません。Exp(X)はちゃんと定義されていると思ってください。試しに、2次行列Xに対する3次の近似多項式を求めてみます。あっ、「2次」は行列のサイズで「3次」は多項式の次数ね、紛らわしいけど。以下に、Maximaのコードと画面ショットです。
Exp3(X) := E + X + 1/2*X^^2 + 1/6*X^^3 X; Exp3(X); A : matrix([0, -1/4], [1/4, 0]) Exp3(A)
行列の指数関数 Exp:M2→M2 を上記のように定義できますが、M2は非可換で実数体より複雑な構造を持つので、一般的には指数法則 Exp(X + Y) = Exp(X)・Exp(Y) は成立しません。特別なX, Yの組み合わせや、定義域を制限すると指数法則が成立することもあります。
すぐ上で使ったナカグロ記号'・'は行列の掛け算の意味です。前回記事「回転群の具体的な表示と計算」ではリング記号''を使いましたが、今回は写像の結合(合成)が出てくるので、''は写像の結合の意味で使います。
2次歪対称行列の指数関数
Xt = -X を満たすような2次行列を2次の歪対称行列(skey-symmetric matrix)と呼びます。歪対称行列は、反対称行列(antisymmetric matrix)、交代行列(alternative matrix)とも呼ばれます。
Xt = -X を成分で表示すると:
成分ごとに見ると:
- x1 = -x1
- x3 = -x2
- x2 = -x3
- x4 = -x4
これより、
- x1 = x4 = 0
- x3 = -x2
が出ます。結局、2次の歪対称行列は s = x2 と置いて次の形になります。
歪対称行列Sに関してその指数関数値 Exp(S) を具体的に計算してみましょう。
試しに、Sの累乗を求めてみます。
偶数ベキのときは対角行列、奇数ベキのときは歪対称行列になります。次の形ですね。
この形は、nに関する数学的帰納法で確認できます。
指数関数の無限級数表示を、偶数ベキと奇数ベキのペアを使って書くと次のように計算できます。
等式変形の最後のステップでは、冒頭で挙げた三角関数の級数表示を使っています。まとめると:
指数写像の解釈
前節の計算から、行列の指数関数(指数写像とも呼びます)を2次歪対称行列に制限すると、SO2のパラメータ表示(前回記事参照)になることが分かりました。このことをもう少しハッキリ述べましょう。
前節の歪対称行列Sは、スカラーパラメータsに依存するので、正確に書けばS(s)です。つまり、Sは実数RからM2への写像 S:R→M2 (M2 R4)です。
一方、SO2のパラメータ表示 R:R→M2 (M2 R4)は次の形です。
SとR、指数写像 Exp:M2→M2 の関係は:
- ExpS = R :R→M2
今出てきたは写像の反図式順結合で行列の掛け算ではありません。
以上の事実から、2次歪対称行列の指数(Expによる値)は2次特殊直交群SO2のなかに入ることがわかります。このことは、2次行列に限らず、任意のnに関して言えます。つまり、n次歪対称行列の指数はn次特殊直交群SO(n)のなかに入ります。その理由を次節以降で述べます。
SO(n)の単位元における接空間
歪対称行列が唐突に出てきた印象があるでしょうが、SO(n)の単位元Enでの接空間が歪対称行列の空間になります。このことを見るには、F:R⊇(-ε, ε)→SO(n) という写像を考えます。εは正の実数または∞で、(-ε, ε)は原点の回りの適当な開区間を意味します。特に、(-∞, ∞) = R です。
Fは、開区間(-ε, ε)からRn×nへの写像で、SO(n)からはみ出さないものと考えることができます。(n×n)次元のベクトル値の1変数関数なので、微分可能性や微分(導関数)も定義できます。
F:(-ε, ε)→SO(n) が(何度でも)微分可能な関数として、F(0) = En と仮定します。Fの微分(導関数)はF'と書きます。Fが(n×n)次元のベクトル値1変数関数なので、F'も同じく(n×n)次元のベクトル値1変数関数です。行列の転置や掛け算に関して、次の微分公式が成立します。次の公式で・は行列の掛け算です。
- (Ft)' = (F')t
- (G・F)' = G'・F + G・F'
- (定数関数)' = On (OnはRn×nのゼロベクトル)
これらの微分公式を使って、F(s)t・F(s) = En (F(s)∈SO(n) を表す等式)の両辺を微分すると:
- F'(s)t・F(s) + F(s)t・F'(s) = On
s = 0 での値を考えると:
- F'(0)t・F(0) + F(0)t・F'(0) = On
F(0) = F(0)t = En (単位行列)と仮定していたので:
- F'(0)t + F'(0) = On
- つまり、F'(0)t = -F'(0)
これは、Fの0での微分係数F'(0)が歪対称行列であることを示します。実パラメータsを時間と考えれば、FはSO(n)の上を動く運動の表示です。そして、F'(0)は、F(0) = Enでの速度ベクトルなので、「図形SO(n)の一点Enにおける接ベクトル」と解釈できます。つまり、SO(n)のEnにおける接ベクトルは歪対称行列であり、接空間(接ベクトルの全体)は歪対称行列の空間になります。
n次歪対称行列は、対角線より上の成分だけで決定されるので、(n×n - n)/2 = n(n - 1)/2 個の独立な成分を持つことになり、ベクトル空間としての次元はn(n - 1)/2です。このことから、SO(n)の図形としての次元もn(n - 1)/2だろうと推測できます。
n次歪対称行列の全体をAlt(n)としましょう。'Alt'は歪対称行列の同義語「交代行列」(alternative matrix)からです。今までの議論から、Alt(n)⊆Rn×n は部分ベクトル空間で、dim(Alt(n)) = n(n - 1)/2、En + Alt(n) = {En + X | X∈Alt(n)} はSO(n)の接空間となります。
指数法則
行列の指数関数でも、特別な条件を付ければ指数法則が成立します。AとBが可換(A・B = B・A)なとき、次が成立します。
- Exp(A + B) = Exp(A)・Exp(B)
これを示すには形式的ベキ級数のレベルでの形式的計算と、収束に関する議論が必要です。僕は、形式的計算もなんだかよく分からなかった記憶があるので、少し丁寧に説明します。
背景になるのは、Vをノルム付きベクトル空間(V = R と考えてもよい)として、Ψ:N×N→V の総和を求める公式です。Ψが総和可能なとき、N×Nをどのように分割して総和を計算してもよいので、N×N = {(0, 0)}∪{(1, 0), (0, 1)}∪{(2, 0), (1, 1), (0, 2)}∪... のような分割で計算します。
書き方を変えると:
縦割り/横割りによる総和も考えれば:
このように、分割方法を変えても総和は変わらないことを利用して、Exp(A + B) = Exp(A)・Exp(B) を示します。
まず Exp(A + B)を計算します。
(A + B)n を二項展開します。
n!を約分してn - kをℓと置けば:
次に、Exp(A)・Exp(B)を計算します。
分割方法を変えても総和は変わらないことから:
これで、形式的計算においては Exp(A + B) = Exp(A)・Exp(B) を示せました。このような計算が行えたのは、A・B = B・A が仮定されていたからです。任意のA, Bに対して指数法則は成立しません。形式的計算が実際の値の計算になっていることは、解析学の総和・収束の議論を適用して分かりますが、そこは割愛します。
Aをn次正方行列、s, tを実数とするとき、AsとAtは可換なので、次が成立します。
- Exp(A(s + t)) = Exp(As + At) = Exp(As)・Exp(At)
また、Aと-Aも可換なので(Enはn次単位行列、Onはn次ゼロ行列として)、
- En = Exp(On) = Exp(A + (-A)) = Exp(A)・Exp(-A)
これより、
- Exp(-A) = Exp(A)-1
が出ます。
指数写像の微分
n次行列環Mnにおける指数写像 Exp:Mn→Mn は、ユークリッド空間のあいだの写像とみなせば、Exp:Rn×n→Rn×n です。その微分を表すヤコビ行列は、(n×n)×(n×n)行列になります。例えば、3次行列環の指数写像の微分(ヤコビ行列)は、81成分を持つ行列になります。
しかし、環の加減乗除(除は逆数を取ること)で組み立てられる多項式関数やその極限である無限級数(で定義される関数)では、微分も加減乗除の組み合わせで書けるので、実数値1実変数関数の微分計算と類似の微分公式が成立します。
例えば、 と類似の次の微分公式が成立します。
とはいえ、この微分公式の解釈はけっこう難しいです。
F:RN→RM をユークリッド空間のあいだの微分可能写像として、その導関数(各点のヤコビ行列を対応させる写像)をD[F]とします。Dは微分作用素です。D[F]の特定の点Aでの値(微分係数=ヤコビ行列)を D[F](A) と書くことにします。D[F](A)はM行N列の行列です。この行列と長さNの列ベクトルY(Y∈RN)との積は併置により D[F](A) Y と書くことにします。
今説明した記法で書くと、指数写像の微分公式は次のことを意味します。
- D[Exp](A) Y = Exp(A)・Y
もう少し馴染みのある書き方をするなら:
左辺の は(n×n)×(n×n)行列で、Yはn×n行列を長さn×nの列ベクトルとみなしたものです。右辺は、(n×n)行列の掛け算(記号'・')です。
n = 2 のケースを、X, A, Yなどをタプル(列ベクトル)形式で書いてみると次のようになります。Exp(X)の第i成分はei(i = 1, 2, 3, 4)と略記し、B = Exp(A) と置きました。
このへんのことをチャンと書いてある資料をあまり見かけないので、一度チャンと書きたいなとは思っているのですが、今日のところはコレでお茶を濁して、合成関数の微分公式に話を進めます。
IをRの開区間として、微分可能な写像 G:I→Rn×n を考えます。このRn×nはMnとみなせば、GとExp:Rn×n→Rn×n は結合(合成)可能です。ExpG:I→Rn×n の微分(導関数)は次の公式で与えられます。
これらの微分公式は次節で使います。
1パラメータ指数写像
「SO(n)の単位元における接空間」の節において、次のことを示しました; (何度でも)微分可能な F:(-ε, ε)→SO(n), F(0) = En に対して、その微分F'(0)はAlt(n)に入る。さてそれでは、A∈Alt(n) を先に与えて、Aを微分係数(速度ベクトル)とするような標準的な関数 H:(-ε, ε)→SO(n) を定義できるでしょうか? 標準的とは、Aを決めると関数Hも一意的に決まることです。
前段落の問題をチャンと述べると; H:(-ε, ε)→Mn (Mn Rn×n)を未知関数とする以下の常微分方程式を解くことになります。ここで、Mnはn次行列の空間です。
- H(0) = En
- H'(s) = H(s)・A (A∈Alt(n))
常微分方程式の解の存在と一意性から、上記の条件を満たすHが決まることは分かりますが、ここでは、天下りかつ具体的・露骨に解を与えてしまいます。
- H(s) := Exp(As)
Hの定義域である開区間(-ε, ε)は適当に考えていいですが、(-∞, ∞) = R でも定義可能です。
実変数sの関数Exp(As)が、実際に常微分方程式を満たすことを確認します。H(0)は次のように計算できます
H(0) = Exp(A0) = Exp(On) = En
次に微分(導関数)H'(s)を計算します。分かりやすいように、G(s) := As と置いて、H(s) = (ExpG)(s) とします。G'(s) = A(定数関数)に注意して、指数写像の微分公式と合成関数の微分公式により、
H'(s) = Exp(G(s))・G'(s) = Exp(As)・A = H(s)・A
特に、
H'(0) = Exp(A0)・A = Exp(On)・A = En・A = A
以上で、A∈Alt(n) に対して、標準的な関数 s|→Exp(As) を対応させることができました。この関数は1つの実数パラメータだけを持つ指数写像です。
A∈Alt(n) に対するExp(As)は、実数sの値が何であっても Exp(As)∈SO(n) となります。このことは次の計算で分かります。
Exp(As)t = Exp(Ats) // Aが歪対称行列なので、At = -A = Exp(-As) // 「指数法則」の節で示した等式により = Exp(As)-1
X = Exp(As) と置けば、上の計算は Xt = X-1 を意味するので、Xt・X = En すなわち X = Exp(As) ∈SO(n) 。
「指数法則」の節で示した等式により、
- Exp(A(s + t)) = Exp(As)・Exp(At)
- Exp(A0) = En
- Exp(A(-s)) = Exp(As)-1
これは、1パラメータ指数写像Exp(As)が、加法群RからSO(n)への群の準同型写像であることを意味しています。
Alt(3)の基底と回転の力学
n = 3 のケースを考えます。Alt(3)は R3×3 = R9 の部分ベクトル空間になります。その次元は、3(3 - 1)/2 = 3 です。3つの歪対称行列をうまく選べば、3次元ベクトル空間Alt(3)の基底となります。例えば、次の3つの歪対称行列はAlt(3)の基底です。
これらが基底となるのはただちに分かりますが、いきなり出されても必然性を感じません。これら3つの歪対称行列は力学由来であることを説明します。
我々が棲んでいる空間のモデルである3次元ユークリッド空間R3の座標軸を、常識のとおりx-軸、y-軸、z-軸と呼ぶことにします。x-軸の回りの角度sの回転は、次の行列で表現できます。
角速度が一定なら、角度と時間は比例するので、sの代わりに時間パラメータtとしても同じことです。
実パラメータが角度か時間かは気にしないことにします。x-軸のときと同様に、y-軸を回りの回転とz-軸の回りの回転は次のパラメータ付き行列で表現されます。
これらのパラメータ付き行列は、R→R3×3 の写像です。それだけでなく、sの値によらず行列はSO(3)に入ります。さらに、加法群Rから回転群SO(3)への群の準同型になっています。つまり、RX, RY, RZは前節で説明した1パラメータの指数写像の実例です。
これらのことは、行列計算と三角関数の加法定理で示せますが、軸を固定した回転運動を考えれば直感的にも納得いくでしょう。例えば、回転の角度の和は、回転行列の積に対応します(指数法則)。
RX, RY, RZをパラメータsで微分したものを SX, SY, SZ と置くことにします。
RX(s)は、Rnの運動ではなくて、SO(3)内の運動を記述します。適当に3次元定数ベクトル(初期位置ベクトル)cを取って、x(s) := RX(s) c とすれば、x(s)が3次元空間内の回転運動になります。SX(s)はRX(s)の微分なので、3次元空間の値を取らず、SX:R→R3×3 です。RYとSY、RZとSZについても同じことです。
RX, RY, RZ はSO(3)内の運動なので、s = 0 での微分は、SO(3)の単位元における接空間であるAlt(3)に入るはずです。実際に見てみましょう。
本節の冒頭に挙げた基底(3つの歪対称行列)は、RX, RY, RZの、SO(3)の単位元における速度ベクトルだったのです。これらの速度ベクトル(歪対称行列)は、“一瞬における回転させる勢い”あるいは“微小な回転”を表すものです。例えば、δを微小な角度(または時間)として、x-軸の回りの“微小な回転”は次の形です。
力学で出てくる角速度や角運動量は、“一瞬における回転させる勢い”や“微小な回転”を表す量で、回転の軸方向のベクトルとして表示されます。しかし、あれは方便です。角速度や角運動量がRnのベクトルとして実在しているわけではありません。角速度や角運動量の本来の棲家はSO(3)の接空間です。
Alt(3)の次元が3で、上記のような標準基底を取れることから、次の1:1対応を構成できます。
この対応を使って、Alt(3)をR3に重ね合わせているのです。この重ね合わせ(同一視)は、3次元以外では通用しません。
実際、角速度/角運動量を表す矢印は擬ベクトル(pseudovector)と呼ばれています。R3のベクトルとして考えるのはちょっと無理があるため「疑」が付いています。
イイカゲンで大雑把な話でしたが、R2×2, R3×3のなかにあるSO(2), SO(3)とその接空間の様子が多少はイメージできたでしょうか。