お絵描きで古典テンソル計算:行列だけで出来ること
テンソルを導入しないでどこまで出来るか? と考えた。
- ev: AA*→K ev': A*A→K は、双線形形式として導入できる。
- coev: K→A*A は正方行列のpointingとして導入できる。ただし、A→B を A*B とするか BA* とするかは曖昧で、選択に決定的な理由もない。
- coevとevを結合するとトレースが作れるが、正方行列のpointingと双線形形式(二次形式)だと結合(合成)が自然には出来ない。ギャップがある。
- 行列が作るベクトル空間(テンソル空間である)と、二次形式への引数のあいだを繋ぐ工夫が必要。
- 行列が作るベクトル空間に(i→j)成分だけ1で他は0の行列達からなる基底を入れる。
- その基底のベクトル(ベクトルとみなした行列)を分解して二次形式の引数に入れる、とか。
- やっぱり不自然か、分解ってのがよくわからんし。
- 分解つうより、実際は逆にベクトルとコベクトルの“積”で行列の空間の基底を生成する。
やってることは、結局はテンソル積空間の定義に依拠してしまう。
双線形形式を φ:V×W→K とする。テンソル積空間の標準構造射を ι:V×W→VW とする。ι(v, w) = vw ∈VW 。双線形形式φを、テンソル積空間VW上の線形形式 f:VW→K の引き戻しで定義したとする。すると、φ = ι*(f) = ι;f となる。どんな二次形式φも、この形で定義できることがテンソル積空間の定義。
逆に、VW上の線形形式は、V×W上の双線形形式から作れるし、それで尽くされる。φを素材にfを作るには、VW上の基底を“分解”してφに渡してやる。基底での値が決まれば線形に拡張できる。
どうやっても結局、潜在的にテンソル積空間の定義を使ってしまうのなら、最初からテンソル積空間を導入したほうがいいのか? なんか工夫があるのか? 物理でダイアド積(ダイアディック)とかあったような気がするが、それは工夫かな?
んじゃ、テンソル積を導入するとして、どんな手順か:
- V, Wに対して基底 A⊆V, B⊆W を選んで、A×B から自由生成された空間Tを考える。
- その基底に関して、BiLinForm(V, W) と LinForm(T) が1:1に対応することを示す。
- Lin(T→Z) と BiLin(W, W→Z) も対応することを示す。
しかし、これだと基底を取り替えたもいいことを示す必要がある。でも、それはしょうがないか。
どうも、行列だけに限定するのは難しいようだ。