テンソルは“難しい記号”ではなく、「入力に応じて出力を返す規則」を座標に依らず表す道具。
まず最短の定義で芯を作り、そのあと各分野で「なぜテンソルが必要か」を応用例でつなぐ。

結論

テンソルは「方向依存の規則」を持つための共通言語。

ベクトルが「その点での矢印」なら、2階テンソルは「矢印を別の矢印に写す装置」です。
だから行列で書けますが、本体は行列ではなく、座標を変えても意味が変わらない“規則(写像)”です。

流体では「面の向き → 力(応力)」や「場所の方向 → 速度の変化(速度勾配)」がテンソルになります。
材料では「応力 → ひずみ(材料の応答)」が方向依存なのでテンソルが必要です。

深層学習では“テンソル=多次元配列”という言い方が主流ですが、根っこには「添字(軸)を増やして関係を表す」という同じ発想があります。
統計では共分散行列が「方向ごとのばらつき」を表す2階テンソルで、データの形(楕円)を決めます。

ストーク

まとめると、テンソルは「方向で返事が変わる規則」たい。分野が違っても、入力と出力が違うだけで、道具は同じ。

シママ

“方向で返事が変わる”って言い方、いいわね。行列や配列の話に入る前に、芯ができる。

あるある

「テンソル=行列(または配列)」で止まって、応用に繋がらない。

流体や材料では「テンソルは行列です」と言われ、深層学習では「テンソルは多次元配列です」と言われる。
どちらも間違いではないのに、同じ言葉に見えないのが混乱の原因です。
ここではまず「写像としてのテンソル」を芯に置き、配列の話は“表現の一つ”として位置づけます。

ストーク

“テンソルは配列です”って聞いて安心した人が、応力の $\boldsymbol{\sigma}$ でまた固まる…あるあるたい。

シママ

それ、私のこと言ってる?…まあ否定できないけど。
“安心の仕方”がズレると、結局つながらないのよね。

ストーク

だから今日は「入力→出力」で統一するばい。テンソル見たら、何を入れて何が返るか。まずそこ。

本文

定義(共通)→直感→各論(流体・材料・深層学習・共分散)へ。

総論1)テンソルとは何か:最短の芯

2階テンソルを最短で言うなら、ベクトルを入力するとベクトルを返す線形な規則です。
記号では次の形。

$$\mathbf{y}=\mathbf{T}\cdot\mathbf{x}$$

座標を決めると、$\mathbf{T}$ は行列で表せます。成分表現は

$$y_i=T_{ij}x_j$$

ここで、列($j$)が入力方向、行($i$)が出力成分です。
この読み方が固定できると、応力も速度勾配も共分散も一気に読めます。

シママ

“列が入力、行が出力”って、ここで固定するのが大事なのね。行列として眺めるだけだと、毎回意味が入れ替わる感じがした。

ストーク

そうたい。$y_i=T_{ij}x_j$ を見た瞬間に、入力は $x_j$、出力は $y_i$ って決める。これが“迷子防止の杭”ばい。

チェック(最初にやる)

1) 入力は何?(どの方向・どの量?)
2) 出力は何?(どの成分の反応?)
3) 座標を回しても同じ物理?(成分は変わるが意味は同じ?)

総論2)3階以上のテンソル:添字が増えるだけ

3階以上になると見た目がごちゃつきますが、本質は「入力が増えた」だけです。
例えば3階テンソルは、ベクトル2本を入れるとベクトルが出る(多線形写像)とみなせます。
深層学習の注意機構などで出てくる多次元配列は、こうした「多重添字の量」を実装上の形(配列)で持っている、と考えると繋がります。

ストーク

“階が上がる”ってのは、入力が増えるだけたい。入力が2本になったら、添字も2つ増える。見た目は怖いけど、構造は同じ。

シママ

“入力が増えるだけ”って言い切れるのは強い。怖さが減るわね。

各論1)流体力学:テンソルは「面の向き」「場所の方向」を扱うために出る

流体でテンソルが必要になる典型は2つです。
(A)速度勾配 $\nabla\mathbf{u}$(B)応力 $\boldsymbol{\sigma}$

A) 速度勾配 $\nabla\mathbf{u}$:速度の地図

速度場 $\mathbf{u}(\mathbf{x})$ は場所で変わります。
どの方向に少し動いたとき、速度のどの成分がどう変わるかをまとめた表が

$$(\nabla\mathbf{u})_{ij}=\frac{\partial u_i}{\partial x_j}$$

です。列($j$)=「どの方向に動いたか」、行($i$)=「速度のどの成分か」。
だから $\partial u_x/\partial y$ が大きいなら、$y$方向に並んだ点で $x$速度が違う=せん断が強い、という物理に直結します。

ストーク

速度勾配は“速度の地図”たい。どっちに一歩動いたら、速度がどっちに変わるか。流体要素が伸びるか、ずれるか、全部ここに入っとる。

シママ

“地図”の比喩、好き。行=速度成分、列=移動方向、って決めれば迷子にならないわね。

代表成分

・$\partial u_x/\partial x$:$x$方向の伸び縮み(引き伸ばし/圧縮)
・$\partial u_x/\partial y$:$y$方向の並びで $x$速度が違う → せん断(ずれ)

B) 応力 $\boldsymbol{\sigma}$:面の向き→力

応力は「面の向き(法線) $\mathbf{n}$ を入れると、その面に働く力(単位面積あたり) $\mathbf{t}$ が返る」量です。

$$\mathbf{t}(\mathbf{n})=\boldsymbol{\sigma}\cdot\mathbf{n}$$

これがテンソルの形そのもの。入力=$\mathbf{n}$、出力=$\mathbf{t}$。
面の向きで力が変わるので、ベクトル1本では持てず、2階テンソルが必要になります。

シママ

応力って、面の向きを入れると力が返る。ここまで入力と出力が綺麗だと、テンソルの意味が一気に分かる。

ストーク

そうたい。しかも面の向きは無限にあるけん、全部の面に対して返事できる“装置”が必要になる。それが $\boldsymbol{\sigma}$ たい。

例題:$\mathbf{n}=(1,0,0)$ の面で $\mathbf{t}=\boldsymbol{\sigma}\cdot\mathbf{n}$ は?

$$\mathbf{t}=(\sigma_{11},\sigma_{21},\sigma_{31})$$

解釈:$x$に垂直な面では“第1列”がその面の力。

各論2)材料力学:材料の「応答」が方向依存だからテンソルになる

材料は力を加えると変形しますが、その応答は方向依存になり得ます。
ここで登場するのが、応力 $\boldsymbol{\sigma}$ とひずみ $\boldsymbol{\varepsilon}$。
どちらも2階テンソルです(面の向きや変形の向きが絡むため)。

さらに「応力→ひずみ」の関係(構成式)は、一般には4階テンソル(弾性テンソル)で書かれます。
等方材料なら係数が少なく簡約されますが、異方材料では方向依存が残るのでテンソルの出番が増えます。

ストーク

材料はもっと露骨たい。引っ張る方向を変えると、硬さが変わる材料が普通にある。
方向依存の“対応表”を持たせたら、自然にテンソルになる。

シママ

“硬さが方向で変わる”のを1本の係数で持てないから、テンソルに逃がす…というより、テンソルが自然な形なのね。

形だけ押さえる

線形弾性では、応力とひずみは次のように結ばれる(4階テンソル)。

$$\sigma_{ij}=C_{ijkl}\,\varepsilon_{kl}$$

入力=ひずみ(2階)、出力=応力(2階)。方向依存の対応表が $C_{ijkl}$(4階)として現れる。

各論3)深層学習:テンソルは「多次元配列」だが、発想は添字(軸)で関係を保つこと

深層学習(PyTorch/TensorFlow)で言うテンソルは、まず実務的には 多次元配列です。
例えば画像は $(\text{batch},\text{channel},\text{height},\text{width})$ の4次元テンソルとして扱われます。

シママ

深層学習だとテンソルって“配列”って言われるけど、ここはどう繋げるの?
物理のテンソルと同じ言葉なのが不思議。

ストーク

DLは実装の都合で“多重添字の入れ物”をテンソルって呼ぶことが多か。
でも計算の中身は、結局 $T_{ij}x_j$ みたいに添字を合わせて足す(縮約)ばやっとる。そこが共通部分たい。

・画像入力:$X\in\mathbb{R}^{B\times C\times H\times W}$(バッチ×チャネル×高さ×幅)
・全結合:$Y=XW$(行列積、実装上は2階テンソル同士の演算)
・注意機構:重みが $(B,\text{head},Q,K)$ のように複数軸を持つ

ここでの重要ポイントは、「テンソル=配列」という言い方は、数学のテンソル(座標変換での不変性)よりも、
軸(添字)を増やして関係を壊さず保持するという意味が強いことです。
ただし、演算の中身は結局、足し算・掛け算・縮約(indexの和)なので、
$y_i=T_{ij}x_j$ のテンソル的な計算に自然に戻ります。

縮約(indexを消す)という共通操作

深層学習の「行列積」「内積」「畳み込み」も、見方としては“添字を合わせて足す(縮約)”です。
例えば行列積は

$$y_i=W_{ij}x_j$$

で、$j$ で足し合わせる(縮約)から、入力の軸が1つ消えて出力が出ます。
テンソルの計算に慣れると、実装の shape を追うのも急に得意になります。

各論4)共分散行列:2階テンソルとして「データの形(楕円)」を持つ

統計での共分散行列 $\Sigma$ は、2階テンソルの典型例です。
データ $\mathbf{x}$ の平均 $\boldsymbol{\mu}$ を使って

$$\Sigma=\mathrm{E}\left[(\mathbf{x}-\boldsymbol{\mu})(\mathbf{x}-\boldsymbol{\mu})^T\right]$$

と定義されます。これは「方向ごとのばらつき」と「方向間の結びつき(相関)」をまとめて持つ量です。
方向 $\mathbf{v}$ に沿った分散は

$$\mathrm{Var}(\mathbf{v}^T\mathbf{x})=\mathbf{v}^T\Sigma\,\mathbf{v}$$

で与えられます。ここがテンソル的で、入力=方向 $\mathbf{v}$、出力=その方向のばらつきの大きさ。
共分散行列は「データ雲がどんな楕円体か」を決める装置だと思うと、一気に直感になります。

ストーク

共分散がテンソルって言われると驚く人多かけど、やっとることは同じたい。
方向 $\mathbf{v}$ を入れたら、その方向の揺れの大きさが返る。方向依存の“返事”たいね。

シママ

なるほど…。楕円体の“傾き”まで持てるのが行列の強さで、それが方向依存の情報なのね。
ここも入力と出力で見れば一貫してる。

例(感覚)

もし $\Sigma$ が対角なら、軸ごとの分散が独立で、楕円は座標軸に沿う。
非対角成分があると、楕円が傾く(軸が回転する)。この「傾き」を持てるのが行列(2階テンソル)の強さ。

整理:同じテンソルでも「入力と出力」が違うだけ

流体:$\mathbf{n}\mapsto \mathbf{t}$(面の向き→力)、$\Delta\mathbf{x}\mapsto \Delta\mathbf{u}$(位置の方向→速度変化)

材料:$\boldsymbol{\varepsilon}\mapsto \boldsymbol{\sigma}$(ひずみ→応力、方向依存の応答)

深層学習:多軸データの縮約・写像(shapeを保ちながら変換する計算)

共分散:$\mathbf{v}\mapsto \mathbf{v}^T\Sigma\mathbf{v}$(方向→ばらつきの大きさ)

よくあるつまずき(3つ以上)

つまずき1:「テンソル=行列 or 配列」で終わる

本体は「入力→出力」の規則。行列/配列は表現。

つまずき2:行と列(添字)の意味が固定できない

$y_i=T_{ij}x_j$ で、列=入力方向、行=出力成分、を固定。

つまずき3:深層学習のテンソルと物理のテンソルが別物に見える

DLは「多重添字の量」を配列で持つ実装寄りの言い方。計算は縮約で結局テンソル演算に戻る。

つまずき4:共分散がなぜ“方向依存”か分からない

$\mathbf{v}^T\Sigma\mathbf{v}$ が方向ごとの分散。楕円体の軸と傾きを決める。

テンプレ

テンソルを“道具”として使うための型。

(1)テンソルの形を確認

$$y_i=T_{ij}x_j\ (\text{2階}),\quad \sigma_{ij}=C_{ijkl}\varepsilon_{kl}\ (\text{4階})$$

(2)入力と出力を言葉にする

入力=何の方向/量? 出力=何の成分/反応?

(3)成分の読み方を固定

列(後ろの添字)=入力、行(前の添字)=出力。

(4)必要なら“縮約”として眺める

$$y_i=\sum_j T_{ij}x_j$$

深層学習の行列積も同じ形。

落とし穴

応用例を「別物」として覚える。

落とし穴は一つ。分野ごとにテンソルを別物として暗記することです。
入力→出力の形に戻して、「この分野では何が入力で何が出力か」を言えれば、
応力も速度勾配も共分散も、同じ道具として扱えます。

シママ

結局、“別物として暗記”すると破綻するのよね…。入力と出力で同じ箱に戻すのが正解か。

ストーク

そうたい。応力も共分散も、見た目が違うだけで「方向で返事が変わる」って同じ性格しとるけんね。

締め

テンソルは“方向依存”を扱う共通言語。

ストーク

結局、テンソルは「方向で応答が変わる」問題の共通語彙たい。
分野が変わっても、入力と出力が変わるだけで、道具は同じばい。

シママ

うん、納得。流体の応力も、材料の構成式も、共分散も、深層学習の多軸データも、
「入力→出力」で見ると同じ枠に入る。これなら迷子にならない。

ストーク

よかね。テンソルが“道具”に見えたら勝ちたい。あとは場数ばい。

シママ

“場数”って言い方が雑…。でも今日は分かりやすかった。ありがとう。