檜山正幸のキマイラ飼育記 このページをアンテナに追加 RSSフィード Twitter

キマイラ・サイトは http://www.chimaira.org/です。
トラックバック/コメントは日付を気にせずにどうぞ。
連絡は hiyama{at}chimaira{dot}org へ。
蒸し返し歓迎!
このブログの更新は、Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama
ところで、アーカイブってけっこう便利ですよ。

2017-08-19 (土)

バリュー問題

| 13:59 | バリュー問題を含むブックマーク

思いのほか投機性が高く射幸心を煽るということで問題になっている「バリュー」とはこれか。「どうせ長くは続かない」ということだが、8月いっぱいで終わり、なるほど。

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170819

2017-08-17 (木)

Webブラウザにおけるドラッグ・アンド・ドロップ

| 16:54 | Webブラウザにおけるドラッグ・アンド・ドロップを含むブックマーク

Webブラウザにおいて、画像とアンカー(ハイパーリンク)はデフォルトでドラッガブルになってますよね。他のソフトウェアやデスクトップに運んでドロップすることを想定しているのでしょう。

これって便利なのかぁ? 僕は何年も使ったことないのだけど。使っている人が多いのかぁ? 僕は、テキストのカット・アンド・ペーストのときに、間違ってアンカーをドラッグしてしまうことがあって、アンカーはドラッグに無反応なほうが助かるんだけど。みんなそんなミスはしないのかぁ?

JavaScriptでドラッグ動作/ドロップ動作は制御できるけど、それはWebページ側の対処の問題だから、閲覧者側じゃどうにもならない*1。ブラウザのオプション設定として、ドラッグ動作/ドロップ動作を抑制できないのかしら?

*1:昔なつかしのGreasemonkeyってか?

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170817

2017-08-09 (水)

ハ“ヒ”モト・カンナ ?

| 10:28 | ハ“ヒ”モト・カンナ ?を含むブックマーク

橋本環奈さんは、美しくて可愛い女優さんだと思います。橋本さんのブログがあります。

グループメンバーとしての橋本さんのブログらしく、グループ解散時の2017年4月1日で更新は止まっています。このブログのタイトル部分がどうにも解せないのです。

何度も目を凝らして見たのですが、これ、「ハ“ヒ”モト」ですよね。本文中なら、単なるタイポと気にしないですけど、タイトルですよ、タイトル。

このブログ、2014年3月開始でまる3年間続いていたブログです。そのタイトルが「ハ“ヒ”モト」のままって、どういうこと? 誰も気付かないとは考えられないので、何か意図があるのでしょうか? わからん。

[追記 date="翌日"]現在は Hashimoto になっています。直したってことは間違いだったんでしょうね。特に意図はなかったのかな。[/追記]

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170809

2017-08-03 (木)

回転群の指数写像の具体的な表示と計算

| 14:46 | 回転群の指数写像の具体的な表示と計算を含むブックマーク

回転群の具体的な表示と計算」に少し追加します。Mさんが知りたかったのは指数写像らしいので、指数写像について述べます。「回転群の具体的な表示と計算」と同様、群論多様体論、微分幾何学などは出来るだけ使わずに、行列計算とRnの幾何的直感を頼りに話をします。

  1. 指数関数・三角関数級数表示
  2. 行列の指数関数
  3. 2次歪対称行列の指数関数
  4. 指数写像の解釈
  5. SO(n)の単位元における接空間
  6. 指数法則
  7. 指数写像微分
  8. 1パラメータ指数写像
  9. 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 + ...

上の定義が意味を持つには次のことを調べる必要があります。

  1. 無限級数を打ち切った多項式関数が意味を持つか?
  2. 無限級数を近似する多項式関数の列は収束するか?
  3. 収束先である関数は良い性質を持つか?

今はこれらのことを詮索しません。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:M2M2 を上記のように定義できますが、M2は非可換で実数体より複雑な構造を持つので、一般的には指数法則 Exp(X + Y) = Exp(X)・Exp(Y) は成立しません。特別なX, Yの組み合わせや、定義域を制限すると指数法則が成立することもあります。

すぐ上で使ったナカグロ記号'・'は行列の掛け算の意味です。前回記事「回転群の具体的な表示と計算」ではリング記号'¥circ'を使いましたが、今回は写像の結合(合成)が出てくるので、'¥circ'は写像の結合の意味で使います。

2次歪対称行列の指数関数

Xt = -X を満たすような2次行列を2次の歪対称行列(skey-symmetric matrix)と呼びます。歪対称行列は、反対称行列(antisymmetric matrix)、交代行列(alternative matrix)とも呼ばれます。

Xt = -X を成分で表示すると:

 ¥begin{pmatrix}{¥it x_1} & {¥it x_2} ¥¥ {¥it x_3} &  {¥it x_4} ¥¥ ¥end{pmatrix}=¥begin{pmatrix}-{¥it x_1} & - {¥it x_3} ¥¥ -{¥it x_2} & -{¥it x_4} ¥¥ ¥end{pmatrix}

成分ごとに見ると:

  1. x1 = -x1
  2. x3 = -x2
  3. x2 = -x3
  4. x4 = -x4

これより、

  • x1 = x4 = 0
  • x3 = -x2

が出ます。結局、2次の歪対称行列は s = x2 と置いて次の形になります。

 S = ¥begin{pmatrix} 0 & -s ¥¥  s & 0 ¥end{pmatrix}

歪対称行列Sに関してその指数関数値 Exp(S) を具体的に計算してみましょう。

 ¥mathrm{Exp}(S) = ¥mathrm{Exp}¥( ¥begin{pmatrix} 0 & -s ¥¥  s & 0¥end{pmatrix} ¥) = ¥mathrm{Exp}¥begin{pmatrix} 0 & -s ¥¥  s & 0¥end{pmatrix}

試しに、Sの累乗を求めてみます。

 S^0 = ¥begin{pmatrix}1 & 0 ¥¥ 0 & 1 ¥¥ ¥end{pmatrix}

 S^1 = ¥begin{pmatrix}0 & -s ¥¥ s & 0 ¥¥ ¥end{pmatrix}

 S^2 = ¥begin{pmatrix}-s^2 & 0 ¥¥ 0 & -s^2 ¥¥ ¥end{pmatrix}

 S^3 = ¥begin{pmatrix}0 & s^3 ¥¥ -s^3 & 0 ¥¥ ¥end{pmatrix}

 S^4 = ¥begin{pmatrix}s^4 & 0 ¥¥ 0 & s^4 ¥¥ ¥end{pmatrix}

偶数ベキのときは対角行列、奇数ベキのときは歪対称行列になります。次の形ですね。

 S^{2n} = ¥begin{pmatrix}(-1)^n s^{2n} & 0 ¥¥ 0 & (-1)^n s^{2n} ¥¥ ¥end{pmatrix}

 S^{2n+1} = ¥begin{pmatrix}0 & (-1)(-1)^n s^{2n+1} ¥¥ (-1)^n s^{2n+1} & 0 ¥¥ ¥end{pmatrix}

この形は、nに関する数学的帰納法で確認できます。

指数関数の無限級数表示を、偶数ベキと奇数ベキのペアを使って書くと次のように計算できます。

 ¥sum_{n=0}^{¥infty}(¥frac{1}{2n!}S^{2n} + ¥frac{1}{(2n+1)!}S^{2n+1})

 =¥, ¥sum_{n=0}^{¥infty}¥( ¥frac{1}{2n!}¥begin{pmatrix}(-1)^n s^{2n} & 0 ¥¥ 0 & (-1)^n s^{2n} ¥¥ ¥end{pmatrix} + ¥frac{1}{(2n+1)!}¥begin{pmatrix}0 & (-1)(-1)^n s^{2n+1} ¥¥ (-1)^n s^{2n+1} & 0 ¥¥ ¥end{pmatrix}  ¥)

 =¥, ¥sum_{n=0}^{¥infty} ¥begin{pmatrix}(-1)^n ¥frac{1}{2n!}s^{2n} & (-1)(-1)^n ¥frac{1}{(2n +1)!}s^{2n+1} ¥¥ (-1)^n ¥frac{1}{(2n +1)!}s^{2n+1} & (-1)^n ¥frac{1}{2n!}s^{2n} ¥¥ ¥end{pmatrix}

 =¥, ¥begin{pmatrix}¥sum_{n=0}^{¥infty}(-1)^n ¥frac{1}{2n!}s^{2n} & (-1)¥sum_{n=0}^{¥infty}(-1)^n ¥frac{1}{(2n+1)!}s^{2n+1} ¥¥ ¥sum_{n=0}^{¥infty}(-1)^n ¥frac{1}{(2n+1)!}s^{2n+1} & ¥sum_{n=0}^{¥infty}(-1)^n ¥frac{1}{2n!}s^{2n} ¥¥ ¥end{pmatrix}

 =¥, ¥begin{pmatrix}cos(s) & -sin(s) ¥¥ sin(s) & cos(s) ¥end{pmatrix}

等式変形の最後のステップでは、冒頭で挙げた三角関数級数表示を使っています。まとめると:

 ¥mathrm{Exp}(S) = ¥mathrm{Exp}¥begin{pmatrix}0 & -s ¥¥ s & 0 ¥¥ ¥end{pmatrix} = ¥begin{pmatrix}cos(s) & -sin(s) ¥¥ sin(s) & cos(s) ¥end{pmatrix}

指数写像の解釈

前節の計算から、行列の指数関数(指数写像とも呼びます)を2次歪対称行列に制限すると、SO2のパラメータ表示(前回記事参照)になることが分かりました。このことをもう少しハッキリ述べましょう。

前節の歪対称行列Sは、スカラーパラメータsに依存するので、正確に書けばS(s)です。つまり、Sは実数RからM2への写像 S:RM2M2 ¥stackrel{¥sim}{=} R4)です。

 S(s) = ¥begin{pmatrix}0 & -s ¥¥ s & 0¥end{pmatrix} = ¥begin{pmatrix}0 & -1 ¥¥ 1 & 0¥end{pmatrix}s

一方、SO2のパラメータ表示 R:RM2M2 ¥stackrel{¥sim}{=} R4)は次の形です。

 R(s) = ¥begin{pmatrix} cos(s) & -sin(s) ¥¥ sin(s) & cos(s)¥end{pmatrix}

SとR、指数写像 Exp:M2M2 の関係は:

  • Exp¥circS = R :RM2

今出てきた¥circ写像の反図式順結合で行列の掛け算ではありません。

以上の事実から、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 (OnRn×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)}∪... のような分割で計算します。

 ¥sum_{(k, l) ¥in ¥bf{N}¥times¥bf{N}} ¥psi(k, l) ¥,= ¥sum_{n ¥in ¥bf{N}} ¥(¥sum_{(k, l) ¥in ¥{(¥mu, ¥nu) ¥in  ¥bf{N}¥times¥bf{N} | ¥mu + ¥nu = n¥}} ¥psi(k, l) ¥)

書き方を変えると:

 ¥sum_{(k, l) ¥in ¥bf{N}¥times¥bf{N}} ¥psi(k, l) ¥, = ¥sum_{n = 0}^{¥infty}¥(¥sum_{k + l = n} ¥psi(k, l)¥)

縦割り/横割りによる総和も考えれば:

 ¥sum_{(k, l) ¥in ¥bf{N}¥times¥bf{N}} ¥psi(k, l) ¥, =¥sum_{k=0}^{¥infty}¥sum_{l=0}^{¥infty}¥psi(k, l) ¥, = ¥sum_{l=0}^{¥infty}¥sum_{k=0}^{¥infty}¥psi(k, l) ¥, = ¥sum_{n = 0}^{¥infty}¥(¥sum_{k + l = n} ¥psi(k, l)¥)

このように、分割方法を変えても総和は変わらないことを利用して、Exp(A + B) = Exp(A)・Exp(B) を示します。

まず Exp(A + B)を計算します。

 ¥mathrm{Exp}(A + B) ¥, = ¥sum_{n = 0}^{¥infty} ¥frac{1}{n!}(A + B)^n

(A + B)n を二項展開します。

 ¥mathrm{Exp}(A + B) ¥, = ¥sum_{n = 0}^{¥infty} ¥frac{1}{n!}¥(¥sum_{k=0}^{n} ¥frac{n!}{k!(n-k)!} A^k B^{n - k} ¥)

n!を約分してn - kをℓと置けば:

 ¥mathrm{Exp}(A + B) ¥, = ¥sum_{n = 0}^{¥infty} ¥(¥sum_{k + l = n} ¥frac{1}{k!l!} A^k B^l ¥)

次に、Exp(A)・Exp(B)を計算します。

 ¥mathrm{Exp}(A)¥cdot¥mathrm{Exp}(B) ¥, = ¥(¥sum_{k=0}^{¥infty} ¥frac{1}{k!}A^k ¥)¥cdot ¥(¥sum_{l=0}^{¥infty} ¥frac{1}{l!}B^l ¥) ¥, = ¥sum_{k=0}^{¥infty}¥sum_{l=0}^{¥infty} ¥frac{1}{k!l!} A^k¥cdot B^l

分割方法を変えても総和は変わらないことから:

 ¥sum_{n = 0}^{¥infty} ¥(¥sum_{k + l = n} ¥frac{1}{k!l!} A^k B^l ¥) ¥, = ¥sum_{k=0}^{¥infty}¥sum_{l=0}^{¥infty} ¥frac{1}{k!l!} A^k¥cdot B^l

これで、形式的計算においては 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×nRn×n です。その微分を表すヤコビ行列は、(n×n)×(n×n)行列になります。例えば、3次行列環の指数写像微分(ヤコビ行列)は、81成分を持つ行列になります。

しかし、環の加減乗除(除は逆数を取ること)で組み立てられる多項式関数やその極限である無限級数(で定義される関数)では、微分も加減乗除の組み合わせで書けるので、実数値1実変数関数の微分計算と類似の微分公式が成立します。

例えば、 ¥frac{d}{dx} e^x = e^x と類似の次の微分公式が成立します。

 ¥frac{d}{dX} ¥mathrm{Exp}(X) = ¥mathrm{Exp}(X)

とはいえ、この微分公式の解釈はけっこう難しいです。

F:RNRMユークリッド空間のあいだの微分可能写像として、その導関数(各点のヤコビ行列を対応させる写像)を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

もう少し馴染みのある書き方をするなら:

 ¥[¥frac{d}{dX} ¥mathrm{Exp}(X)¥]_{X=A}Y = ¥mathrm{Exp}(A)¥cdot Y

左辺の  ¥[¥frac{d}{dX} ¥mathrm{Exp}(X)¥]_{X=A} は(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) と置きました。

 ¥begin{pmatrix}¥frac{¥partial ¥mathrm{e}_1}{¥partial x_1} & ¥frac{¥partial ¥mathrm{e}_1}{¥partial x_2} & ¥frac{¥partial ¥mathrm{e}_1}{¥partial x_3} & ¥frac{¥partial ¥mathrm{e}_1}{¥partial x_4} ¥¥ ¥frac{¥partial ¥mathrm{e}_2}{¥partial x_1} & ¥frac{¥partial ¥mathrm{e}_2}{¥partial x_2} & ¥frac{¥partial ¥mathrm{e}_2}{¥partial x_3} & ¥frac{¥partial ¥mathrm{e}_2}{¥partial x_4} ¥¥ ¥frac{¥partial ¥mathrm{e}_3}{¥partial x_1} & ¥frac{¥partial ¥mathrm{e}_3}{¥partial x_2} & ¥frac{¥partial ¥mathrm{e}_3}{¥partial x_3} & ¥frac{¥partial ¥mathrm{e}_3}{¥partial x_4} ¥¥ ¥frac{¥partial ¥mathrm{e}_4}{¥partial x_1} & ¥frac{¥partial ¥mathrm{e}_4}{¥partial x_2} & ¥frac{¥partial ¥mathrm{e}_4}{¥partial x_3} & ¥frac{¥partial ¥mathrm{e}_4}{¥partial x_4} & ¥¥ ¥end{pmatrix}_{¥begin{pmatrix}x_1 ¥¥ x_2 ¥¥ x_3 ¥¥ x_4 ¥end{pmatrix}=¥begin{pmatrix}a_1 ¥¥ a_2 ¥¥ a_3 ¥¥ a_4¥end{pmatrix}} ¥begin{pmatrix}y_1 ¥¥ y_2 ¥¥ y_3 ¥¥ y_4 ¥end{pmatrix}

 = ¥mathrm{Exp}(¥begin{pmatrix}a_1 ¥¥ a_2 ¥¥ a_3 ¥¥ a_4¥end{pmatrix})¥cdot ¥begin{pmatrix}y_1 ¥¥ y_2 ¥¥ y_3 ¥¥ y_4 ¥end{pmatrix}

 = ¥begin{pmatrix}b_1 ¥¥ b_2 ¥¥ b_3 ¥¥ b_4¥end{pmatrix} ¥cdot ¥begin{pmatrix}y_1 ¥¥ y_2 ¥¥ y_3 ¥¥ y_4 ¥end{pmatrix}

 = ¥begin{pmatrix}{¥it b_3}¥,{¥it y_2}+{¥it b_1}¥,{¥it y_1} ¥¥ {¥it b_4}¥, {¥it y_2}+{¥it b_2}¥,{¥it y_1} ¥¥ {¥it b_3}¥,{¥it y_4}+{¥it b_1}¥,{¥it y_3} ¥¥ {¥it b_4}¥,{¥it y_4}+ {¥it b_2}¥,{¥it y_3} ¥¥ ¥end{pmatrix}

 = ¥begin{pmatrix} b_1 & b_3 &   0 &   0 ¥¥ b_2 & b_4 &   0 &   0 ¥¥ 0   &   0 & b_1 & b_3 ¥¥ 0   &   0 & b_2 & b_4 ¥¥ ¥end{pmatrix} ¥begin{pmatrix} y_1 ¥¥ y_2 ¥¥ y_3 ¥¥ y_4 ¥end{pmatrix}

このへんのことをチャンと書いてある資料をあまり見かけないので、一度チャンと書きたいなとは思っているのですが、今日のところはコレでお茶を濁して、合成関数の微分公式に話を進めます。

IをRの開区間として、微分可能な写像 G:I→Rn×n を考えます。このRn×nMnとみなせば、GとExp:Rn×nRn×n は結合(合成)可能です。Exp¥circG:I→Rn×n微分導関数)は次の公式で与えられます。

 ¥frac{d}{ds}(¥mathrm{Exp}¥circ G)(s) = ¥[¥frac{d}{dX}¥mathrm{Exp}¥]_{X=G(s)}¥, ¥frac{d}{ds}G(s)

先の、指数写像微分公式と組み合わせると:

 ¥frac{d}{ds}(¥mathrm{Exp}¥circ G)(s) = ¥mathrm{Exp}(G(s))¥cdot ¥frac{d}{ds}G(s)

これらの微分公式は次節で使います。

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 ¥stackrel{¥sim}{=} 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) = (Exp¥circG)(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)の基底です。

 ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & 0 & -1 ¥¥ 0 & 1 & 0 ¥end{pmatrix}

 ¥begin{pmatrix}0 & 0 & 1 ¥¥ 0 & 0 & 0 ¥¥ -1 & 0 & 0 ¥end{pmatrix}

 ¥begin{pmatrix}0 & -1 & 0 ¥¥ 1 & 0 & 0 ¥¥ 0 & 0 & 0 ¥end{pmatrix}

これらが基底となるのはただちに分かりますが、いきなり出されても必然性を感じません。これら3つの歪対称行列は力学由来であることを説明します。

我々が棲んでいる空間のモデルである3次元ユークリッド空間R3の座標軸を、常識のとおりx-軸、y-軸、z-軸と呼ぶことにします。x-軸の回りの角度sの回転は、次の行列で表現できます。

 ¥mathrm{RX}(s) ¥, = ¥begin{pmatrix}1 & 0 & 0 ¥¥ 0 & cos(s) & -¥sin(s) ¥¥ 0 & ¥sin(s) &  ¥cos(s) ¥¥ ¥end{pmatrix}

角速度が一定なら、角度と時間は比例するので、sの代わりに時間パラメータtとしても同じことです。

 ¥mathrm{RX}(t) ¥, = ¥begin{pmatrix}1 & 0 & 0 ¥¥ 0 & cos(t) & -¥sin(t) ¥¥ 0 & ¥sin(t) &  ¥cos(t) ¥¥ ¥end{pmatrix}

実パラメータが角度か時間かは気にしないことにします。x-軸のときと同様に、y-軸を回りの回転とz-軸の回りの回転は次のパラメータ付き行列で表現されます。

 ¥mathrm{RY}(s) ¥, = ¥begin{pmatrix}¥cos(s) & 0 & ¥sin(s) ¥¥ 0 & 1 & 0 ¥¥ -¥sin(s) & 0 &  ¥cos(s) ¥¥ ¥end{pmatrix}

 ¥mathrm{RZ}(s) ¥, = ¥begin{pmatrix}¥cos(s) & -¥sin(s) & 0 ¥¥ ¥sin(s) & ¥cos(s) & 0 ¥¥ 0 & 0  & 1 ¥¥ ¥end{pmatrix}

これらのパラメータ付き行列は、RR3×3写像です。それだけでなく、sの値によらず行列はSO(3)に入ります。さらに、加法群Rから回転群SO(3)への群の準同型になっています。つまり、RX, RY, RZは前節で説明した1パラメータの指数写像の実例です。

これらのことは、行列計算と三角関数の加法定理で示せますが、軸を固定した回転運動を考えれば直感的にも納得いくでしょう。例えば、回転の角度の和は、回転行列の積に対応します(指数法則)。

RX, RY, RZをパラメータsで微分したものを SX, SY, SZ と置くことにします。

 ¥mathrm{SX}(s) ¥,:= ¥frac{d}{ds}¥mathrm{RX}(s) ¥,= ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & -¥sin(s)& -¥cos(s)¥¥ 0 & ¥cos(s)& -¥sin(s)¥¥ ¥end{pmatrix}

 ¥mathrm{SY}(s) ¥,:= ¥frac{d}{ds}¥mathrm{RY}(s) ¥,= ¥begin{pmatrix}-¥sin(s)& 0 & ¥cos(s)¥¥ 0 & 0 & 0 ¥¥ -¥cos(s)& 0 & -¥sin(s)¥¥ ¥end{pmatrix}

 ¥mathrm{SZ}(s) ¥,:= ¥frac{d}{ds}¥mathrm{RZ}(s) ¥,= ¥begin{pmatrix}-¥sin(s)& -¥cos(s)& 0 ¥¥ ¥cos(s)& -¥sin(s)& 0 ¥¥ 0  & 0 & 0 ¥¥ ¥end{pmatrix}

RX(s)は、Rnの運動ではなくて、SO(3)内の運動を記述します。適当に3次元定数ベクトル(初期位置ベクトル)cを取って、x(s) := RX(s) c とすれば、x(s)が3次元空間内の回転運動になります。SX(s)はRX(s)の微分なので、3次元空間の値を取らず、SX:RR3×3 です。RYとSY、RZとSZについても同じことです。

RX, RY, RZ はSO(3)内の運動なので、s = 0 での微分は、SO(3)の単位元における接空間であるAlt(3)に入るはずです。実際に見てみましょう。

 ¥mathrm{SX}(0) ¥, = ¥frac{d}{ds}¥mathrm{RX}(0) ¥,= ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & -¥sin(s)& -¥cos(s)¥¥ 0 & ¥cos(s)& -¥sin(s)¥¥ ¥end{pmatrix}_{s = 0} = ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & 0 & -1 ¥¥ 0 & 1 & 0 ¥end{pmatrix}

 ¥mathrm{SY}(0) ¥, = ¥frac{d}{ds}¥mathrm{RY}(0) ¥,= ¥begin{pmatrix}-¥sin(s)& 0 & ¥cos(s)¥¥ 0 & 0 & 0 ¥¥ -¥cos(s)& 0 & -¥sin(s)¥¥ ¥end{pmatrix}_{s = 0}  = ¥begin{pmatrix}0 & 0 & 1 ¥¥ 0 & 0 & 0 ¥¥ -1 & 0 & 0 ¥end{pmatrix}

 ¥mathrm{SZ}(0) ¥,:= ¥frac{d}{ds}¥mathrm{RZ}(0) ¥,= ¥begin{pmatrix}-¥sin(s)& -¥cos(s)& 0 ¥¥ ¥cos(s)& -¥sin(s)& 0 ¥¥ 0  & 0 & 0 ¥¥ ¥end{pmatrix}_{s = 0} = ¥begin{pmatrix}0 & -1 & 0 ¥¥ 1 & 0 & 0 ¥¥ 0 & 0 & 0 ¥end{pmatrix}

本節の冒頭に挙げた基底(3つの歪対称行列)は、RX, RY, RZの、SO(3)の単位元における速度ベクトルだったのです。これらの速度ベクトル(歪対称行列)は、“一瞬における回転させる勢い”あるいは“微小な回転”を表すものです。例えば、δを微小な角度(または時間)として、x-軸の回りの“微小な回転”は次の形です。

 ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & 0 & -1 ¥¥ 0 & 1 & 0 ¥end{pmatrix}¥delta = ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & 0 & -¥delta ¥¥ 0 & ¥delta & 0 ¥end{pmatrix}

力学で出てくる角速度や角運動量は、“一瞬における回転させる勢い”や“微小な回転”を表す量で、回転の軸方向のベクトルとして表示されます。しかし、あれは方便です。角速度や角運動量Rnのベクトルとして実在しているわけではありません。角速度や角運動量の本来の棲家はSO(3)の接空間です。

Alt(3)の次元が3で、上記のような標準基底を取れることから、次の1:1対応を構成できます。

 ¥begin{pmatrix}1 ¥¥ 0 ¥¥ 0¥end{pmatrix} ¥longleftrightarrow ¥begin{pmatrix}0 & 0 & 0 ¥¥ 0 & 0 & -1 ¥¥ 0 & 1 & 0 ¥end{pmatrix}

 ¥begin{pmatrix}0 ¥¥ 1 ¥¥ 0¥end{pmatrix} ¥longleftrightarrow ¥begin{pmatrix}0 & 0 & 1 ¥¥ 0 & 0 & 0 ¥¥ -1 & 0 & 0 ¥end{pmatrix}

 ¥begin{pmatrix}0 ¥¥ 0 ¥¥ 1¥end{pmatrix} ¥longleftrightarrow ¥begin{pmatrix}0 & -1 & 0 ¥¥ 1 & 0 & 0 ¥¥ 0 & 0 & 0 ¥end{pmatrix}

この対応を使って、Alt(3)をR3に重ね合わせているのです。この重ね合わせ(同一視)は、3次元以外では通用しません。

*3

実際、角速度/角運動量を表す矢印は擬ベクトル(pseudovector)と呼ばれています。R3のベクトルとして考えるのはちょっと無理があるため「疑」が付いています。


イイカゲンで大雑把な話でしたが、R2×2, R3×3のなかにあるSO(2), SO(3)とその接空間の様子が多少はイメージできたでしょうか。

*1:実験で使う指数関数も、実際には4次多項式よりは精度のよい近似に過ぎませんが、そこはつっこまないで。実験はMaximaを使って、exp4(x) := 1 + x + 1/2*x^2 + 1/6*x^3 + 1/24*x^4; plot2d([exp4(x), exp(x)], [x, -2, 2]);

*2オイラーの公式相当の関係式は、行列計算により再現できます。

*3:画像: https://ja.wikipedia.org/wiki/%E8%A7%92%E9%80%9F%E5%BA%A6#/media/File:Angular_velocity_jp.png

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170803

2017-07-28 (金)

回転群の具体的な表示と計算

| 12:50 | 回転群の具体的な表示と計算を含むブックマーク

今週のはじめ(月曜日)、Mさんに「リー群ってナニ?」と聞かれました。僕もよく知らないので、雰囲気的な絵を描いて「だいたいこんな感じのヤツでしょ、たぶん」みたいなことをゴニョゴニョ言ったんですが、この記事で、回転群に限定して具体的に表示・計算してみます。

3次元回転群の準備として2次元回転群の話を始めたのですが、2次元で息切れしてしまい、3次元の話はオマケ扱いです。あいすみません。

内容:

  1. 事例と記法
  2. 行列の計算器
  3. 2次行列環と2次行列群
  4. 2次の直交群O2
  5. 2次の特殊直交群SO2
  6. O2の形状とパラメータ表示
  7. SO2の形状とパラメータ表示
  8. 3次の直交群O3と特殊直交群SO3
  9. SO3のパラメータ表示

続き:回転群の指数写像の具体的な表示と計算

  1. 指数関数・三角関数の級数表示
  2. 行列の指数関数
  3. 2次歪対称行列の指数関数
  4. 指数写像の解釈
  5. SO(n)の単位元における接空間
  6. 指数法則
  7. 指数写像の微分
  8. 1パラメータ指数写像
  9. Alt(3)の基底と回転の力学

事例と記法

2つの具体例を扱います(定義は後で述べます)。

  1. SO(2) 2次元の特殊直交群
  2. SO(3) 3次元の特殊直交群

基礎となるスカラー体(実数体R)までチャンと書けば、SO(2, R), SO(3, R) (あるいは、SO(R2), SO(R3))ですが、面倒なんでスカラー体Rは省略します。さらに、括弧も鬱陶しいので、SO2, SO3と記すことにします。特殊直交群を回転群とも呼ぶので、SO2は2次元回転群, SO3は3次元回転群です。

抽象的なセッティングではなくて、すべて具体的な行列として扱います。行列の全体は、必要に応じてユークリッド空間と同一視します。つまり、

  • (2×2行列の全体) ¥stackrel{¥sim}{=} R2×2 = R4
  • (3×3行列の全体) ¥stackrel{¥sim}{=} R3×3 = R9

すべての議論を、適当なnに対するユークリッド空間Rnのなかで行うので、多様体やファイバー・バンドルの知識は不要です。

行列(正方行列しか扱わない)の成分は、二重インデックスではなくて、単一のインデックス(連番)で識別します。

 ¥begin{pmatrix}{¥it x_1} & {¥it x_3} ¥¥ {¥it x_2} & {¥it x_4} ¥¥ ¥end{pmatrix}

 ¥begin{pmatrix}{¥it x_1} & {¥it x_4} &  {¥it x_7} ¥¥ {¥it x_2} & {¥it x_5} & {¥it x_8} ¥¥  {¥it x_3} & {¥it x_6} & {¥it x_9} ¥¥ ¥end{pmatrix}

こういう書き方をするのは、行列をタプル(列ベクトル/行ベクトル)として扱いたいことが多いからです。2×2行列は X = (x1, x2, x3, x4) というタプル、3×3行列なら X = (x1, x2, x3, x4, x5, x6, x7, x8, x9) というタプルと見なすことが多々あります。

2×2行列を2次行列、3×3行列を3次行列とも呼びます。「2次」「3次」と言っても、多項式の次数とは何の関係もないので注意してください。ここでの次数は単に行列のサイズ、または行列が線形変換として作用する空間の次元のことです。

2次行列の空間R4と3次行列の空間R9には、標準的な内積から距離/位相が入ります。標準的な内積とは:

  • (X|Y) = x1y1 + x2y2 + x3y3 + x4y4
  • (X|Y) = x1y1 + x2y2 + x3y3 + x4y4 + x5y5 + x6y6 + x7y7 + x8y8 + x9y9

これらの内積は、行列の転置(-)tと掛け算¥circとトレースtrを使って、次のように書けます。

  • (X|Y) = tr(Xt¥circY)

行列の計算器

僕は計算が出来ないし、仮に出来てもやるのが面倒なんで、高級電卓(Maximaともいう)を使います。例えば、前節最後の内積の定義を確認するには次のようにします*1

X : transpose(matrix([x_1, x_2, x_3], [x_4, x_5, x_6], [x_7, x_8, x_9]));
Y : transpose(matrix([y_1, y_2, y_3], [y_4, y_5, y_6], [y_7, y_8, y_9]));
transpose(X);
transpose(X) . Y;
mattrace(transpose(X) . Y);

応答も含めた画面ショットは:

なぜかMaximaでは、番号順のソートが逆順なんですが、気にしないことにします。本文中の番号(下付き添字)の順序が逆順なときは、Maximaからのコピペをそのまま使っているからです。気にしないでください。

Maximaの紹介が目的ではないので、以下、Maximaに関する説明はしません。僕は計算に使いますけどね。あしからず。

2次行列環と2次行列群

サイズ2×2の正方行列の全体を、ここではM2と書きます。M2は、ベクトル空間としては R2×2 = R4 と同じものです。M2と書くときは、行列の掛け算を一緒に考えた可換環を意図していて、この意味のM22次行列環(ring of 2-by-2 matrices)と呼びます。M2のゼロをO2, 単位(イチ)をE2と書くことにします。混乱の恐れがなければ、下付きの2は省略してO, Eも許容します。

 ¥mathrm{O} = ¥mathrm{O}_2 = ¥begin{pmatrix} 0 & 0 ¥¥ 0 & 0¥end{pmatrix} ¥¥ ¥mathrm{E} = ¥mathrm{E}_2 = ¥begin{pmatrix} 1 & 0 ¥¥ 0 & 1¥end{pmatrix}

M2の掛け算に関する可逆元の全体をM2×とします。

  • M2× = {X∈M2 | det(X) ≠ 0}

ここで、detは行列式(determinant)で、X = (x1, x2, x3, x4) とM2の元を長さ4のタプルで表すなら:

  • det(X) = det(x1, x2, x3, x4) = x1x4 - x2x3

detは4変数の多項式なので、det(X) = 0 はR4内の次元3の図形を定義し、M2×はこの図形の補集合になります。

  • M2× = M2\{X∈M2 | det(X) = 0} ('\'は集合差)

行列の掛け算に関して群とみなしたM2×を、2次行列群(group of 2-by-2 matrices)または2次の一般線形群(general linear group of degree 2)と呼びます。2次の一般線形群は、しばしばGL(2, R)と書かれます。この記事の略記法に従えば、GL(2, R) = GL(2) = GL2 です。

  • M2× = GL(2, R) = GL(2) = GL2

2次の直交群O2

さて、2次元の回転群SO2を定義したいのですが、その前に O2 = O(2) = O(2, R) を定義します。O2は2次の直交群(orthogonal group of degree 2)と呼ばれる群ですが、とりあえずはO2を、M2(ベクトル空間/アフィン空間としてはR4)内の図形として定義します。O2は次の方程式で定義される図形です。

  • Xt¥circX = E2

ここで、¥circは行列の掛け算、(-)tは行列の転置です。2×2行列XをR2の線形変換とみなした場合、上の方程式は「XはR2の標準内積を保存する」と読めます。内積の保存は、幾何的には長さと角度を変えないことです。

上記方程式を成分で露骨(explicit)に書けば:

 ¥begin{pmatrix}{¥it x_2}^2+{¥it x_1}^2 & {¥it x_2}¥, {¥it x_4}+{¥it x_1}¥,{¥it x_3} ¥¥ {¥it x_2}¥,{¥it x_4}+ {¥it x_1}¥,{¥it x_3} & {¥it x_4}^2+{¥it x_3}^2 ¥¥  ¥end{pmatrix}=¥begin{pmatrix}1 & 0 ¥¥ 0 & 1 ¥¥ ¥end{pmatrix}

成分ごとにばらしてみると:

  1.  {¥it x_2}^2+{¥it x_1}^2 = 1
  2.  {¥it x_2}¥, {¥it x_4}+{¥it x_1}¥,{¥it x_3} = 0
  3.  {¥it x_2}¥,{¥it x_4}+ {¥it x_1}¥,{¥it x_3} = 0
  4.  {¥it x_4}^2+{¥it x_3}^2  = 1

2番目と3番目は同じ方程式なので、4変数3連立方程式系になります。この方程式系で定義される図形は、次元が3落ちて1次元の図形だろうと推測できます。(上記方程式系の解集合である図形の詮索はまた後でします。)

O2が群になるとは次のことです。

  1. X, Y∈O2 ならば、X¥circY∈O2
  2. E2∈O2
  3. X∈O2 ならば、X-1∈O2

成分を使って露骨に計算してもいいですが、「X∈O2 ⇔ Xt¥circX = E2」だけを使っても簡単に出ます。成分を使わない方法を使えば、2次(2×2)に限らず、任意のnに対するO(n)が群であることを示せます。

2次の特殊直交群SO2

X∈O2 だとすると、det(X) = ±1 です。なぜなら; X∈O2 ⇔ Xt¥circX = E2、等式の両辺の行列式を取って、det(Xt¥circX) = det(E2) = 1。det(X¥circY) = det(X)det(Y)、det(Xt) = det(X) なので、det(X)2 = 1、したがって、det(X) = ±1。

このことから、O2は、det(X) = 1 の部分と、det(X) = -1 の部分に分割されることが分かります。det(X) = 1 であるほうをO2+、det(X) = -1 であるほうをO2-とします。

  • O2+ = {X∈O2 | det(X) = 1}
  • O2- = {X∈O2 | det(X) = -1}
  • O2 = O2+∪O2- (O2+∩O2- = ¥emptyset

detをO2に制限した det:O2→{1, -1} が群の準同型写像であることから、O2+ = det-1(1) はO2の部分群になります。群構造を考えたO2+をSO2と書いて、2次の特殊直交群(special orthogonal group of degree 2)と呼びます。冒頭で述べたように、特殊直交群の別名が回転群なので、SO2は2次元の回転群(2-d rotation group)です。SO2の元をR2の線形変換とみなせば、長さと角度、さらに向き(orientation)を変えない変換です。

群の全射準同型写像 det:O2→{1, -1} に群の準同型定理を適用すると、O2/SO2 ¥stackrel{¥sim}{=} {1, -1} となるはずです。商集合O2/SO2は、{O2+, O2-}ですが、同値類の代表元を使ったほうが分かりやすいでしょう。E, Jは次の行列とします。

 ¥mathrm{E} = ¥begin{pmatrix} 1 & 0 ¥¥ 0 & 1¥end{pmatrix} ¥in ¥mathrm{O2}_{+} ¥¥ ¥mathrm{J} = ¥begin{pmatrix} 1 & 0 ¥¥ 0 & -1¥end{pmatrix} ¥in ¥mathrm{O2}_{-}

E, Jの群表(群の二項演算表)を書くと:

E J
E E J
J J E

確かに、{1, -1}と同型になっています。

任意の2次行列Xに行列Jを右から掛ける操作をΨとします。

  • Ψ(X) := X¥circJ

X = (x1, x2, x3, x4) とタプル形式に書いて、Ψを成分表示すると:

  • Ψ(X) = Ψ(x1, x2, x3, x4) = (x1, x2, -x3, -x4)

ΨをR4に働く変換とみなすと、2本のベクトル(1, 0, 0, 0)と(0, 1, 0, 0)で張られる平面(2次元部分ベクトル空間)を対称面とする対称(鏡映)変換となっています。ΨはO2+をO2-に移し、O2-をO2+に移します。特に:

  • Ψ(E) = J
  • Ψ(J) = E

O2+とO2-は、Ψの対称面(不動点集合)に対して鏡映の関係にあります。当然に、O2+ = SO2 とO2-は図形として合同です。

O2の形状とパラメータ表示

O2 = O2+∪O2- の、R4内の図形としての位置・形状をハッキリさせましょう。

もう一度O2の定義方程式を確認します。

  1.  {¥it x_2}^2+{¥it x_1}^2 = 1
  2.  {¥it x_2}¥, {¥it x_4}+{¥it x_1}¥,{¥it x_3} = 0
  3.  {¥it x_4}^2+{¥it x_3}^2  = 1

1番目と3番目はどちらも円周の方程式ですが、1番目はx1-x2平面内の円周、3番目はx3-x4平面内の円周です。よって、1番目と3番目の方程式の連立方程式系の解集合はR4内のトーラスになります(以下の箇条書きと、下にある図を参照)。

  1. R21,2 = {(x1, x2) | x1, x2R }
  2. R23,4 = {(x3, x4) | x3, x4R }
  3. S11,2 = {(x1, x2)∈R21,2 | x12 + x22 = 1}
  4. S13,4 = {(x3, x4)∈R23,4 | x32 + x42 = 1}
  5. {(x1, x2, x3, x4)∈R4 | x12 + x22 = 1} = S11,2×R23,4
  6. {(x1, x2, x3, x4)∈R4 | x32 + x42 = 1} = R21,2×S13,4
  7. {(x1, x2, x3, x4)∈R4 | x12 + x22 = 1 かつ x32 + x42 = 1} = (S11,2×R23,4)∩(R21,2×S13,4)
  8. (S11,2×R23,4)∩(R21,2×S13,4) = S11,2×S13,4 = (R4内のトーラス)

円周S11,2をパラメータαでパラメータ表示し、円周S13,4をパラメータβでパラメータ表示すると、トーラスの2パラメータ表示が得られます。

  1. x1 = cos(α)
  2. x2 = sin(α)
  3. x3 = cos(β)
  4. x4 = sin(β)

あるいは、

 ¥begin{pmatrix}{¥it x_1} & {¥it x_3} ¥¥ {¥it x_2} & {¥it x_4} ¥¥ ¥end{pmatrix} = ¥begin{pmatrix}cos(¥alpha) & cos(¥beta) ¥¥ sin(¥alpha) & sin(¥beta) ¥end{pmatrix}

ドーナツ型の星があるとして、αを経度、βを緯度と呼びましょう。α, βは任意の実数でいいとしますが、周期2πでラップアラウンドします。例えば、経度0・緯度0と経度-4π・緯度2πは同じ地点です。

ドーナツ星が地球と違うのは、北極・南極のような経緯度の特異点がなくて、メルカトル図法が星全体の正確な地図として使えることです。ドーナツ星は、平面R2に無限回繰り返し展開されます。M:R2→S11,2×S13,4 を、無限回繰り返しメルカトル地図からドーナツ表面(トーラス)への写像(文字通り“マップ”)とします。

  • M(α, β) := (cos(α), sin(α), cos(β), sin(β))

目的の図形O2は、このドーナツ表面(トーラス)の部分集合になっているので、メルカトル地図上では平面内の繰り返し(周期的)図形として現れるはずです。

O2を定義する残りの方程式は:

  •  {¥it x_2}¥, {¥it x_4}+{¥it x_1}¥,{¥it x_3} = 0

αとβで書くと:

  • sin(α)sin(β) + cos(α)cos(β) = 0

三角関数の加法定理から:

  • cos(α - β) = 0

三角関数の周期性から:

  • α - β = nπ + (1/2)π (n∈Z

これを、メルカトル地図、つまりα-β平面内に描くと、平行に走る斜め直線の集まりになります。0≦α≦2π, 0≦β≦2π の正方形を地図の基本領域として、基本領域内を横切る直線だけを選ぶと:

  1. β = α - 3π/2
  2. β = α - π/2
  3. β = α + π/2
  4. β = α + 3π/2

ドーナツ表面(トーラス)上では、これらの直線がラップアラウンドされるので、輪(円周S1と同相な図形)になります。4本の直線が2本ずつ組になって、ドーナツ面(トーラス)に巻き付く2つの輪ができます。

結局、O2はR4内に埋め込まれた“2つの円周”の形をしていることになります。2つの円周を表現するR2上の直線として、次の2つを選びます。

  1. β = α + π/2
  2. β = α + 3π/2

それぞれの円周をパラメータαで表示すると:

  • R+(α) = M(α, α + π/2) = (cos(α), sin(α), cos(α + π/2), sin(α + π/2)) = (cos(α), sin(α), -sin(α), cos(α))
  • R-(α) = M(α, α + 3π/2) = (cos(α), sin(α), sin(α + 3π/2), cos(α + 3π/2)) = (cos(α), sin(α), sin(α), -cos(α))

あるいは:

 ¥mathrm{R}_{+}(¥alpha) = ¥begin{pmatrix}cos(¥alpha) & -sin(¥alpha) ¥¥ sin(¥alpha) & cos(¥alpha) ¥end{pmatrix}

 ¥mathrm{R}_{-}(¥alpha) = ¥begin{pmatrix}cos(¥alpha) & sin(¥alpha) ¥¥ sin(¥alpha) & -cos(¥alpha) ¥end{pmatrix}

R+:RR4がO2+をパラメータ表示し、R-:RR4がO2-をパラメータ表示します。O2+とO2-は Ψ(X) = X¥circJ により鏡映の関係だったので、次の等式が成立します。

  • R-(α) = Ψ(R+(α)) = R+(α)¥circJ

具体的には:

 ¥begin{pmatrix}cos(¥alpha) & sin(¥alpha) ¥¥ sin(¥alpha) & -cos(¥alpha) ¥end{pmatrix} =  ¥begin{pmatrix}cos(¥alpha) & -sin(¥alpha) ¥¥ sin(¥alpha) & cos(¥alpha) ¥end{pmatrix}¥begin{pmatrix}1 & 0 ¥¥ 0 & -1¥end{pmatrix}

全般的な状況は、次のような感じです。

SO2の形状とパラメータ表示

前節で述べたように、O2+は R+:RR4 でパラメータ表示されます。R+を単にRと書くことにします。また、群としてのO2+をSO2と書くので:

  • R:R→SO2 (SO2⊆R4

R(α)は実際、平面R2における回転角αだけの回転を表す行列です。α |→ R(α) は、Rを足し算の群とみると準同型写像になっています。

  1. R(α + α') = R(α')¥circR(α)
  2. R(1) = E2
  3. R(-α) = R(α)-1

群の準同型定理から:

  • SO2 ¥stackrel{¥sim}{=} R/2πZ

図形としてのSO2は円周の形で、写像Rは、直線Rを円周にグルグル巻きつける写像になっています。このグルグル巻きは、螺旋階段を連想させます。

*2

このテの螺旋っぽい話は過去記事に書いたことがあります。

3次の直交群O3と特殊直交群SO3

O2の2を3に変えるだけの定義を、以下にズラズラと列挙します。実際には、3だけじゃなくて一般のnに対しても成立することです。

  • 3×3の行列全体に線形構造と掛け算を考えた非可換環3次行列環と呼び、 M3と書く。M3のゼロをO3、単位をE3で表す。
  • M3の可逆な元の集合{X∈M3 | det(X) ≠ 0}をM3×とする。掛け算に関する群としてのM3×3次行列群または3次の一般線形群と呼び、M3× = GL(3, R) = GL(3) = GL3 と書く。
  • {X∈M3 | Xt¥circX = E3}は、M3×の部分群となる。これを3次の直交群と呼び、O(3, R) = O(3) = O3 と書く。
  • {X∈O3 | det(X) = 1}は、O3の部分群となる。これを3次の特殊直交群または3次元回転群と呼び、SO(3, R) = SO(3) = SO3 と書く。

群の準同型写像 det:O3→{1, -1} を考えることにより、O3/SO3 ¥stackrel{¥sim}{=} {1, -1} であることも2次のときと同様で、O3は O3+∪O3- (O3+∩O3- = ¥emptyset、O3+ = SO3)と分割され、O3+とO3-が互いに鏡像になることも分かります。

鏡像を作るには、2次のJ(= J2)と類似した3次行列J3を使います。

 ¥mathrm{J}_3 = ¥begin{pmatrix}1 & 0 & 0 ¥¥ 0 & 1 & 0 ¥¥ 0 & 0 & -1 ¥¥ ¥end{pmatrix}

SO3のパラメータ表示

SO2に関しては、その定義方程式 Xt¥circX = E2 から出発して、R4のなかでのSO2の位置と形状を探ってパラメータ表示を求めました。SO3の場合、外の空間は9次元のR9だし、O3, SO3の形状も複雑です。もう疲れたので、ここでは、よく知られたパラメータ表示を紹介するだけにします。

x軸(第一軸)、y軸(第ニ軸)、z軸(第三軸)を回転軸とする3次元回転の行列をそれぞれ、RX, RY, RX とします。

 ¥mathrm{RX}(¥alpha) = ¥begin{pmatrix}1 & 0 & 0 ¥¥ 0 & ¥cos ¥alpha & -¥sin ¥alpha ¥¥ 0 & ¥sin ¥alpha & ¥cos ¥alpha ¥¥ ¥end{pmatrix}

 ¥mathrm{RY}(¥beta) = ¥begin{pmatrix}¥cos ¥beta & 0 & ¥sin ¥beta ¥¥ 0 & 1 & 0 ¥¥ -¥sin  ¥beta & 0 & ¥cos ¥beta ¥¥ ¥end{pmatrix}

 ¥mathrm{RZ}(¥gamma) = ¥begin{pmatrix}¥cos ¥gamma & -¥sin ¥gamma & 0 ¥¥ ¥sin ¥gamma &  ¥cos ¥gamma & 0 ¥¥ 0 & 0 & 1 ¥¥ ¥end{pmatrix}

3次元空間内での一般的回転を記述するために次の手順がよく使われます(オイラー角、下の絵を参照)。

  1. z軸を回転軸として、αだけ回転する。
  2. 回転後のx軸(下図では緑)を回転軸として、βだけ回転する。
  3. 回転後のz軸(下図では赤のZ)を回転軸として、γだけ回転する。

*3

この手順は、行列の掛け算として RZ(γ)¥circRX(β)¥circRZ(α) と書けます。行列の掛け算は、時間順としては右から左に並んでいることに注意してください。実際に計算して(Maximaに計算させて)みると:

 ¥begin{pmatrix}¥cos ¥gamma¥,¥cos ¥alpha-¥sin ¥gamma¥,¥sin ¥alpha¥, ¥cos ¥beta & -¥sin ¥gamma¥,¥cos ¥alpha¥,¥cos ¥beta-¥cos ¥gamma¥, ¥sin ¥alpha & ¥sin ¥gamma¥,¥sin ¥beta ¥¥ ¥cos ¥gamma¥,¥sin ¥alpha¥, ¥cos ¥beta+¥sin ¥gamma¥,¥cos ¥alpha & ¥cos ¥gamma¥,¥cos ¥alpha¥, ¥cos ¥beta-¥sin ¥gamma¥,¥sin ¥alpha & -¥cos ¥gamma¥,¥sin ¥beta ¥¥  ¥sin ¥alpha¥,¥sin ¥beta & ¥cos ¥alpha¥,¥sin ¥beta & ¥cos ¥beta ¥¥  ¥end{pmatrix}

具体的な表示は、座標軸の取り方や回転の向き(正の回転をどっちに取るか)の決め方などにより微妙に違ったりするのですが、SO3が3パラメータでパラメータ表示されることは分かります。このことから、SO3はR9のなかの3次元の図形だと見当が付きます。


3次元回転群SO3固有の話は何もしてないのですが、息切れしました。SO2, SO3の単位元における接空間(リー代数)と指数写像の話はまたいつか。

*1:行列計算をするときは、事前に load("nchrpl"); しておきます。

*2:画像: http://www.tessoan.com/cate1/03/7_12/tenjin.html 現在は消失

*3:画像: https://upload.wikimedia.org/wikipedia/commons/thumb/a/a1/Eulerangles.svg/300px-Eulerangles.svg.png

2017-07-27 (木)

面白い!

| 14:25 | 面白い!を含むブックマーク

真贋の判断はしない鑑定って、ナンだよソレ?!」の続報ですが、実に面白い展開になっています。

なんと、TBSが「捏造行為はなかった」と表明しているのです。鑑定した池田氏は、捏造であったことを前提に釈明しちゃってるんだけど(オリジナル記事は削除されてはいるものの、キャッシュやスナップショット・アーカイブは残っています)。

TBSも池田氏も、心霊写真の真偽に関わらず((c)・池田武央)、自分の発言と行為により墓穴を掘ってますね。もはや、どう足掻いても無駄に思える。

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170727

2017-07-25 (火)

ボタン恐怖症

| 14:12 | ボタン恐怖症を含むブックマーク

2017年7月21日放送の日テレの番組「アナザースカイ」で、ゲスト・林家たい平さんの落語家とは思えない低品質な駄洒落*1に、 アシスタント・中条あゆみさんが異常にツボっていました。

まーそれはともかく; 林家たい平さんが、番組内で「ボタンが嫌い」と語っていました。ボタンを見ると気持ち悪くて食事が出来なくなる、とも。これで思い出したのが古武術研究家の甲野善紀さんです。甲野さんもボタンがダメだとどこかで書いていました。

たい平さんも甲野さんも、和服ですごす職業を選ばれて、ボタンとは関わりが薄い環境で仕事をなさっているんで、ボタン恐怖症の実害は比較的少ないでしょう。

*2*3

ボタン恐怖症(button phobia, the fear of buttons)は珍しいけど*4、恐怖症の一種として認知されているようです。http://www.fearof.net/ に100種類の恐怖症のリストがあります。そのなかに、Koumpounophobiaが挙げられています。

病名の"koumpouno"は、現代ギリシャ語をもとにひねり出した造語のようです(→https://english.stackexchange.com/questions/195117/what-is-the-origin-of-koumpounophobia)。

テレビ番組でボタン恐怖症を取り上げた例もあります。

Omphalophobiaってのもボタンに関係するように思えました。

でも、belly buttonて、おヘソ(navel)のことでした。"Omphalo"は、古代ギリシア語に由来する語で「ヘソの」という意味らしく、Omphalophobiaはおヘソ恐怖症です。

恐怖症には随分と色々な種類があるんですね。たい平さんはたぶん饅頭恐怖症もやる(演る)んじゃないでしょうか。

*1:スペインのアルカラ門、まっすぐいくと“あるから”、あのときが“あるから”今がある。

*2:画像: http://rakugo-kyokai.jp/variety-entertainer/member_detail.php?uid=135 より

*3:画像: http://www.inplace.jp/wp/2005/04/14/%E5%8F%A4%E6%AD%A6%E9%81%93%E3%81%A8%E7%94%B2%E9%87%8E%E3%81%95%E3%82%93/ より

*4[追記]どの程度珍しいかは全然分かりません。高所恐怖症とかに比べれば一般的じゃないと思いますが、たまたま僕が知っている範囲に二人いるってことはさして珍しくもない、のかな?[/追記]

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170725

2017-07-24 (月)

真贋の判断はしない鑑定って、ナンだよソレ?!

| 09:33 | 真贋の判断はしない鑑定って、ナンだよソレ?!を含むブックマーク

ことの発端を僕は知らないのですが、どうやらTBSのテレビ番組で捏造心霊写真が使われ、心霊研究家・池田武央(いけだ たつお)氏がそのニセ心霊写真を「本物だ」「自殺した霊で未練があります」と鑑定したらしい。

ブログ記事削除、時すでに遅し

後日(2017年7月21日)、池田氏がその件の釈明をブログ記事に書いたようです。僕が見たときには既に記事が削除されていました。

しかし、当該記事のはてなブックマーク・ページに、サマリーとして記事冒頭が引用されています。

この冒頭の文言で検索すれば、Googleのキャッシュを見ることができます。

記事内容をアーカイブ/コピーしたページも存在します。

なにかマズい事を書いた自分の記事を消しても、インターネット全体から痕跡を無くすのは困難です。恥の上塗り(の更に上塗り)かも知れません。

池田氏の言い訳、あるいは池田鑑定理論

以下、記事タイトルの「…」は省略ではなくて、もともとあったものです。池田氏はタイトル末尾に「…」を付ける習慣があるようです。[...snip...]は途中省略を表します。

「心霊写真鑑定に関しまして… 」(2017-07-21)

最近の心霊写真は、加工技術が発達していることもあり、偽造されたものが多く取り扱われているのは事実です。しかし、偽造されたものに霊的なものが宿ることが増えているのも事実なのです。

[...snip...]

そして本物の心霊写真より、加工された心霊写真の方が、より生きている人間に対しての念的な霊的波動を強く発することが近年増えています。

[...snip...]

心霊写真は、真偽に関わらず、広い視野から鑑定しなくては、真の心霊鑑定はできないと私は思っています。

これらの観点より、今回放送された写真は、写真全体から霊的な波動と現象を確認できましたので、心霊写真と鑑定しました。

要するに、画像加工で捏造されたかどうかは問題ではなくて、“霊的な波動”を池田氏が感じとればそれは「心霊写真」なのだ、ということです。

これは、「俺がカラスと言えば、白鳥でもハトでもカラスなのだ」と同様な物言いです。この論法には誰も反論(反駁)できません。相手にせずに嘲笑するくらいしかテがないですね。

さすがにこの釈明は悪手と思ったのか記事は削除しています。が、現在でもアクセス可能な「心霊研究家池田武央 STAFF」のfacebookで同じフレーズを繰り返しています。

https://www.facebook.com/ikeda.tatsuo.staff/

写真の真偽に関わらず、広い視野、観点で鑑定するのが、真の心霊写真鑑定だと池田武央は常に申しております。

[...snip...]

今回の事も含め、物事の真偽は、皆様の感性のもと感じていただければと思っております。

どうか少しでも池田武央の真意をご理解いただき、これからも応援していただけましたら有難く存じます。

真偽は判断しないのが真の鑑定とは、ジョークなんだか言葉遊びなんだか… もう、何をか言わんや。

カラッポな人間

最初に池田氏ブログを見たとき、釈明記事が見当たらなかったので、他の記事を3つザッと眺めました。あまりの無意味さにちょっと驚きました。

なにか気の利いたイッパシのことを書きたいようですが、これといって考えも言うべきこともナンもないので、毎回スッカスッカのグダグタ。そのことはご本人も自覚があるようで、記事は言い訳で終わります。

「『ひらめきと思いつき』とは…… 」https://ameblo.jp/sgc-ikeda/entry-12055315701.html

今回も、またまた、訳のわからないブログと成ってしまいましたが、最後まで読んで頂き、ありがとうございますm(__)m

「『人生の誠道』とは…… 」https://ameblo.jp/sgc-ikeda/entry-12272073695.html

今回は、私自身が気になったことを、思い付くまま書いてしまい、読みにくいこともあったと思いますが、最後まで、読んでいただきありがとうございましたm(__)m

「『自分自身の理想と価値』とは…… 」 https://ameblo.jp/sgc-ikeda/entry-12287290868.html

最後に、今回、訳の分からないブログになってしまいましたが、最後まで読んで頂き、ありがとうございます。

私のブログは、自分自身の中で、感じたことをそのまま、書いていますので、読みにくいところや、意味不明のところも、多々あると思いますが、これからもよろしくお願いします。

ホントに空疎な人だ。

2017-07-18 (火)

イプシロン-デルタ論法はなぜ難しいのか? どうしたら分かるのか? 分かる必要があるのか?

| 14:52 | イプシロン-デルタ論法はなぜ難しいのか? どうしたら分かるのか? 分かる必要があるのか?を含むブックマーク

先週末に、N君が「イプシロン-デルタ論法って、なんすかアレ? 全然分からないっす!」と言ってました。そのときはそれ以上話す時間もなかったし、次回会うときはこの話題を忘れてしまうかも知れないので、書き記しておきます。

僕は、伝統的なイプシロン-デルタ論法そのものには懐疑的です*1。ゴタゴタした不等式をいじり回すのは早々に切り上げて、開集合を導入したほうがいいと思います。そんな思いから、出来るだけ不等式を使わずに集合族に注目するスタイルイプシロン-デルタ論法を紹介します。

内容:

  1. イプシロン-デルタ論法
  2. 時間や運動のイメージを捨て去る
  3. ユークリッド距離と開球体
  4. 扱う関数達と実例
  5. 平面から平面への写像
  6. 一点の周辺を記述する開球体の族
  7. 写像による開球体の像
  8. デュエルゲームとしての連続性
  9. 論理式で書き下そう
  10. 再びイプシロン-デルタ論法

イプシロン-デルタ論法

イプシロン-デルタ論法(ε-δ論法)は、関数(写像)が連続であることを記述するときに使われる手法です。イプシロン-デルタ論法に出会う前に、関数の連続性については習っていることが多いと思います。おそらく、次のような連続性の“定義”だったでしょう。

  • fがaで連続であるとは、xがaにドンドン近付くとき、f(x)はf(a)にドンドン近付くこと。

「ドンドン」という擬態語を使いましたが、「限りなく」とか「いくらでも」とか表現することもあります。日本語の言い回しを多少変えたところで、本質において擬態語「ドンドン」と大差ありません。このテの表現・定義のスタイルをドンドン論法と呼びましょう。

ドンドン論法による“定義”は、直感に訴える比喩的表現なので、あまり正確とはいえません。ドンドン論法よりもっと正確で、その後の議論にも耐えられる定義をしましょう -- ということでイプシロン-デルタ論法の登場となります。イプシロン-デルタ論法が、ドンドン論法と同様な発想でより精密さを増す方向での進化ならば、「全然分からないっす!」という反応にはならないでしょう。ドンドン論法とイプシロン-デルタ論法のあいだには、何か大きなギャップがあるということです。

そのギャップは、発想の転換、あるいは知的イノベーションとでも呼ぶべきものです。ドンドン論法においては直感的・比喩的理解に重要な役割を果たしていたモノが、イプシロン-デルタ論法では捨て去られています。捨て去られたモノとは:

  1. 時間的な変化、運動の比喩、ダイナミックな感じ。
  2. 一点のまわりのごく小さな範囲で考えているという設定における「小ささ」。

それと、イプシロン-デルタ論法のために必要なスキルとして、次が要求されています。

  1. 点の集合だけでなく、集合の集合を扱うスキル(あるいは慣れ)。
  2. 「任意の」「存在する」という言葉を含む論理的な表現を扱うスキル(あるいは慣れ)。

時間や運動のイメージを捨て去る

ドンドン論法による連続性を、

  • x→a ならば、f(x)→f(a)

のようにも書きます。あるいは、次のようにも書きます。

  • limx→a f(x) = f(a)

記法を整えても、相変わらず定義そのものは「ドンドン」なので、動く点xが定点aに向かってドンドン近づいていくという運動のイメージです。運動のイメージをそのまま論理的な表現に翻訳するのは難しい(どうしていいか分からない)ので、いったん時間/運動のイメージは捨て去って、より静的/空間的な定義を探しましょう。

fが(直感的に)連続なら、aの回りの小さな領域をとると、その領域をfで移した(写した)先の領域も小さいでしょう。この“感じ”を連続性の定義の背景として使います。

  • fがaで連続であるとは、aの回りの小さな領域は、f(a)の回りの小さな領域に移ること。

ウーン、あまり正確さが向上した気はしませんね。でも、時間や運動の概念は剥ぎ取っていて、領域や範囲という空間的な概念による記述にはなっています。言い回しを少し変えると:

  • fがaで連続であるとは、“aの回りの十分に小さな領域”が移った先の領域は、“f(a)の回りのとある小さな領域”からはみ出ないこと。

これは、aの周辺でのfの挙動がおとなしいことです。はみ出し(逸脱し)たり暴れまくるような不良=ヤンチャな行動はしないのです。「挙動」、「行動」と言うとまた時間的な匂いがするので、いまの注釈は、あくまで気持ちの問題について語っただけ、と受け取ってください。

上記の空間的な定義でも、「小さな」とか「はみ出る」とか曖昧な表現が残っています。この曖昧性を何とかするために、距離概念を準備しましょう。

ユークリッド距離と開球体

1次元でもn次元でも労力は大差ないので、一般のユークリッド空間Rnで話をします。Rnに次の標準ユークリッド距離を入れます。

 d(x, ¥, y) ¥: := ¥sqrt{¥sum_{i = 1}^{n} (y_i - x_i)^2 }

n = 1 の場合なら、x, y∈R で:

 d(x, ¥, y) ¥: := ¥sqrt{(y - x)^2 } = | y - x |

n = 2 の場合なら、x, y∈R2, x = (x1, x2), y = (y1, y2) で:

 d(x, ¥, y) ¥: := ¥sqrt{¥sum_{i = 1}^{2} (y_i - x_i)^2 } = ¥sqrt{(y_1 - x_1)^2 + (y_2 - x_1)^2}

nが異なればdも異なる関数なので、dRnとか書くべきでしょう。dRnは面倒なのでdnで次元を明示することにします。混乱の心配がないなら、nが異なっても同じdで示します。

「領域」とか「範囲」という言葉に意味を与えるため、次の定義をします。

  • OBalln(a, r) := {x∈Rn | dn(a, x) < r}

OBalln(a, r)は、n次元空間における“中心がaで半径がr”な開球体(open ball)です。n = 1 なら長さ2rの開区間です。n = 2 なら、半径rの開円板(open disk)です。

曖昧なまま「領域」とか「範囲」と言うより、開球体OBalln(a, r)を使うほうが話がハッキリします。

扱う関数達と実例

XはRnの部分集合、YをRmの部分集合(後述するが、実際はXもYも開集合)として、f:X→Y という形の関数(写像)を扱いましょう。n = m = 1 のときは、fは通常の1変数関数です。n = 2, m = 1 ならば、fは2変数関数ですね。

典型的な事例のグラフを描いてみます。(描画にはMaximaを使いました。)

  • X = {x∈R | -2 < x < 2}
  • Y = {y∈R | -10 < y < 15}
  • f(x) = x3 + x + 1

  • X = {(x, y)∈R2 | -2 < x, y < 2}
  • Y = {z∈R | 0 < z < 10}
  • f(x, y) = x2 + y2

よく見かける関数は連続関数ですが、0で不連続になるような関数の例を出します。

  • X = {x∈R | -3 < x < 3}
  • Y = {y∈R | -2 < y < 2}
  • f(x) = if (x ≧ 0) then 1 else 0

上の関数は、x = 0 のところで跳ねています。0の周辺にどんなに小さな領域を取っても、y側の範囲は小さくなりません。

  • X = {x∈R | -1 < x < 1}
  • Y = {y∈R | -2 < y < 2}
  • f(x) = if (x = 0) then 0 else sin(1/x)

上の関数は、x = 0 の周辺で激しく小刻みに振動します。これも、0の周辺に非常に小さな領域を取っても、y側の範囲は小さくなりません。

グラフとしては描けないのですが、次のような関数も0で(実際はいたる所で)不連続です。

  • X = R
  • Y = R
  • f(x) := if (xが有理数) then 1 else 0

平面から平面への写像

X⊆Rn, Y⊆Rm, f:X→Y において、n = 2, m = 2 ならば、fは平面の一部を平面の一部に移す(写す)ような写像です。このようなfを関数のグラフとして描こうと思うと、4次元の空間内の図形となり、うまく可視化できません。「R言語で複素関数の可視化」で使ったような図示(可視化)の方法を使うと、多少はfの感じをつかめます。

まず、平面内に方眼紙の網目(格子模様)を描きます。

この方眼網目が、写像で移された先でどのように変形するかを見ます。複素関数 w = z2 なら次のように変形します。なお、w = z2 を実2変数関数2つで表すなら、f(x, y) = x2 - y2, g(x, y) = 2xy です。

次は平方根関数 w = sqrt(z) の絵で、かなりたくさんの網目を描いています。

この後出てくる手描きの図は、平面の一部が変形されて別の平面に移る(写る、送られる、対応付けられる)という状況で図示したものです。

一点の周辺を記述する開球体の族

先ほど「時間的に変化するダイナミックなイメージは捨てるのだ」と言いました。これは、直感的イメージを持ってはいけない、ということではありません。直感的イメージは重要だし、必要です。「運動」や「小さい」というイメージを追求する方向性は、連続性の正確な定義にはあまり適切じゃない、ということです。それで、時間概念より空間概念を主体にした視覚化を前節で紹介したのです。

さて、「ある一点の周辺」という概念を定式化しましょう。一点の周辺とはその点を含む領域・範囲です。「領域・範囲」という言葉も曖昧です。ここでは、「その点を含む領域・範囲」として、その点を中心とする開球体(open ball)を考えましょう。もちろん、球体以外の形状を考えてもいいのですが、球体はとても扱いやすいので、とりあえずは球体に限定しましょう。

a∈Rn として、aを中心とした開球体はたくさんあります。たくさんありますが、半径を指定すれば開球体は1つに決まります。よって、次のように書けます。

  • (aを中心としたすべての開球体の集合) = {OBalln(a, r) | r∈R, r > 0}

aを中心とした開球体の全体は、正の数r(半径)でパラメトライズ、あるいはインデックスされます。n次元開球体の全体は“集合の集合”です。R>0 = {r∈R | r > 0} とすると、n次元開球体の全体は Rn×R>0 と1:1の対応があります。その対応は、a = (a1, ..., an) として、OBalln(a, r) ←→ ((a1, ..., an), r) ←→ (a1, ..., an, r) 。この事情から、開球体の全体はかなり把握しやすい“集合の集合”だと言えます。

“集合の集合”を(集合の)(family of sets)とも呼びます。n次元開球体の全体も、aを中心とする開球体の全体も族です。aを中心とする開球体の族(family of open balls)を、OBALLSRn(a)と書くことにします。集合族であることを強調する目的で、全部大文字の名前OBALLSとしました。

X⊆Rn, a∈X とするとき、“aの周辺”(の定式化)としてaを中心とする開球体族を考えます。Xにスッポリ入る開球体が常に取れるように、Xに次の条件を付けます。

  • [どこでも開球体が取れる] Xの任意の点aにおいて、aを中心とするする開球体Aで、A⊆X となるものが(少なくとも1つは)存在する。

これは、あるr(r > 0, rは半径)に対して、A = OBalln(a, r) と書けて、A⊆X となることです。条件を満たす半径rの開球体OBalln(a, r)が1つみつかれば、0 < r' ≦ r である開球体OBalln(a, r')はすべて条件を満たすので、条件を満たす開球体はイッパイあります。

上記の条件[どこでも開球体が取れる]を満たすX(X⊆Rn)を、Rn開集合(open set)といいます。ここでは、Rnの開集合XからRmの開集合Yへの写像(関数)を考えることになります。

写像による開球体の像

XはRnの開集合、YはRmの開集合、f:X→Y として、a∈X とします。aを中心とする開球体OBalln(a, r)のなかで、Xにスッポリ入るものだけ考えます。そういう開球体の全体をOBALLSX(a)とします。

  • OBALLSX(a) = {A∈OBALLSRn(a) | A ⊆ X}

あるいは、

  • OBALLSX(a) = {OBalln(a, r) | OBalln(a, r) ⊆ X}

Xは開集合だったので、Xのどの点aを取っても、OBALLSX(a)は空ではありません -- aを中心とする開球体があるってことです。

さて、X内の開球体 A∈OBALLSX(a) を取れば、fによるAの像f(A)(f(A)⊆Y)を考えることができます(下の図)。fの連続性は、f(A)が拡がり過ぎない、節度ある範囲に収まることでした。この「拡がり過ぎない」とか「節度ある範囲に収まる」をうまく定式化したいのです。

ここでまた、少し発想を変える必要があります。「開球体Aが小さないなら、f(A)も小さい」といった“大小に関わる概念”を捨てて、Y側に特定の範囲(これも開球体)Bを指定したとき、f(A)がB内にスッポリ収まる、という言い回しにします。

  • B∈BALLSY(f(a)) を指定したとき、うまいこと A∈BALLSY(a) を選ぶと、f(A)⊆B と出来る。

f(A)が「拡がり過ぎない/節度ある範囲に収まる」とは、指定したBからf(A)がはみ出さないことだと解釈します。

デュエルゲームとしての連続性

プログラミングに関する随分昔の記事で、仕様を提示する側と実装を行う側をゲームの対戦相手に喩えたことがあります。

このゲームとは、要求を出す側と要求に応える側が交互にコード(仕様記述コードと実装コード)を出し合うことです。「俺のターン/おまえのターン」となるので、デュアル(ペアの類語)からデュエル(カードゲームの名前)に後で名称変更しています。

写像(関数)の連続性の定義のなかには、要求を出す側と要求に応える側によるゲームとしての側面があります写像 f:X→Y に関するゲームは、X側とY側でプレイします。Y側が要求を出す側で、X側が要求に応える側です。

Y側の手札セットは、点f(a)を中心とする開球体族OBALLSY(f(a))です。族のなかから開球体Bを選んで提示します。

  • Y側:俺のターン。俺が選んだf(a)を中心とする開球体はこのBだ。おまえのターン。

次にX側は、自分の手札セットである開球体族OBALLSX(a)から開球体Aを選んで対戦します。

  • X側:俺は、aを中心とするこの開球体Aをセット。さー勝負だ。

勝敗を決めるルールは次のとおり。

  • f(A)⊆B となったときはX側の勝ち。
  • そうでないなら、Y側の勝ち。

fがaで連続であるとは、X側が常に勝てることです。どんなBを指定されても、適切なAを選べば f(A)⊆B と出来ることです。指定されたBからf(A)がはみ出さない、f(A)が「拡がり過ぎない/節度ある範囲に収まる」状況です。次の絵は、X側が負ける状況です。開球体Aをどう選んでも、開球体B内にf(A)を収めることができないときです。

  • X側:ダメだ。俺の手札には、お前の開球体Bに入り込める開球体がない。俺の負けだ。

論理式で書き下そう

前節のゲームの比喩において、Y側がどんな開球体Bを選ぶかは事前に予測できません。別な言い方をすると、Bは任意の開球体と考える必要があります。それに対してX側は、出されたBに応じて適切な開球体Aを選ぶことになります。適切なAが存在することがX側が勝てる条件です。そして、適切なAとは、f(A)⊆B となるようなAです。

以上のことから、X側が常に勝てる条件は次のように書けます。

  • B∈OBALLSY(f(a)) である任意のBに対して、A∈OBALLSX(a) であるAが存在して、f(A)⊆B となる。

「任意の」を表す∀と、「存在する」を表す∃を使うならば:

  • ∀B∈OBALLSY(f(a)). ∃A∈OBALLSX(a). f(A)⊆B

記号に不慣れだと違和感があるかもしれませんが、おおよその意味は:

  • 任意の“Y側の開球体B”に対して、“X側の開球体A”が存在して、f(A)⊆B だ。

日本語にニュアンスを込めれば:

  • 勝手に指定された“Y側の開球体B”に対して、“X側の開球体A”を頑張って選べば、f(A)⊆B だ。

この時点で、開球体の大小に関する言及は全くなくなっています。しかし、ゲームとしてのせめぎあいを考えれば、Y側は小さな開球体を選ぶだろうし、X側も小さな開球体を探して応戦せざるを得ないでしょう。この事情を反映させるなら:

  • どんなに小さな“Y側の開球体B”に対しても、十分に小さな“X側の開球体A”を選べて、f(A)⊆B と出来る。

なんて表現になります。

とはいえ、論理式それ自体はドライなもので、開球体の大小もゲームのせめぎあいも一切含まれないのです。この余分なエモーション/イマジネーションを削り落としたドライさが、推論のパワーにつながるのです。しかしだからといって、我々の心のなかのエモーション/イマジネーションまでも禁じるわけではありません。

再びイプシロン-デルタ論法

前節までの話で、イプシロン-デルタ論法の説明はオシマイです。

エーーッ、イプシロンもデルタも出てきてないじゃん!
俺が知っているイプシロン-デルタ論法とちゃう

そうですね。明示的にはεもδも使ってませんが、内容的にはイプシロン-デルタ論法(の精神)による連続性の定義は語り終わっています。

ほんとにこれで終わりにすると後味が悪いでしょうから、補足しましょう。話を簡単にするために、X = Rn, Y = Rm とします。前節の話で出てきた開球体Bの半径をε、開球体Aの半径をδという文字で表すことにします。もちろん、ε, δ∈R>0 です。

ε, δを使って、B = OBallm(f(a), ε)、A = OBalln(a, ε) と書けます。前節の、fがaで連続である条件をε, δを含む形に書き換えると:

  • 任意のOBallm(f(a), ε)に対して、OBalln(a, δ)が存在して、f(OBalln(a, δ))⊆OBallm(f(a), ε) となる。

開球体の記号を使わずに、正の数ε, δを主役にして書き換えます。まず最初に、f(OBalln(a, δ))⊆OBallm(f(a), ε) の部分だけを書き換えてみます。この部分は、

  • x∈OBalln(a, δ) ならば、f(x)∈OBallm(f(a), ε)

と言えるので、

  • dn(a, x) < δ ならば、dm(f(a), f(x)) < ε

全体を書き換えると:

  • 任意のεに対して、δが存在して、dn(a, x) < δ ならば、dm(f(a), f(x)) < ε が成立する。

これが、伝統的イプシロン・デルタ論法による連続性の記述です。ここに出てくる変数x(x∈Rn)も任意ですから、それも明示して論理記号を使って書くなら:

  • ∀ε∈R>0. ∃δ∈R>0. ∀x∈Rn. (dn(a, x) < δ ⇒ dm(f(a), f(x)) < ε)

この論理式をイキナリ出されたら、ビックリするかウンザリするでしょうが、今までの流れを思い起こしてみれば、写像fが点aの所で跳ねたり暴れたりしないことを表現していると分かるでしょう。

開集合XとYを考慮して、伝統的イプシロン-デルタのスタイルで書くと、論理式はずっと複雑化して、本気でウンザリします。入れ子の∀, ∃、たくさんの不等式を相手に頑張るよりは、集合族による定義のほうが楽だと思います。

今回使った集合族は、一点の回りの開球体族ですが、一点の回りの近傍族、空間全体の開集合族と発展させることが出来ます。


イプシロン-デルタ論法それ自体をゴールに設定して勉強するのは何か虚しいし、やる必要性があるか疑問です。集合や論理に慣れる目的でも、ふさわしいとは思えません。その後に距離空間位相空間連続写像へと進む通過点と捉えるならやる意味はあるでしょう。

いずれにしても、ドンドン論法とイプシロン-デルタ論法のあいだには色々とギャップがあるし、新しいスキルも要求されます。いきなり、ε, δ, ∀, ∃とか出されたら面食らうのは当たり前です。ギャップを意識して、新しいスキルを獲得しながら順番に進めば、「全然分からないっす!」から抜け出せると思いますよ。

*1[追記]「懐疑的」とは、イプシロン-デルタ論法を学ぶことは「それほど重要じゃない」と思ってる、ってことです。正の数ε, δに関する命題が重要なのではなくて、距離空間において、一点の近傍での関数の挙動を云々してるという意識を持てればいいだろう、と。[/追記]

通りすがり通りすがり 2017/07/22 00:20 連続性は開集合で書き直せたとして, 解析で頻出する一様連続性はどうするのでしょうか. 気になって眠れそうにありません.

m-hiyamam-hiyama 2017/07/22 09:55 通りすがりさん
これは、距離に頼らないで一様連続性を定義したい、という話ですか? もしそうなら、一様空間(uniform space)があります。

2017-07-14 (金)

Unicodeの記号文字についてもう少し

| 12:46 | Unicodeの記号文字についてもう少しを含むブックマーク

昨日の記事「数学記号とか特殊な文字のUnicode」で、Unicodeの記号文字をリストしました。気になる点や追加情報を書きます。

論理否定記号の文字は2種類あります。

  1. U+00AC 'NOT SIGN'
  2. U+FFE2 'FULLWIDTH NOT SIGN'

半角文字と全角文字です。Unicodeの本来の思想「全世界の文字を統合(unify)する」からすると、半角・全角も統合して重複は避けたかったでしょうが、諸般の事情から半角・全角を残さざるを得なかったのでしょう。

以前、否定記号が2種類あることがトラブルの原因だったことがあります(ココラの話)。半角・全角で重複している文字は、コード範囲FF00-FFEFの"Halfwidth and Fullwidth Forms"ブロックに集められています。

見渡したところ、否定以外の論理記号は入ってないようです。検索ツールなどでは、全角・半角の違いを無視して検索したほうが望ましいと思います。とはいえ、人間の目視では同じに見える文字は大量にあるので、「何を同じとみなすか?」は大変に難しい問題です。

文字一覧表は、Unicode.orgがご本家ではありますが、グリフをザッと見たいなら、次のページが便利です。

ページ上部のロゴが「フレメ」にしか見えないので、日本企業のページかと思ったら、カナダ・トロントの会社が提供してるようです。

あと、論理記号の文字に関しては次にまとめられています。

昨日挙げた記号のたぐいは、否定記号を除けば、次の2つのブロックにあります。

  1. 2100-214F Letterlike Symbols
  2. 2200-22FF Mathematical Operators

一覧を見てもらえば分かりますが(http://jrgraphix.net/r/Unicode/2100-214F)、"Letterlike Symbols"は混沌としています。名前からして「文字みたいな記号」って、うまく分類できないヤツをかき集めて押し込んだ感じ。黒板文字(白抜き太字)も"Letterlike Symbols"にありますが、ラテン文字がすべて揃っているわけではありません。

2300-23FF "Miscellaneous Technical"ブロック(http://jrgraphix.net/r/Unicode/2300-23FF)にも雑多な記号が集められています。U+2300は空集合(U+2205 EMPTY SET)と同じだと思ったら'DIAMETER SIGN'(直径を表すファイ)だそうで。U+237Aはアルファ(α)にしか見えないのだけど、実際アルファなんですが、'APL FUNCTIONAL SYMBOL ALPHA' … って、あのAPLかい!?

人間には区別困難な類似形状のグリフがコード空間に散在してるし、空白文字がイッパイあったり、コードポイントに“色”がエンコードされてたりもして(「プレーンテキストだけで色付きマーク」参照)、いやはやもう。Unicodeテキストから、賢くあいまい検索するのはとてもとても大変だな―、と思います。

トラックバック - http://d.hatena.ne.jp/m-hiyama/20170714