テンソル
テンソル（, ）とは、線形的な量または線形的な幾何概念を一般化したもので、基底を選べば、多次元の配列として表現できるようなものである。しかし、テンソル自身は、特定の座標系によらないで定まる対象である。個々のテンソルについて、対応する量を記述するのに必要な配列の添字の組の数は、そのテンソルの階数とよばれる。
例えば、質量や温度などのスカラー量は階数0のテンソルだと理解される。同様にして力や運動量などのベクトル的な量は階数1のテンソルであり、力や加速度ベクトルの間の異方的な関係などをあらわす線型変換は階数2のテンソルで表される。
物理学や工学においてしばしば「テンソル」と呼ばれているものは、実際には位置や時刻を引数としテンソル量を返す関数である「テンソル場」であることに注意しなければならない。いずれにせよテンソル場の理解のためにはテンソルそのものの概念の理解が不可欠である。
テンソルの定義・表示と取り扱いには、いくつかの同等な方法がある。実際にそれらが同じことを指していることを納得するには、多少の慣れが必要である。
古典的なアプローチではテンソルは多次元の配列で、階数0のスカラーや階数1のベクトル、階数2の行列などの階数nへの一般化を与えているものと見なされる。テンソルの「成分」は配列の要素の値によって与えられることになる。この考えはテンソル場として一般化され、テンソルの成分として関数やその微分が取り扱われるようになる。
テンソルとよばれるためには配列は基準にしている座標系がかわるときには一定の変換を受けなければならない。この変換はベクトルの要素に対する関係を一般化したものであり、ベクトルの場合と同様に表している量が本質的には表示のための座標系の選択によらないものであることを示している。
物理学における通常のテンソルの定義の仕方は、特定の規則に従って成分が変換されるような対象という言い方を用いるもので、との概念がもちいられる。
現代的な（成分を使わない）アプローチではテンソルはまず抽象的に多重線形性の概念にもとづく数学的対象として定義される。よく知られているような諸性質が線型写像としての（あるいはもっと一般的な部分についての）定義から導かれる。テンソルの操作規則は線形代数から多重線形代数への拡張の中で自然に現れる。
数学における普通のやり方では、ある種のベクトル空間を用いて、必要なときに基底を考えるまでは特に座標系を指定しないようにされる。例えば共変ベクトルは一次微分形式として説明できるし、あるいは反変ベクトル空間の双対空間の元として説明することもできる。
現代流の成分によらないベクトルの概念によって、成分表示にもとづく伝統的な（しかし、初学者にベクトルの概念がどんなものかを教えるには有効な）取り扱いが置き換えられるように、この取り扱いは成分にもとづく取り扱いをより高度な考え方によって置き換えることを目的としている。「テンソルはテンソル空間の元のことなのだ」という標語を掲げることもできるだろうが、高階のテンソルに対して幾何的な解釈をどう与えるかという難しさもあって、成分表示によらないアプローチが支配的になったというわけではない。
物理学者や技術者たちはベクトルやテンソルが（勝手に選べてしまうような）座標系に左右されない概念としての重要性を認識した。同様に、数学者たちは座標表示することで簡単に導けるようなテンソルの関係があることを見いだしている。
テンソルを多次元配列として定義するやり方では、内在的な幾何学的対象であることから期待されるべき性質である基底の取り方に依らないことが、定義から明らかでないという欠点がある。テンソルの変換法則が実際に基底の取り方に依らないことは証明できることではあるが、しばしばより内在的な定義が取り上げられる。その一つが、テンソルを多重線型写像として定義することである。これによれば、-型テンソル は函数
で、各引数に関して線型であるようなものとして定義される。ここで は有限次元ベクトル空間で、 はその双対ベクトルからなる双対空間である。
-型の多重線型写像 を の基底 とその における標準的な双対基底 に対して施せば、
によりその成分として -次元配列が得られる。基底の取り方を変えれば異なる成分が得られるが、 は各引数に関して線型であるから、成分は多次元配列としてのテンソルの変換法則を満足する。したがって、 の成分の成す多次元配列はその意味において確かにテンソルを成していることが分かる。さらに言えば、そのような性質を持つ多次元配列は必ず多重線型写像 の成分として実現できる。そのような事情により、多重線型写像をテンソルに基づく内在的対象を与えるものとして見ることができる。
テンソルを多重線型写像と見る立場では、ベクトル空間 を の双対空間上の線型汎函数全体の成す空間（つまり の と同一視するのが普通である。 からその二重双対への自然な線型写像が常に、 のベクトルを「 に属する線型形式を与えられたベクトルにおいて評価した値へ写す写像」と看做すことによって与えられる。 が有限次元ならばこの線型写像は同型であり、しばしば をその二重双対と同一視することは有用である。
数学的応用に際しては、より抽象的やり方の方が有効なこともある。これは普遍性を通じて定義できるベクトル空間のテンソル積の元としてテンソルを定義することによってなされる。この文脈では、-型テンソルはベクトル空間のテンソル積の元 
として定義される。
一般に、 が の基底を成し、 が の基底を成すとき、テンソル積空間 は自然な基底 を持つ。テンソル の成分は、 の基底 とその双対基底 から得られる基底に関するテンソルの係数
に等しい。テンソル積の性質を用いて、この成分が -型テンソルの変換則を満たすことが示せる。さらに言えば、テンソル積の普遍性により、今定義した意味でのテンソルと多重線型写像として定義した意味でのテンソルが一対一対応することが言える。
テンソルは極めて一般に（例えば任意の環上の加群まで含めて）定義することができる。一つの原理として「『テンソル』とは単に任意のテンソル積空間の元である」と定めることはできるが、数学の文献では「テンソル」とは上記のように一つの空間 とその双対から得られるテンソル積（テンソル空間）の元のために用いるのが普通である。
テンソルは、物理学や工学において重要な位置を占めている。例えば、拡散テンソル画像では、さまざまな方向への臓器の水に対する微分透過率を表すテンソル量を用いて、脳の走査像が構成される。おそらく工学でテンソルが最も活用されているのは応力テンソルとひずみテンソルだろう。これらは2階のテンソルで、4階のテンソルである弾性率テンソルによって一般の線型的な素材に関連づけられている。
とくに3次元の物体中の応力を表す2階のテンソルは3次の正方行列によって成分を表示することができる。物体の中の立方体状の無限小体積要素について3方向の面それぞれ（向かい合う面どうしは十分近いので同一視される）に一定の力がかかっていて、力は3つの方向の要素を持っている。したがって3×3、つまり9個の成分によってこの立方体状無限小体積要素（最終的には点と見なされる）における応力が記述される。物体の境界内にはこの応力が（場所によって異なった値をとりながら）分布しており2階のテンソル（場）が考えられることになる。
テンソルは多次元の配列によって成分表示できるのは確かだが、テンソルの理論を構築することの意義はここの量がテンソルであるということによって具体的に添字づけられた成分を指定しないでも何が導かれるのかを説明することである。とくに座標変換によってテンソル（場）は決まったふるまいを見せる。
d次元空間に二種類の座標系 formula_5 が与えられていて、それら間の関係が直交行列 formula_6 をもちいて
と表されるとする。このとき2階の共変テンソルTが formula_8 座標系では formula_9 と表示され、 formula_10 座標系では formula_11 と表示されているとすれば、これらの間に変換則
が成立している。
抽象的なテンソルの理論は今では多重線型代数と呼ばれる線型代数の一分野になっている。
テンソルという言葉は、1846年にウィリアム・ローワン・ハミルトンによって特定の種類の代数系(やがてクリフォード代数として知られるようになる)におけるノルム操作を記述するために導入された。現在の意味で使われるようになったのは1899年のヴォルデマール・フォークトからである。テンソルの記法は1890年ごろにグレゴリオ・リッチ＝クルバストロによって絶対微分という名の下に発展させられ、トゥーリオ・レヴィ＝チヴィタによる1900年の古典的な同名の著作によって多くの数学者たちに知られるようになった。
20世紀に入ってからはこの分野はテンソル解析として知られるようになり、1915年頃のアルベルト・アインシュタインによる一般相対性理論の導入によって広く知られるようになった。一般相対性理論は完全にテンソルの言葉を用いて定式化される。アインシュタインは苦労の末にマルセル・グロスマンから （あるいはレヴィ＝チビタ自身から） テンソルの理論を学んだとされている。テンソルは連続体力学など他の分野でも使われている。
テンソルは添字の組に対して対応する成分の値を与えるような関数によって表されていると考えることができる。それぞれの添字について何通りの自由度があるかという数は次元とよばれることがある。例えば階数3で次元2、5、7のテンソルを考えることにすると、添字の組は<1, 1, 1> から <2, 5, 7>まで動き、70通りの添字の組があることになる。
テンソル場は多様体の各点にテンソルを与えたものである。従って次元が <2, 5, 7> のベクトル場を考えるときは、上の例のようにして単に70個の値を考える代わりに空間内のそれぞれの点が70個の値を付与されることになる。言い方を変えれば、問題にしている空間を定義域としてテンソルに値を持つ関数を考えることになる。
線形でないような関係もあるが、たいていの関係は微分可能性を満たしており、局所的には多重線形写像を足しあわせたもので近似できる。従って物体の解析に際してたいていの量はテンソルとして表示すると取り扱いが便利になる。
簡単な例として、水の上の船を考えることにする。目標は力が与えられたときの船の反応を記述することである。力はベクトルで表され、船の反応は速度の変化（加速度）ベクトルとして現れる。船の形状による影響から一般には加速度の方向は力の方向とは異なったものになる。しかし、古典力学的には力と加速度の関係は一次変換で表されることがわかる。そのような関係は (1,1) 型のテンソルで説明される（つまり、このテンソルによってベクトルが別のベクトルに変換される）。テンソルは行列として表示することもでき、この行列をベクトルにかけることで線型変換が表現される。座標系の取り替えによってベクトルを表示する成分が変化するように、テンソルを表現する行列の成分も座標系の変換に応じて変化する。
工学では剛体や流体内の応力がテンソルによって説明される。実際のところ「テンソル」という言葉はラテン語の「延びる物」、つまり応力を発生するもの、という意味の言葉からきている。物体内の特定の面要素に特に注目して考えれば、面の一方の側にある物質が反対側に対して力をおよぼしていると考えられる。一般にはこの力は面に垂直な向きに働いてはおらず、面の向きに線形的に依存して決まるとしかいえない。したがってこれは(2,0)型のテンソル（正確に言えば、応力は位置によってかわるので、(2,0)型のテンソル場）によって記述される。
幾何におけるテンソルでは二次形式や曲率テンソルが有名である。物理学におけるテンソルにはエネルギー・運動量テンソル、慣性能率テンソルや極分解テンソルがある。
幾何学的な量や物理学的な量はその記述について内在的な自由度を考えることによって分類できる。圧力、質量、温度などのスカラー量はただ一つの数によって指定できる。力のようなベクトル量を表示するためには数のリストを用いる必要があるし、二次形式のような量は複数の添字系によって並べられる数の配列を用いて表示される。これらの量はテンソルとして考えなければとらえることができない。
実際のところテンソルの概念はとても一般的なものであり、上の例全てに当てはまっている。つまり、スカラーやベクトルはテンソルの特別なものと見なすことができる。スカラーをベクトルと区別し、これら二つをより一般のテンソルから区別しているのは、その要素の表現にもちいられる配列の添字の組の数である。この数はテンソルの階数（または位数）とよばれる。したがってスカラーは階数 0（添字は必要ない）のテンソルであり、ベクトルは階数 1 のテンソルだということになる。
テンソルの別の例は一般相対性理論におけるリーマン曲率テンソルであり、次元<4, 4, 4, 4>（空間3次元と時間1次元で合わせて4次元）の4階テンソルとして表現される。これは256（ = 4 × 4 × 4 × 4）の成分を持っているが、実際に独立な要素の数は20であり、表記を大きく単純化することができる。
必ずしも同じベクトル空間でなくともテンソル積をとることができて、そのようなより一般のテンソル積の元のことも「テンソル」と呼ぶことがある。たとえばテンソル積空間 の元はこのようなより一般の意味における二階「テンソル」であり、同様に -階テンソルを 個の異なるベクトル空間のテンソル積の元として定義できる。通常の -型テンソルは、このより一般の意味でも -階テンソルになっている。
テンソルの概念は様々な仕方で（台となる空間が）無限次元の場合に対して一般化することができる。例えばそのひとつは、ヒルベルト空間に対するを通じて定義することである。また非線型解析においてよく用いられるテンソルの概念の一般化として、有限次元空間とその代数的双対上の多重線型写像を考える代わりに、無限次元バナッハ空間とその連続的双対上の多重線型写像で置き換えたものが考えられる。このようなテンソルは自然にバナッハ多様体上にあると考えられる。
テンソル場が密度を持っている状況を考えることもできる。密度 "r" を持つテンソルは、座標変換に関して通常のテンソルのような振る舞いにさらに変換関数のヤコビアンの判別式の"r"乗がかけられる。この状況はベクトル束を考えることによって説明できる。接束の判別式束は直線束だが、これの"r"乗を他のベクトル束にテンソル積することでねじりを表現できる。