昨日話題にしたネルソン〈Edward Nelson〉のテンソル記法は、けっこう便利だと思うのですが、テンソル空間 -- 例えば VW* に対して N(V/ W) = 2-Lin((V+, W), R) を引き合いに出すところが、人によっては分かりにくいでしょう。あまり普及しないのも、それが原因かも知れません。
ネルソン記法にも不満な点があるわけです。伝統的(あるいは因習的)記法は、もちろん不満だらけです。ディラックのブラケット記法は「よくできているなー」と感心するのですが、やはり幾つかの不満があります。
これら諸々の不満を並べてみて、不満を解消できるテンソル記法はないものか? と、しばらく考えてみました。現時点において、次のような記法が(僕の判断基準では)最良だと思います。
名称 | 記法 | 意味 |
---|---|---|
適用(評価) | 線形形式 f をベクトル x に適用した値 | |
適用(評価) | 上と同じ(併置による略記) | |
基底ベクトル | i∈I で識別される基底ベクトル | |
基底コベクトル | i∈I で識別される基底コベクトル | |
左スカラー乗法 | ベクトル x の s 倍 | |
右スカラー乗法 | ベクトル x の s 倍 | |
テンソル積 | ベクトル x とベクトル y のテンソル積 | |
基底テンソル | の略記 |
このなかで、「i∈I で識別される」がポイントです。I はインデックス集合〈indexing set〉ですが、次のどの解釈をしても大丈夫です。
- I は番号(整数)の集合である。
- I は(番号とは限らない)ラベルの集合である。
- I はベクトル空間 V の基底である。
- I はベクトル空間 V の双対空間 V* の基底である。
もちろん、心のやすらぎのために、どれかひとつの解釈に固定することも出来ます。
伝統的記法が困る点のひとつは、併置による略記が使われ過ぎなことです。上記の記法では異なる演算子記号を与えている次の演算達、そしてスカラーの掛け算がすべて併置で表記されます。
これらの演算に別な記号を明示的に使うのは、確かに煩雑です。省略したくなります。省略したいなら省略してもかまいません。問題は、明示的に書きたいときに書く方法がないことです。ちゃんと書く方法があるのなら、そこから徐々に省略はできます。
例として、次の基本的な展開公式を取り上げましょう。
これは、ベクトル空間 V の基底 { | i∈I }⊆V により、ベクトル x∈V を展開しています。
まず、インデックス集合 I は了解されているものとして省略します。
適用は併置で略記します。
慣例に従い、 を と書きます。
を、ディラックのケットベクトル で書くと、
左スカラー乗法も併置で略記します。
ケットベクトル の代わりに (i でインデックスされた基底ベクトル)とすれば、
アインシュタインの規約に従い総和記号を省略すると、
は了解されているものとして省略すると、
省略し過ぎた気がするので、インデックス集合 I を復活させれば、
となります。
とか は、最終的に得られる表示です。簡略な記法では、このような表示がどうやって得られたのか? 関与している対象物と操作〈演算〉、メカニズムを推測することが出来ません。表示を機械的に取り扱う手順だけは出来ても、背後の実体は謎のまま、またはボンヤリ曖昧に想定するだけになります。
最初の記法 は確かに煩雑ですが、対象物・操作・メカニズムへの豊富なヒントが含まれます。煩雑さという代償を払って、明確で間違いが少ないというメリットを得ているのです。そしてその煩雑さは後からいくらでも解消できます(今やってみたように)。煩雑さの解消の逆向きの行為、つまり、省略されまくった記法から背後にある対象物・操作・メカニズムを推測するのは極めて困難です。
今回は記法を出しただけで、背後にある対象物・操作・メカニズムの説明はしてませんが、具体的な構文そのものより、「簡潔さは犠牲にしても、省略や同一視を避けて、明確で間違いにくい構文にする」という構文設計のポリシーが重要です。伝統的記法は、「明確さや間違いにくさは犠牲にしても、省略や同一視を多用して、簡潔な構文にする」というポリシーを採用しています。伝統的記法は既に広く使われているので、その欠点を補うために、逆のポリシーの構文があってもいいと思うのです。
[追記]「決定版」と言いながら「修正が入るのはどういうこった!?」なんだけど、タイトルに「たぶん」を入れておいたから許して。
- 適用〈評価〉は、通常の意味より一般化して、 と の並びから A* と A を消すような演算に拡張。絵を描かないと分かりにくい。論理で言えば ¬A or A を排中律で消すこと。とりあえず、一般化適用〈一般化評価〉と呼んでおくか。
- 併置による略記は、原則的になし(オフィシャルには認めない)とする。省略・略記の規則は別に設ける。
- 結合〈合成〉を忘れていた。
- 双対に左双対 A* と右双対 *A の別があったほうがよいのかな?
- フレーム概念を導入する。フレームは F:I→V、コフレームは G:J→V* で、像集合が基底になるもの。
- 縮約については別に述べる。
修正版の表:
名称 | 記法 | 意味・注意 |
---|---|---|
一般化評価 | (絵を描かないと説明し難い) | |
結合(合成) | 反図式順 | |
基底ベクトル | フレーム F により、i∈I で識別される基底ベクトル | |
基底コベクトル | フレーム F により、i∈I で識別される基底コベクトル | |
左スカラー乗法 | ベクトル x の s 倍 | |
右スカラー乗法 | ベクトル x の s 倍 | |
テンソル積 | ベクトル x とベクトル y のテンソル積 | |
基底テンソル | の略記 |
インデキシング〈ラベリング〉方式を次のように分類する。F:I→V はフレーム、G:J→V* はコフレーム。欄内は、基底ベクトルの書き方。ダイレクトとは、フレーム/コフレームの写像が包含写像になること。
ダイレクト | インダイレクト | |
---|---|---|
フレームベース | ||
コフレームベース |
インデキシング方式ごとに、基底ベクトル/基底コベクトルの定義が少し変わる。
[/追記]