今度こそテンソルを理解する

テンソルは難しい

理系の学部出身者であれば、テンソルという言葉を一度は聞いたことがあるだろう。そして、数学やら物理の専門に進むのでなければ、その意味の分からなさに絶望し、理解を放棄した経験があるという人は少なくないのではないかと推察する。少なくとも、私はそうだった。

テンソルはなぜ難しいのだろうか?自分の経験に加えて、たまたま見つけた記事[1]を見て思ったのは、まず第一に定義が複数あり、それらの間のつながりが分かりづらいということである。加えて、テンソルのみを解説した書籍というのが少ないように思う。どうもテンソルというのはあくまで何かをするための道具という扱いであり、それだけを単独で解説するということがあまり行われていないようである。

そこで本稿では、私がテンソルについて個人的に分からないと思っているポイントを挙げ、それらについて順次理解を深めていこうと思う。

テンソルに関する疑問

まず、私が理解できていない事項を具体的に挙げる。

  1. テンソルと言うと、なんだか添字がたくさんついた量という考え方と、双1次形式と普遍性を用いて得られるものの2つがある。これらは本質的には同じものなのだと思うが、どのように結びついているのか?
  2. テンソル積とはどういう演算なのか?
  3. テンソルには共変テンソルと反変テンソルの2種類があるが、これらは何者なのか?
  4. テンソル積の随伴性とは一体何なのか?

本稿ではまず始めの2つの疑問の答えを探ってみる。

2つの定義におけるテンソルテンソル積の関係

添字がたくさんついた量としてのテンソル

このケースでは体K上のベクトル空間を考えることが多いようなので、ここでもそうする事にする。

K上の2つのベクトル空間V, Wについて、それぞれの基底を {\bf e_1}, {\bf e_2}, \cdots, {\bf e_m}及び {\bf f_1}, {\bf f_2}, \cdots, {\bf f_n} (m, n \in \mathbb{N})とする。この時、V, Wの任意の元v, wはそれそれ v=\sum_{i=1}^m a_i{\bf e_i},\ w=\sum_{i=1}^n b_i{\bf f_i}\ (a_i, b_i \in K)というように基底を用いて表すことができる。これら2つのベクトル空間の元の間に、テンソル積と呼ばれる以下のような演算を導入することができる。

 \displaystyle{
v \otimes w = \sum_{i, j} a_i b_j{\bf e_i} \otimes {\bf f_j}
}

これは何をしているのかというと、V, Wの各基底ベクトルの間には何らの関係性もないと考えて、V, Wにおける各基底ベクトルの全ての組から新しい元が作られるような演算を規定している。そして、基底 {\bf e_i}, {\bf f_j}から生成される新たな元を {\bf e_i} \otimes {\bf f_j}と表記しているのである。この辺りの考え方は、自由群なんかと通じるものがある。

このような演算を行ったとき、V, Wの基底の組み合わせによって新しく産み出される元は、全部でmn個存在する。これらはV, Wの全ての元の間でテンソル積を計算することで得られる空間の基底となる。そのようにして得られる空間をV, Wのテンソル積と呼び、 V \otimes Wと表す。そして、 V \otimes Wの元をテンソルと呼ぶのである。

 V \otimes Wの元は、全て V \otimes Wの基底の線形結合として書き表すことができる。すなわち、 {\bf e_i} \otimes {\bf f_j}の係数を c_{ij}=a_i b_jとおくと、任意の元は \sum_{i, j} c_{ij}{\bf e_i} \otimes {\bf f_j}と表すことができる。さて、ここで登場した係数には何やら添字がたくさんついており、もともと私がテンソルだと思っていたものに近い存在のように思われる。これはどのように捉えたら良いのだろうか?

ここで、 \mathbb{R}^3上のベクトルについて考えてみて欲しい。 \mathbb{R}^3の任意のベクトルは、例えば標準基底 {\bf e_1}, {\bf e_2}, {\bf e_3}を用いて a{\bf e_1} + b{\bf e_2} + c{\bf e_3}\ (a, b, c \in \mathbb{R})と表すことができる。これを成分で書くと (a, b, c)と表すことができる。そして、このように基底ベクトルの係数を並べたもの自体を、やはりベクトルと呼んでいた。

テンソルもこれと同じで、基底の係数を並べたものをテンソルと呼んでいるのだと思われる。上の例で言えば、 \{c_{ij}\}_{i,j}テンソルと呼んでいるのである。これこそが、何だか添字がたくさんついた量としてのテンソルの正体である。

双1次形式と普遍性から導かれるテンソル

上で示したテンソルの表現方法は実用上の計算を行う上では便利であるが、表現の仕方が基底の選び方に依存してしまうという難点がある。実のところ、テンソルは基底の取り方には依存しない概念である。また、数学ではより抽象的な概念である加群に対してもテンソル積を定義することがあるが、一般の加群には基底が存在するとは限らない。そのため、基底の取り方に依存しないテンソル積の定義というのも重要である。

そのようなテンソル積の定義として、ここでは文献[3]に載っているものを紹介しようと思う。そのために、まず双1次形式の定義を示す。

右R-加群Xと左R-加群Yに対して、直積集合 X \times Yから加法群Mへの写像 X \times Y \xrightarrow{\rho} Mは、次の3つの性質をみたすとき、R上の双1次形式と呼ばれる:任意の x, x' \in X,\ y, y' \in Y r \in Rに対して、

 \displaystyle{
\begin{eqnarray}
&& \rho(x+x', y) = \rho(x,y) + \rho(x',y) \\
&& \rho(x, y+y') = \rho(x,y) + \rho(x,y') \\
&& \rho(xr, y) = \rho(x,ry)
\end{eqnarray}
}

このとき、以下の定理が成立する。

右R-加群X、左R-加群Yに対して、次の性質(*)を持つ加法群 X \otimes_R YとR上の双1次形式 \otimes : X \times Y \to X \otimes_R Yが存在する:

(*)任意のR上の双1次形式 X \times Y \xrightarrow{\rho} Mに対して、加法群の準同型 \phi : X \otimes_R Y \to Mが一意的に定まり、 \rho = \phi \cdot \otimesとなる。すなわち、次が可換図式になる(図は省略)
また、性質(*)を持つ加法群 X \otimes_R Yは、X, Yに対して、同型を無視すれば一意的に定まる。

上記定理に対して、文献[3]では以下のようにテンソル*1を定義している。

(前略)加法群 X \otimes_R Yを、右R-加群Xと左R-加群YのR上のテンサー積と呼ぶ。

さて、この定義は一体何を意味しているのだろうか?始めに答えを述べておくと、重要なポイントは以下の3つである。

  1. 加群の直積 X \times Yからテンソル X \otimes_R Yへの写像 \otimesは双1次形式を加法群の準同型に変換する写像である。
  2. 写像 \otimes自身も双1次形式であり、かつあらゆる双1次形式の中で最も自由である。
  3. 写像 \otimesテンソル X \otimes_R Yは2つセットで重要な概念であり、これらはある意味でただ一つだけ存在する。

これらを理解するためには、テンソル積の具体的な構成方法を理解する必要がある。そのために、文献[3]の証明を一部抜粋しよう。

直積集合 X \times Yを基底とした自由アーベル群を
 \displaystyle{
F = \bigoplus_{(x, y) \in X \times Y} \mathbb{Z}(x, y)
}
とし、次の形の元全体で生成された部分群を F_0とする:
 \displaystyle{
\begin{cases}
  (x+x', y) - (x, y) - (x', y) \\
  (x, y+y') - (x, y) - (x, y') \\
  (xr, y) - (x, ry)
\end{cases}\ (x, x' \in X,\ y,y' \in Y,\ r \in R)
}
このとき、剰余加法群 F/F_0 X \otimes_R Yと表し、 (x, y) \in F X \otimes_R Yにおける剰余類を x \otimes yと表す。

この中で、 F_0は自然な全射 F \to F/F_0が双1次形式になるように恣意的に構成されている。そして、その自然な全射こそが \otimesそのものなのである。すなわち、テンソル積とは自由アーベル群からの全射に対して双1次形式を満たすように制約を課したものであり、かつそれ以外の制約は一切課されていないものだと言うことができる。後者が特に重要であり、この事実こそテンソル積を唯一無二の、最も自由な双1次形式たらしめているものなのである。

例として、テンソル積以外の双1次形式とテンソル積を比較してみよう。ここでは写像 \mathrm{det}: \mathbb{R}^2 \times \mathbb{R}^2 \to \mathbb{R}を考えてみる。これが双1次形式になっていることは線形代数で学んだところであろう。しかし、この写像には例えば \mathrm{det}({\bf a}, {\bf a}) = 0\ ({\bf a} \in \mathbb{R}^2)という制約がある。一方、写像 \otimesについては、 \otimes({\bf a}, {\bf a}) = {\bf a} \otimes {\bf a}というように、新たな元が生まれるだけなのである。このように、テンソル積以外の双1次形式には一般に様々な制約が課されており、自由ではないのである。

次に、写像 \otimesと他の双1次形式の関係について詳しく見てみよう。文献[3]から引用した定理によると、任意の双1次形式 \rhoに対して、 \rho = \phi \cdot \otimesとなるような加法群の準同型 \phiがただ一つ存在する。このような性質のことを、テンソル積の普遍性と呼ぶ。 \rhoが双1次形式であることから、 x, x' \in X,\ y \in Yに対して、 \rho(x+x', y) = \rho(x, y) + \rho(x', y)が成り立つ。ここで、 \rho = \phi \cdot \otimesの関係式を適用すると、以下の式が成り立つ。

 \displaystyle{
\rho(x+x', y) = \phi \cdot \otimes(x, y) + \phi \cdot \otimes(x', y)
}

 \phiが加法群の準同型であることから、更に以下のように変形できる。

 \displaystyle{
\begin{eqnarray}
\rho(x+x', y) &=& \phi(\otimes(x, y) + \otimes(x', y)) \\
              &=& \phi(x \otimes_R y + x' \otimes_R y) \\
\end{eqnarray}
}

このように、 \rhoが持っていた双1次形式としての性質は全て写像 \otimesが引き受け、後にはただの加法群の準同型が残るのである。少々乱暴な言い方をすれば、これは双1次形式を線形写像(のようなもの)に変換していると捉えることができる。そして、このような変換の方法はただ一通りしか存在しないのである。

なお、 \rho = \phi \cdot \otimesより明らかであるが、 \rho(x, y) = \phi(x \otimes_R y)となることは実用上重要なポイントであるため、念の為ここで明示的に述べておきたいと思う。

2つの定義の関係性

以上、基底の取り方に依存しないテンソルの定義とその性質を見たわけだが、これは果たして添字がたくさんついた量としてのテンソルと整合性が取れているのだろうか?最後にその事を確認してみよう。

 v \in V, w \in Wに対して、基底に依存しない定義の方で導入した写像 \otimesを施すと、以下のようになる。

 \displaystyle{
\otimes(v, w) = \otimes \left(\sum_{i=1}^m a_i{\bf e}_i, \sum_{i=1}^n b_i{\bf f}_j \right)
}

 \otimesが双1次形式であることから、これは以下のように変形できる。

 \displaystyle{
\begin{eqnarray}
\otimes(v, w) &=& \sum_{i, j} \otimes(a_i{\bf e}_i, b_j{\bf f}_j) \\
              &=& \sum_{i, j} a_i b_j{\bf e}_i \otimes_K {\bf f}_j
\end{eqnarray}
}

これは最初に導入したテンソル積の演算結果と一致している。以上により、2つの定義の間の整合性が確認できた。

まとめ

以上、テンソル、及びテンソル積とは何なのか、そしてテンソルの2通りの定義がどのように関連しているのかについて述べた。本文中では言及できなったが、文献[2][4]なんかも参考になると思うので、興味のある方は見て頂くと良いだろう。特に、文献[2]にはテンソル積の計算例が豊富に紹介されており、参考になるだろう。

テンソルについてはまだ共変・反変の謎、及び随伴性の謎が残されているが、それらについては次回以降で取り上げたいと思う。現時点ではまだどちらも理解できていないので、これからまた勉強だ。

*1:文献[3]では「テンサー積」と記載されている。