このブログは、旧・はてなダイアリー「檜山正幸のキマイラ飼育記 メモ編」(http://d.hatena.ne.jp/m-hiyama-memo/)のデータを移行・保存したものであり、今後(2019年1月以降)更新の予定はありません。

今後の更新は、新しいブログ http://m-hiyama-memo.hatenablog.com/ で行います。

ポリ行列の導入

http://d.hatena.ne.jp/m-hiyama-memo/20160209/1454977682に書いたように、伝統的古典テンソル計算(古式テンソル計算)では、コンパクト閉圏の表現が出来ないことが分かった。

ポリ行列という概念を導入する。

  • 極性なしポリ行列 ←→ 極性なしスパイダー
  • 極性付きポリ行列 ←→ 極性付きスパイダー

極性なしポリ行列は、添字表現が a[J←I] または a[I→J] の形で、IとJはカンマ区切りのマルチインデックスである。Iが入力の脚の列(空列もある)、Jが出力の脚の列になる。インデック名は脚に付けられた名前である。ただし、名前は便宜上なのでリネーム(アルファ変換)が可能。

インデックスが動く範囲を指定するために、(a[k←i,j] | i:3, j:3, k:2) のように書く。i:3 は i∈{1, 2, 3} と同じ。a[k:2←i:3, j:3] でもいいだろう。λ(i:3, j:3, k:2).a[k←i,j] でもいい -- アルファ変換が自然に出来る。

極性付きポリ行列では、各インデックスに+か-が付く。(a[k+←i-,j+] | i:3, j:3, k:2)。プラスをup、マイナスをdownとすると、(a[k↑←i↓,j↑] | i:3, j:3, k:2)。さらに↑を実際に上に、↓を実際に下に書くと古典テンソル項に近くなる。ただし、上下を揃えて書くことはしない。上付き添字の下は空けて、下付き添字の上も空ける。a[kij]。

2脚のスパイダーに対応するポリ行列は:

  1. a[j+←i+]
  2. a[j+←i-]
  3. a[j-←i+]
  4. a[j-←i-]
  5. a[j+,i+←]
  6. a[j+,i-←]
  7. a[j-,i+←]
  8. a[j-,i-←]
  9. a[i+,j+←]
  10. a[i+,j-←]
  11. a[i-,j+←]
  12. a[i-,j-←]
  13. a[←i+,j+]
  14. a[←i+,j-]
  15. a[←i-,j+]
  16. a[←i-,j-]
  17. a[←j+,i+]
  18. a[←j+,i-]
  19. a[←j-,i+]
  20. a[←j-,i-]

インデックス名i, jの順序も区別した。インデックスのラベル割り当ての差を無視すればシェイプとなる。脚のベンディング(曲げ加工)のときは、インデックスの順序も関係する。対称(またはブレイディング)で入れ替えるかどうかで順序が変わる。