テンソル計算の話題をはじめて出したのは「テンソル:定義とか周辺の話とかナニやら」だと思います。それ以来、たまーにポツリポツリとテンソル計算の話をしています。最近書いた「伝統的テンソル計算を理解するヒント」の続きを書こうとも思っているのですが、今日はどうでもいいヨタ話をします。
あまりにどうでもいい些細な事なので、誰も話題にしないみたいですが、ズーッと引っかかっていたことです。それは; xijk のようにいくつかの(この例では3つ)の添字が付く量xがあると、例えば i = 1, j = 1, k = 2 と具体化された成分を x112 と書くこと。
伝統的なテンソル計算では、内積付きベクトル空間Uを固定して、Uとその双対U*から、ベクトル空間のテンソル積により構成される空間達を全部考えて計算の舞台とします。このとき、Uは有限次元と仮定しますが、N = dim U = (Uの次元) に特に制限は付けません。物理/工学的な具体例では N = 2 または N = 3 が多いのですが、テンソル計算の一般論としては、Nは任意です。添字、例えばiが動く範囲は、1 ≦ i ≦ N となります(0 ≦ i < N を使うときもある)。
さて、N = 200 のケースを考えると、x112 は、ベクトル(共変ベクトル)xの第百十二番目の成分だと読めますよね。数字をペッタリくっつけてしまう書き方はメチャクチャ曖昧で、次のような可能性があります(区切りにコンマを使っている)。
- x1,1,2
- x1,12
- x11,2
- x112
なんでみなさん平気でペッタリくっつけるんでしょう? 一般論をしていても、数値が出てくる具体例では N ≦ 9 と制限して一桁の番号しか出てこないと仮定しているのでしょうか。でも僕は、そんな仮定が明白に書かれているのを見たことがありません。
まー、確かにツマンナイことなんだけど、テンソル計算には、こういう変な暗黙のお約束がイッパイあって、明確にされないままに計算手順だけが説明されちゃうんだよね*1。その計算手順はなかなか優れもので、コンピュータでも計算できるほどに明確なんだけど、人間にとっては手順だけを押しつけられるのはシンドイよね。