テンソルとは何か Part.1

「テンソル」という言葉には,

  1. 代数学における「ベクトル空間のテンソル積」
  2. 物理や微分幾何における「テンソル場」
  3. その他,数の高次元配列としてのテンソルなど

といった,さまざまな意味がある。

(関係しているが)異なる概念に対して同じような名前がついていることによって,「テンソル」を学ぶ際には混乱することが多いです。

この記事はPart.1として1. 線形代数における「ベクトル空間のテンソル積」について説明します。

Part.2以降では

  1. 物理や微分幾何における「テンソル場」,
  2. その他,数の高次元配列としてのテンソルなど

の意味と,代数学におけるテンソル積との関係について説明していきます。

ベクトル空間のテンソル積とは

テンソル積(tensor product)とは,2つの(R\mathbb{R} 上の)ベクトル空間 V,WV, W に対して定まる新しいベクトル空間 VWV \otimes W です。(→ベクトル空間と次元

はじめに背後にあるモチベーションを説明し,次にとっつきやすい定義を紹介します。最後に普遍性を使った厳密な定義について軽く触れようと思います。

(以下では全て R\mathbb{R} 係数で考えます。)

導入

33 次元ベクトル空間 R3\mathbb{R}^3 を考えます。空間ベクトル v,wR3v, w \in \mathbb{R}^3 に対して内積 vwv \cdot w というものが定義されていました。ここでは vvww の内積のことを b(v,w)b(v, w) と書くことにしましょう。つまり bb は写像 b ⁣:R3×R3R:(v,w)vwb \colon \mathbb{R}^3 \times \mathbb{R}^3 \to \mathbb{R}: (v, w) \mapsto v \cdot w です。

さて,ベクトルの内積は次のような線形性(→高校数学における線形性の8つの例)に似た関係式(双線形性)を満たしていました。 b(v+v,w)=b(v,w)+b(v,w) b(v + v', w) = b(v, w) + b(v', w) b(v,w+w)=b(v,w)+b(v,w) b(v, w + w') = b(v, w) + b(v, w') b(kv,w)=b(v,kw)=kb(v,w b(kv, w) = b(v, kw) = k b(v, w) vvwwR3\mathbb{R}^3 の元で kk は実数。)

ではこの bb を線形性の枠組みで扱うことはできるでしょうか? つまり次のような問題を考えてみます。

問題1

内積 bb を線形写像として扱うことはできるか?

まずは安直な方法で考えてみましょう。線形性について考えるには定義域に和とスカラー倍が定まっていないといけません。bb の定義域 R3×R3\mathbb{R}^3 \times \mathbb{R}^3 上の和とスカラー倍をとりあえず

(v,w)+(v,w)=(v+v,w+w)(v, w) + (v', w') = (v + v', w + w') k(v,w)=(kv,kw)k (v, w) = (kv, kw)

で定めてみます。(成分ごとに計算。)

これによって bb は線形写像になるでしょうか?もし bb が線形だったとすると例えば次のような式 b(v,w)+b(v,w)=b((v,w)+(v,w)) b(v, w) + b(v', w) = b\left( (v, w) + (v', w)\right) が成り立つはずです。しかし左辺は b(v+v,w)b(v + v', w) で右辺は b(v+v,2w)b(v + v', 2w) ですから明らかに成り立たず,うまくいきません。

このように「テキトーに」演算を定めて試していてもしかたないので,定義域の演算について成り立ってほしい性質から調べてみます。bb を線形写像のように扱いたいのですから,例えば次のような計算ができると嬉しいわけです。

b(2v+3v,ww)=2b(v,w)2b(v,w)+3b(v,w)3b(v,w)=b(2(v,w)2(v,w)+3(v,w)3(v,w)) \begin{aligned} b(2v + 3v', w - w') &= 2b(v, w) - 2b(v, w') +3b(v', w)-3b(v', w')\\ &= b\Bigl(2(v,w) - 2(v, w') +3(v', w) - 3(v', w')\Bigr) \end{aligned}

これを見ると,もっと欲張って bb を施す前の時点で (2v+3v,ww)=2(v,w)2(v,w)+3(v,w)3(v,w)(2v + 3v', w - w') \\ = 2(v,w) - 2(v, w') +3(v', w) - 3(v', w') という計算をしたくなります。そこで,このような理想的な計算ができるような和とスカラー倍を R3×R3\mathbb{R}^3 \times \mathbb{R}^3 上に建設することを目標にしてみます。

問題2

R3×R3\mathbb{R}^3 \times \mathbb{R}^3 に以下を満たす和とスカラー倍を定義してベクトル空間にできるか?(そもそも存在するか?) (v+v,w)=(v,w)+(v,w) (v + v', w) = (v, w) + (v', w) (v,w+w)=(v,w)+(v,w) (v, w + w’) = (v, w) + (v, w’) (kv,w)=(v,kw)=k(v,w) (kv, w) = (v, kw) = k(v,w) (「このような理想的な計算」は3つの式に整理した。)

しかし悲しいことに,このような和とスカラー倍は R3×R3\mathbb{R}^3 \times \mathbb{R}^3 には存在しません。

存在しないことの証明

このような和とスカラー倍が存在して R3×R3\mathbb{R}^3 \times \mathbb{R}^3 がベクトル空間になったと仮定する(背理法)。R3\mathbb{R}^3のベクトル ww を1つとる。成り立って欲しい性質の1つ目の式より (0,w)=(0+0,w)=(0,w)+(0,w)(0, w) = (0 + 0, w) = (0,w) + (0,w) となるから,両辺から (0,w)(0,w) を引くことで (0,w)(0, w) がベクトル空間 R3×R3\mathbb{R}^3 \times \mathbb{R}^3 における零ベクトルになることがわかる。同様に R3\mathbb{R}^3ww でない別のベクトル ww' をとれば (0,w)(0, w') も零ベクトルとなる。ところが (0,w)(0, w)(0,w)(0, w') は集合 R3×R3\mathbb{R}^3 \times \mathbb{R}^3 の元としては異なるから,零ベクトルの一意性に反する。

これにより,上のような「理想的な計算」を R3×R3\mathbb{R}^3 \times \mathbb{R}^3 上に実現して bb を線形写像のように扱うことはできないのです。ではどうするかというと,ないなら作れ,ということで「理想的な計算」ができるようなベクトル空間を R3×R3\mathbb{R}^3 \times \mathbb{R}^3 とは別に作って,bbをその上に線形写像として移植してしまうのです。この新しいベクトル空間を R3\mathbb{R}^3R3\mathbb{R}^3テンソル積といい,R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 と書きます。

以下ではこのテンソル積をどのように作るか,どういう性質を満たすのかを紹介し,問題1に解答を与えていきます。

テンソル積の定義

2つのベクトル空間 V,WV, W に対してそれらのテンソル積 VWV \otimes W の定義を説明します。

まず導入で述べたように,テンソル積 VWV \otimes W とはある種の「理想的な計算」ができ,内積 bb のようなものを線形写像と思えるように V,WV, W から作るベクトル空間です。意識して欲しいのは,「成り立ってほしい性質」が先にあって,それを実現するようにあとから作り方を考えているという点です.(二次方程式がいつでも解けるような場所として複素数を作ったのと同じです。)

他の数学的概念では先に作り方があってそれから性質を調べていくことが多いですが,それが逆になっているというのがテンソル積のわかりにくさの一因かもしれません。

R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 の考察

導入に続き R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 を考えます。R3\mathbb{R}^3の標準基底を e1=(1,0,0)e2=(0,1,0)e3=(0,0,1)e_1 = (1, 0, 0) \\e_2 = (0, 1, 0) \\ e_3 = (0, 0, 1) とおきます。さて,R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 においては (2v+3v,ww)=2(v,w)2(v,w)+3(v,w)3(v,w)(2v + 3v', w - w') \\ = 2(v,w) - 2(v, w') +3(v', w) - 3(v', w') のような計算ができるはずでした。しかしこのままでは (v,w)(v,w)R3×R3\mathbb{R}^3 \times \mathbb{R}^3 の元のように見えてしまうので,表記を変えて (2v+3v)(ww)=2(vw)2(vw)+3(vw)3(vw)(2v + 3v')\otimes (w - w') \\ = 2 (v \otimes w) - 2 (v \otimes w') +3(v'\otimes w) - 3(v'\otimes w') としておきましょう。そうすると,基底ベクトル e1,e2,e3e_1, e_2, e_3を使って例えば

(e1+4e2)(2e1e2)=2(e1e1)e1e2+8(e2e1)4(e2e2) \begin{aligned} &(e_1+4e_2) \otimes (2e_1-e_2) \\ &=2(e_1 \otimes e_1) - e_1 \otimes e_2 \\ & +8(e_2 \otimes e_1) - 4(e_2 \otimes e_2) \end{aligned} のようにすべてを eieje_i \otimes e_jたちの線形結合で表せるはずです。これを踏まえて,R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 を次のように定義します。

定義

R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 は,形式的な記号 eiej,(i,j=1,2,3)e_i \otimes e_j, (i, j = 1,2,3) を基底にもつベクトル空間である。つまり集合としては R3R3={i=13j=13cij(eiej)cijR} \mathbb{R}^3 \otimes \mathbb{R}^3 = \left\{\sum_{i = 1}^3 \sum_{j = 1}^3 c_{ij} (e_i \otimes e_j) \mid c_{ij} \in \mathbb{R}\right\} である。

そして (v,w)R3×R3(v,w) \in \mathbb{R}^3 \times \mathbb{R}^3 に対応する元 vwR3R3v \otimes w \in \mathbb{R}^3 \otimes \mathbb{R}^3 を, v=a1e1+a2e2+a3e3w=b1e1+b2e2+b3e3 v = a_1e_1 + a_2e_2 + a_3e_3 \\ w = b_1e_1 + b_2e_2 + b_3e_3 のとき vw=i=13j=13aibj(eiej) v \otimes w = \sum_{i = 1}^3 \sum_{j = 1}^3 a_i b_j (e_i \otimes e_j) によって定義する。

見かけは複雑ですが,とにかくこのように定義すれば,R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 は実際に「理想的な計算」ができるようなベクトル空間になります。(すべて eieje_i \otimes e_j で表してやれば,(v+v)w=vw+vw(v + v')\otimes w = v\otimes w + v'\otimes w などが成り立っていることが確認できます。)

繰り返しますが,大事なのは作り方ではなく成り立って欲しい性質が実際に成り立つという点です。実際に,内積 bb は次のようにして R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 上の線形写像として実現できます。

定理1

R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 から R\mathbb{R} への線形写像 f ⁣:R3R3Rf \colon \mathbb{R}^3 \otimes \mathbb{R}^3 \to \mathbb{R} を,

f(eiej)=b(ei,ej) f(e_i \otimes e_j) = b(e_i, e_j)

によって定義する。(線形写像は基底ベクトルでの値を決めれば決まることに注意!) このとき eieje_i \otimes e_j 以外の形の vwv \otimes w に対しても f(vw)=b(v,w) f(v \otimes w) = b(v, w) が成り立つ。

証明

具体例で見てみます。例えば v=e1+4e2,w=2e1e2v = e_1+4e_2, w = 2e_1-e_2 としてみると,vwv \otimes w の定義と bb の性質がうまく噛み合って f(vw)=f(2(e1e1)e1e2+8(e2e1)4(e2e2))=2f(e1e1)f(e1e2)+8f(e2e1)4f(e2e2)=2b(e1,e1)b(e1,e2)+8b(e2,e1)4b(e2,e2)=b(e1+4e2,2e1e2)=b(v,w) \begin{aligned} & f(v \otimes w) \\ &= f\Bigl(2(e_1 \otimes e_1) - e_1 \otimes e_2 +8(e_2 \otimes e_1) - 4(e_2 \otimes e_2)\Bigr) \\ &= 2f(e_1 \otimes e_1) - f(e_1 \otimes e_2) +8f(e_2 \otimes e_1) - 4f(e_2 \otimes e_2) \\ &= 2b(e_1, e_1) - b(e_1, e_2) +8b(e_2, e_1) - 4b(e_2, e_2) \\ &= b(e_1+4e_2, 2e_1-e_2) \\ &= b(v, w) \end{aligned} となります。一般の v,wv, w についても同じようにできます。

この定理によって,bb がどういう関数であるかは ffvwv \otimes w を代入してみればすべてわかることになります。つまり bb を線形写像として R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 に移植できたと言えるでしょう。よってめでたくはじめの問題は解決されました。

問題1の解答

写像 bb は,テンソル積 R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 上の線形写像 f ⁣:R3R3Rf \colon \mathbb{R}^3 \otimes \mathbb{R}^3 \to \mathbb{R} だと思うことができる。

定義(一般の場合)

一般のベクトル空間のテンソル積もまったく同じように定義されます。簡略化のため有限次元で考えますが,無限次元でも大体同じです。

定義(基底によるもの)

V,WV, W を有限次元のベクトル空間とし,{e1,em},{f1fn}\{e_1, \dots e_m\}, \{f_1 \dots f_n\} をそれぞれ V,WV, W の基底のひとつとする。このとき VWV \otimes W は,形式的な記号 eifj,(i=1,m,j=1,n)e_i \otimes f_j, (i = 1, \dots m, j= 1, \dots n) を基底にもつベクトル空間である。つまり集合としては

VW={i=1mfj=1ncij(eifj)cijR,} V \otimes W = \left\{\sum_{i = 1}^m \sum_{fj = 1}^n c_{ij} (e_i \otimes f_j) \mid c_{ij} \in \mathbb{R}, \right\}

である。

そして (v,w)V×W(v,w) \in V \times W に対応する元 vwVWv \otimes w \in V \otimes W を, v=i=1maiei,w=j=1nbifi v = \sum_{i=1}^m a_ie_i, \hspace{10pt} w = \sum_{j=1}^n b_if_i のとき vw=i=1mj=1naibj(eifj) v \otimes w = \sum_{i = 1}^m \sum_{j = 1}^n a_i b_j (e_i \otimes f_j) によって定義する。

そして,VWV \otimes W と写像 (v,w)vw(v, w) \mapsto v \otimes w の組のことを VVWW のテンソル積という。

これがテンソル積の1つの定義です。(違う基底を選んでも同じものができるのか?など定義として怪しい点はいくらかありますが,それは後回し。)

さて,これによって VWV \otimes W においても (2v+3v)(ww)=2(vw)2(vw)+3(vw)3(vw)(2v + 3v')\otimes (w - w') \\ = 2 (v \otimes w) - 2 (v \otimes w') +3(v'\otimes w) - 3(v'\otimes w') のような計算ができるというのはわかりました。

そして肝心の内積 bb に対応するものは,双線形写像と呼ばれるものです。

定義(双線形写像)

U,V,WU, V, W をベクトル空間とする。写像 β ⁣:V×WU\beta \colon V \times W \to U が次の条件を満たすとき双線形写像(bilinear map)という。

  1. 任意の v,vV,wWv, v' \in V, w \in W について β(v+v,w)=β(v,w)+β(v,w) \beta (v + v', w) = \beta(v, w) + \beta(v', w)

  2. 任意の vV,w,wWv \in V, w, w' \in W について β(v,w+w)=β(v,w)+β(v,w) \beta(v, w + w') = \beta(v, w) + \beta(v, w')

  3. 任意の kR,vV,wWk \in \mathbb{R}, v \in V, w \in W について β(kv,w)=β(v,kw)=kβ(v,w) \beta(kv, w) = \beta(v, kw) = k\beta(v,w)

例えば導入の内積 bbR3×R3\mathbb{R}^3 \times \mathbb{R}^3 から R\mathbb{R} への双線形写像です。

これを使うと,R3R3\mathbb{R}^3 \otimes \mathbb{R}^3bb を線形写像 ff として実現するという定理は,VWV \otimes W では次のようになります。

定理2

ベクトル空間 UU と双線形写像 β ⁣:V×WU\beta \colon V \times W \to U が与えられたとき,線形写像 φ ⁣:VWU\varphi \colon V \otimes W \to U

φ(eiej)=β(ei,ej) \varphi(e_i \otimes e_j) = \beta(e_i, e_j)

によって定義する。 このとき eieje_i \otimes e_j 以外の形の vwv \otimes w に対しても φ(vw)=β(v,w) \varphi (v \otimes w) = \beta(v, w) が成り立つ。(β\beta は線形写像 φ\varphi として実現できる。)

さらにこれによって「V×WV \times W から UU への双線形写像全体」と「VWV \otimes W から UU への線形写像全体」は1対1に対応する。

証明

R3R3\mathbb{R}^3 \otimes \mathbb{R}^3 のときとまったく同じ。

以上によって,VWV \otimes W は「理想的な計算」ができ,空間ベクトルの内積のような写像「双線形写像」を線形写像として実現するような空間であることがわかりました。しかも定理によれば,この実現は1対1対応です。そして VV の基底 {ei}i\{e_i\}_iWW の基底 {fj}j\{f_j\}_j に対し VWV \otimes W の基底は {eifj}ij\{e_i \otimes f_j\}_{ij} で与えられます。

1つ例を挙げておきましょう。

V={f(x)degfm}V = \{f(x) \mid \deg f \leq m\}xxmm 次以下の多項式全体のなすベクトル空間,W={g(y)degfn}W = \{g(y) \mid \deg f \leq n\}yynn 次以下の多項式全体のなすベクトル空間とする。このとき VWV \otimes Wxx について mm 次以下,yy について nn 次以下の多項式全体のなすベクトル空間 {i=0mj=0naijxiyjaijR} \{\sum_{i = 0}^m \sum_{j = 0}^n a_{ij}x^iy^j \mid a_{ij} \in \mathbb{R}\} と同一視できる。

(1,x,x2,xm1,x,x^2, \dots x^mVV の基底,1,y,y2,yn1,y,y^2, \dots y^nWW の基底だから,VWV \otimes Wxiyjx^i \otimes y^j たちを基底にもつ。これを単項式 xiyjx^iy^jに対応させればよい。すると f(x)V,g(y)Wf(x) \in V, g(y) \in W に対して,f(x)g(y)f(x)\otimes g(y) は多項式の積 f(x)g(y)f(x)g(y) に対応する。)

最後に重要な注意をしておきます。VWV \otimes W の元はすべて vwv\otimes w の形の元の有限個の和 v1w1++vrwr v_1 \otimes w_1 + \cdots + v_r \otimes w_r で表せますが, そのすべてが vwv \otimes w の形をしているわけではありません。

v1w1+v2w2v_1 \otimes w_1 + v_2 \otimes w_2 と書けるが,どうがんばって式変形をしても vwv \otimes w の形に持っていけない,という元も含まれています。(多項式 x2+y2x^2 + y^2f(x)g(y)f(x)g(y) の形で表せないのと同じです。)

まとめと,普遍性について

ここまでの話をまとめます。

  • vV,wWv \in V, w \in W に対して VWV \otimes W のベクトル vwv \otimes w が定まっていて,「理想的な計算」 (v+v)w=vw+vw (v + v')\otimes w = v\otimes w + v'\otimes w v(w+w)=vw+vw v \otimes( w + w’) = v \otimes w + v \otimes w’ (kv)w=v(kw)=k(vw) (kv) \otimes w = v \otimes (kw) = k(v \otimes w) VWV \otimes W の中でできる。

  • 任意のベクトル空間 UU と双線形写像 β ⁣:V×WU\beta \colon V \times W \to U に対して,β\betaVWV \otimes W から UU への線形写像 φ\varphi だと思えて,この対応は1対1対応である。

  • VV の基底 {ei}i\{e_i\}_iWW の基底 {fj}j\{f_j\}_j に対し VWV \otimes W の基底は {eifj}ij\{e_i \otimes f_j\}_{ij} で与えられる。

はじめの2つは VWV \otimes W に対し成り立ってほしい性質であり,最後のものがのものがそれを実現するような作り方です。そしてよくみると,1つ目の性質は次のように書き直せることがわかります。

「双線形写像  ⁣:V×WVW,(v,w)vw\otimes \colon V \times W \to V \otimes W, \hspace{10pt} (v,w) \mapsto v \otimes w が与えられている。」

これによって「成り立って欲しい性質」をまとめたものを,テンソル積の普遍性(the universal porperty of the tensor product)といいます。

定理(テンソル積の普遍性)

ベクトル空間 V,WV, W のテンソル積 VWV \otimes W に対して双線形写像  ⁣:V×WVW,(v,w)vw\otimes \colon V \times W \to V \otimes W, \hspace{10pt} (v,w) \mapsto v \otimes w が与えられている。

そしてベクトル空間 UU と双線形写像 β ⁣:V×WU\beta \colon V \times W \to U に対して,β(v,w)=φ(vw)\beta(v,w)=\varphi(v \otimes w) となるような線形写像 φ ⁣:VWU\varphi \colon V \otimes W \to U が対応し,この対応は1対1対応である。

普遍性による厳密な定義

ここから発展的な話です。テンソル積とは「成り立って欲しい性質」つまり上の定理を実現するように作られていると述べました。ですが実際にはこの定理(普遍性)を満たすようなベクトル空間と双線形写像の組というのは,本質的にただ1つしかないのです!

(これによって,基底の取り方を変えても同じものができるのか?といった問題は解決します。なぜなら,別の基底を使ってできたものも普遍性を満たし,自動的に同じものになってしまうからです。)

そこで厳密な数学の教科書では,この事実を使って「V,WV,W に対して普遍性を満たすようなものを V,WV,W のテンソル積という。」などという一見よくわからない定義をしたりします。

定義(普遍性によるもの)

ベクトル空間 V,WV, W に対し,そのテンソル積とは次のような条件を満たすベクトル空間 VWV \otimes W と写像  ⁣:V×WVW,(v,w)vw\otimes \colon V \times W \to V \otimes W, \hspace{10pt} (v,w) \mapsto v \otimes w の組のこと。

  1. 写像 \otimes は双線形である。
  2. 任意のベクトル空間 UU と双線形写像 β ⁣:V×WU\beta \colon V \times W \to U に対して,線形写像 φ ⁣:VWU\varphi \colon V \otimes W \to U であって β=φ\beta = \varphi \circ \otimes となるものがただひとつ存在する。

慣れるまでは難しく見えますが,ようは作り方を指定せずに成り立って欲しい性質そのものを定義にしてしまっているということです。条件を満たすものは1つしかないのだから,うまくいくよう作り方は各自で考えてね,というわけです。

テンソル積に見た目が違う定義がいくつもあるように見えるのは,こういう考え方が背景にあるからだ,ということを覚えておきましょう。

Part.2に続く

テンソルとは何か Part.2

テンソル積難しいですね…