【連載】テンソル特講【part1】
今回から始めた連載「テンソル特講」。
筆者自身がテンソルで死ぬほど苦しんだ経験を次につなげるために、つらつら書き残そうというものです。どうぞゆるく見守ってください。
テンソルの定義?
テンソルとして最初に出会ったのは、きっと慣性モーメントとか、応力テンソルとかそこら辺だと思う。添え字がぐちゃーとついてて、「行列の成分を書きだしただけん!」と思うのに、「テンソルと行列は違う!」と先生は言う。「訳分からん!」という感じだった。それでテンソルについて勉強すると、本によって定義がバラバラで、「添え字の個数が 0 ならスカラー、1 ならベクトル、一般に n だと n 階テンソル」「変換側で定義される」「多重線形写像!」など、どうみても同値に見えない…。途方に暮れながらしぶしぶ学んだものです(笑)。
学んでいけばわかるのですが、定義には 2 つの流派みたいなのがあって、「変換側によって定義する(物理流)」と「多重線形写像として定義する(数学流)」があるのです。計算するには前者だけで十分ですが、最終的にはどちらも知った方がよいこと、後者から前者は簡単に導けることから、この連載では後者について語っていきます。
ベクトルの定義
読者には申し訳ないが、まずベクトルについて詳しく語りたい。個人的にこれがテンソルを定義するモチベーションを得るのは不可欠だと思う。といっても簡単に述べるにとどめるので、詳しくは線形代数の教科書を参照されたい。
まあ、なにが言いたいかというと、ベクトルの定義はこれだけだってこと。矢印とか正味どーでもいい。とにかく上の定義に当てはまったら、矢印と対応がつくのでベクトルとして扱えるのだ。下のすべて、ベクトル空間である。
高校数学では1)しかやらないが、実はいろんなベクトル空間があるのだ。
行列の一般化としてのテンソル
さて、ここで本題に戻ってテンソルとはなんなのか話そうと思う。それは数ベクトル空間における行列を、他のベクトル空間でも扱えるように一般化したものである。数ベクトル空間における行列は、数ベクトルと数ベクトルとの間の線形写像で定義される。それに相当するものとして、関数空間における関数から関数の線形写像(演算子)だとか、演算子空間における演算子から演算子への線形写像みたいなのも定義できる。これらをひっくるめてテンソルと呼ぶのだ。つまり行列とテンソルの関係とは、数ベクトル空間におけるテンソルが行列というものである。
初等的な物理ではベクトル空間としてもっぱら数ベクトル空間ばかり使うので、テンソル=行列と思っても気にならないが、より進んだ物理では数ベクトル空間以外のベクトル空間の方がしばしば都合が良い。(量子力学なら関数空間。相対論なら演算子空間。)行列で表現していた物理量は、数ベクトル空間以外に移ると行列でなくそのときのベクトル空間に応じた表現をせねばならない。
通常テンソルは、一般のベクトル空間で定義される。そうすれば、ベクトル空間として数ベクトル空間を採用しようが、関数空間を採用しようが、問題なく使えるからである。
テンソルの構成
それでは、どうすれば一般のベクトル空間においてテンソルを構成できるだろうか?ヒントは数ベクトル空間にある。行列はよく知られているように、縦数ベクトル×横数ベクトルで表される。
上式を一般化して、一般のベクトル空間に適用すればいいのではないだろうか?この方針に従えば、縦ベクトルを元とする数ベクトル空間における「横ベクトル」に相当するものを一般のベクトル空間においてみいだせばよい。
数ベクトル空間(縦ベクトルを元とする)における横ベクトルとは、何を意味するのであろうか?言うまでもなく、それは元(縦ベクトル)から数への写像である。(つまり横ベクトルを縦ベクトルに作用させると数が得られる。)
これに着目すれば、一般のベクトル空間における“横ベクトル”は、元から数への線形写像で定義すればよいとわかる。これを通常双対ベクトルと呼ぶ。
…疲れた今日はここまで!