続・乱用の分析

記号の乱用の分析 - (新) 檜山正幸のキマイラ飼育記 メモ編の続き。

典型的な乱用は次の2種類だと思う。

  • 部分・全体の乱用: 構造の一部をもって全体を代表させる。あるいは、全体を一部としても使う。例: G = (G, *, e)
  • オーバーロードの乱用: 推定可能な隠れたパラメータを持つオーバーロードは「よし」とする。そうでないオーバーロードは乱用とする。オーバーロードされた記号を含む、意味を持つ式があるとき、用法・意味が推定できないなら乱用。

番号iに対して、i番目の変数による偏微分を ∂i 、一方で、ベクトル場Xによる方向微分を ∂X 。このときの記号'∂'のオーバーロードはどうなるか? ネルソン流のダイレクトインデックスだと整合的。だが、変数iと変数Xの型を区別する必要がある。


「略記」という言葉は、「省略+短縮別名」の意味で使うことにする。省略すると、必ず隠れたパラメータを作ることになる。一方、短縮別名は別名に過ぎないので、語彙を増やすだけ。略記だと、隠れたパラメータが増えるから、何が隠れるかを明記する必要がある。

  • 記述における隠れたパラメータは何か?
  • 記述における隠れた前提は何か?

あ、それと、隠れたパラメータで(明示的パラメータでも)、それが自由変数なのか論理的束縛変数なのか、ラムダ束縛変数なのかの区別も非常に重要。∀x, λx が落とされたり、自由変数と混同されたりする。非常に良くない。

両用メガネ

中近両用メガネというものを作った。両用メガネというものは初めて。以前作ろうとして試したら目眩がしたのでやめたのだった。

便利ではあるが不自然であり、視力獲得のために色々と犠牲にしている感じが強い。実は中距離専用メガネで良かったのではないかという思いもある(近距離使わない)。

ThinkPad X220 のキーストローク

確か 2.4mm のキーストロークがあった。今だと、ノートPCなら 2mm, 1.9mm でも深いほうで、1.5mm くらいが標準的かも知れない。1mm なんてのも普通にあるようで、僕には受難の時代だ。最悪はソフトウェアキーボードで、キーストローク 0mm 、ガーーーッ。

ノートPCは薄さ追求傾向が強いから、2mm超(できれば 2.5mm)キーストロークは、もう外付けしかないのかな。悲しい。辛い。

[追記]
価格.comで「キーストローク:4mm~のキーボード 製品一覧」でもけっこうリストされる。今でも外付けなら、タイプライター風キーボードも買えるらしい。が、総じて値段は高い。一万円以下が珍しく、3万円台もある。機械としてちゃんと作る必要があるからだろうか。

4mm は要らないから、2.5mm ~ 3.0mm くらいで、小さめ(手が小さいから)だな。最初にキーボードを買って、それにあうキーボードなしタブレットPCと組み合わせるのもアリかも。が、そんなタブレットPCがあるのか?
[/追記]

テンソル計算

  1. テンソル{積}?{ベクトル}?空間
  2. テンソルベクトル : テンソル積ベクトル空間の要素
  3. {マルチ | 複}ベクトル : Vn = V×n の要素
  4. マルチベクトルのテンソル{ベクトル}?化 : Vn → V⊗n
  5. マルチベクトルの交代テンソル{ベクトル}?化 : Vn → V∧n
  6. マルチベクトルの対称テンソル{ベクトル}?化 : Vn → VSn
  7. 対称化子 sym : V⊗n→V⊗n
  8. 交代化子 alt : V⊗n→V⊗n
  9. 複線形写像の線形化 fL

微分リー加群とリー亜代数層と局所可換基底

リー代数Lに対して、ベクトル空間Vに対する表現 ρ:L→End(V) があると、(L, V, ρ) がリー代数Lの表現=L上のリー加群を定義する。

Vが単なるベクトル空間ではなくて、可換環だとして、それをAと書く。ρ:L→End(A) が、特に ρ:L→Der(A) のとき、リー代数Lの微分表現=L上の微分リー加群 と呼ぶ。

R-可換環Aが、R-リー代数L上の微分リー加群になっていて、かつ、Lが通常のA-加群でもある状況が問題となる。リー亜代数の代数的側面はこの構造だと思う。E→M を多様体M上のベクトルバンドルとする。

  1. A = C(M) を基礎となる可換環とする。
  2. L = Γ(E→M) はR-リー代数である。
  3. L = Γ(E→M) は、可換環A上の加群である。
  4. ρ:L→DerR(A) は、リー代数微分表現である。

幾何的概念により定義されるリー亜代数を幾何的リー亜代数と呼ぶ。上記の定義は代数的リー亜代数〈algebraic Lie algebroid〉。

可換環Aの代わりに環付き空間 (X, A) を使って定義したリー亜代数を、リー亜代数層と呼ぶ。環付き空間上の(通常の)加群層Lと、Rリー代数層Lと、微分表現のR線形層射ρからなる。

リー亜代数層 (X, A, L, ρ) があるとき、開集合Uにおいて、Lが局所的に有限階数自由A-加群になっているとする。局所的に有限自由基底を持つ場合、その局所有限自由基底を単に局所基底と呼ぶ。

Lの局所基底 {X1, ..., X}⊆L on U があって、どの2つのリー括弧も0になるとき局所可換基底と呼ぶ。LのAへの微分表現を使うと、「[X, Y] = 0 ⇒ [ρ(X), ρ(Y)] = 0 ⇒ ρ(X)とρ(Y) は作用素として可換」なので「可換」と呼ぶ。

{z1, ..., zn}⊆A が座標として使えることは、これらの外微分 {dzi}⊆L* の相反基底が、接ベクトル場リー代数Lの局所可換基底になっていることだと定義できるかも知れない。

次の事実により計算が簡単になり、同時に構造が見えなくなっているのだろう。

  1. LとL*には、互いに相反な局所有限自由A-基底が取れる。
  2. Lの局所有限自由A-基底は可換なものがとれる。
  3. L*の局所有限可換自由A-基底は、座標関数の外微分で与えられる。

言葉としては:

  1. 局所座標関数の集合⊆A`U を局所座標系と呼ぶ。
  2. C⊆A`U が局所座標系のとき、(A`U)C→L`U を局所フレームと呼ぶ。
  3. C⊆A`U が局所座標系のとき、((A`U)C)t→L*`U を局所コフレームと呼ぶ。ここで、右肩tは転置を意味する。縦タプルと横タプルを考えている。
  4. 局所コフレームの双対A-加群射を局所ゲージと呼ぶ。
  5. 局所フレームの双対A-加群射を局所コゲージと呼ぶ。

座標関数、座標系〈チャート〉、フレーム、コフレーム、ゲージ、コゲージは、いずれも局所的に考えるものだから、「局所」は省略してよい。逆に、多様体全体で定義されているなら「大域」を付ける。

再度、{z1, ..., zn}∈A が座標系であること:

  1. {dz1, ..., dzn} がL*の局所有限自由A-基底となる。
  2. {dz1, ..., dzn} は、単なる基底ではなくて、相反可換基底である。
  3. つまり、{dz1, ..., dzn} の相反基底 {∂1, ..., ∂n} はリー代数Lの可換A-基底となる。

相対可換環 Φ/R 上の加群リー代数R-リー代数でΦ-加群)があるとき、Φ-基底の可換性はすごく重要な問題。だが、あまり強調されない。相対可換環上の非可換結合代数は、交換子積でリー代数になるから、ここでの可換Φ-基底は、通常の意味の可換な要素達になる。

相対可換環上の、非可換結合代数と加群リー代数微分リー加群などをマジメに考える必要がある。

記号の乱用の分析

  • 省略 : 書くべき情報を書かない。文脈から省略された情報は補う。
  • 別名 短縮別名 別表記 : 別な書き方を準備するだけ。
  • 乱用 乱用オーバーロード : 辻褄は合わない。オーバーロード解決が必要。

基底に伴う相反写像 の例: ΞとΩが双対ペアで、ΞΩ = (Ξ, Ω, (-|-)ΞΩ) だとする。RecipΞΩ:Basis(Ξ)→Iso(Ξ, Ω) が相反写像

  • * := Recip 短縮別名
  • I := *ΞΩ(I) 省略
  • * := *I 省略
  • * := *-1 乱用オーバーロード
  • ω- := *(-) 別表記

偏微分記号の例: 0次のリー微分 L:Ξ→𝒪0(Ω) の0次部分の別名が∂。Ξ⊆𝒪0(Ω) と考えれば、L0は単なる包含写像。そのときは、L0X = X 。

hello, hollow, hallow, halo

hello と hollow は、僕の耳だと聞き分けることができない。が、カタカナ書きだと:

  • hello〈こんにちは〉 ハロー または ヘロー
  • hollow〈中空 | 窪み〉 ホロウ

helloのほうが「ヘ」に近く、「ロー」で上がる感じか。

ハローという綴りなら

  • hallow〈神聖な〉 ハロー

これも区別できない。

  • halo〈後光 | 光輪〉 ハロー

ダメだ、区別できん。カタカナ書きで無理に区別するなら:

  • hello ヘロー
  • hollow ホロウ
  • hallow ハロウ
  • holo ヘイロー | ハロ

ガーッ! 形式体系だった!!

微分幾何計算は、形式体系とその意味論を使えば良かったのだ。灯台下暗し! なぜに気付かない。こんなときは、自分の頭を殴りたくなる。

型記号

  1. Vector
  2. Scalar
  3. Covector

型演算

  1. ×
  2. (-)n

定数記号

  1. i : Vector
  2. ωi : Covector
  3. ∂ : Vectorm
  4. ω : Covectorm
  5. πi : Scalar
  6. εi : Scalarm
  7. i : Scalar → Scalar

オペレータ記号

  1. -[-] : Vector, Scalar → Scalar
  2. -[-] : Vector, Scalarm → Scalarm
  3. -・- : Vector, Scalar → Vector
  4. -・- : Scalar, VectorVector
  5. -・- はイッパイオーバーロード

典型な形式体系

  1. euclid(A) AはRmの開集合
  2. coord(s:M⊇→Rm) sはMのチャート
  3. euclid(s:M⊇→Rm) sはMのチャート
  4. manifold(M)

意味論の例

  1. 〚Scalar〛euclid(A) := CRm(A)
  2. 〚Scalar〛coord(s) := CM(def(s))
  3. 〚Scalar〛euclid(s) := CM(img(s))
  4. 〚Scalar〛manifold(M) := CM(M)

アビタとアビタベース

実体〈entity | thing | stuff〉に対して、そのアビタ(直接的)とアビタベース(間接的)の区別がついてなかったのではないか? アビタは型インスタンスの型クラスと言っていいが、アビタベースはベース型クラスとは違う概念。

  • アビタベース=“指標のターゲット圏”
  • ターゲット圏のアビタがアンビエント

オブジェクト指向との関係で言えば:

  • オブジェクト・インターフェイス=単ソート隠蔽指標=余代数指標
  • オブジェクト・インターフェイスの型クラス=モデル圏
  • オブジェクト・クラス=“オブジェクト・インターフェイスのモデル”=型インスタンス=モデル圏の対象=余代数
  • オブジェクト=オブジェクト・クラスの状態点
  • マルチオブジェクト=オブジェクト・クラスの直積の状態点

クラス継承は、型階層とは分離して考えたほうがいい。継承を型システム内で考えると無様な事になる。継承グラフは、型階層グラフの部分グラフであるが別物、型理論では議論しない、out-of-scope。

Jave 擬似言語
D extends C D inherits C
J extends I J extends C
C implements I C satisfies I, C typeinstanceof I

オブジェクト・クラスCの、直接のアビタである型クラス達を T1, ..., Tk とすると、これは型クラスのk-コスパンとなる。ファイベー積=余極限で、型クラスを加工・構成する。指標側で余極限なので、モデル側では極限になる。

もう一度区別すべき概念:

  • 指標とモデルは違う。
  • 指標は余極限で加工・構成され、モデルは極限で加工・構成される。
  • 指標はモデル圏を定義する。個別モデルを定義しない(タイト意味論では定義するが)。
  • モデル圏の対象は関手である。
  • モデルのアビタとアビタベースは違う。
  • アビタベースはモデルのターゲット圏である。