Phys and Tips

物理学やその他もろもろのTipsを紹介します。

計量テンソルを高校(+大学初年度)の数学だけを使って自然に導く

はじめに

前回の記事(cos を使った内積と成分を使った内積は同じか? - Phys and Tips)ではベクトルの内積について、「$\cos$ の内積」と「成分の内積」が等しい、つまり\[
\begin{align}
\U \cdot \V = \abs{\U} \abs{\V} \cos \theta = \sum_i U_i V_i
\end{align}
\]が成り立つことを見てきた。また、成分の内積は、行列を使って\[
\begin{align}
\U \cdot \V &= \U^T \V
\nonumber
\\
&= \left(
\begin{array}{cccc}
U_1 & U_2 & \cdots & U_n
\end{array}
\right)
\left(
\begin{array}{c}
V_1
\\
V_2
\\
\vdots
\\
V_n
\end{array}
\right)
\label{eq:inner_product_matrix}
\end{align}
\]とも表せる。

しかし、これらの内積が等しいことを示すために基底の正規直交性\[
\begin{align}
\e_i \cdot \e_j = \left\{
\begin{array}{cc}
1 & (i = j)
\\
0 & (i \neq j)
\end{array}
\right.
\label{eq:orthonormal_basis}
\end{align}
\]を利用したため、基底の長さが $1$ でなかったり他の基底と直交していないときには成り立たなさそうである。

この記事では、やはり $2$ 次元ベクトルの、基底の長さが $1$ でなかったり斜めに交わっているような場合(以後まとめて「斜交座標」と呼ぶ)の内積を考えていく。$\cos$ の内積から出発した場合と、成分の内積から出発した場合でどのようになるかを見ていこう。そして、その過程で自然と「計量テンソル」なるものに出くわすことがわかることだろう。計量テンソルは相対論などでも出てくる概念だが、何の事はない、高校数学程度の計算と行列の知識で理解できる話だ*1

$\cos$ の内積から成分の内積を「導く」

まずは $\cos$ の内積に基づいて、斜交座標での成分の内積がどのようになるかを見ていく。正規直交座標では成り立っていた式\eqref{eq:orthonormal_basis}だが、ここではそれを仮定しない。代わりに、基底が斜めに交わり、長さも $1$ でない下図のような状況を考える。

ちょうど、基底が角度 $\phi$ で斜めに交わっており、基底の長さがそれぞれ $a$、$b$ であるような状況だ。これを $\cos$ の内積で表すと、\[
\begin{align}
\e'_1 \cdot \e'_1 &= a^2
\\
\e'_2 \cdot \e'_2 &= b^2
\\
\e'_1 \cdot \e'_2 &= a b \cos \phi
\end{align}
\]となる。直交座標のときと区別するため、記号をちょっと変えてみた。もし $a = b = 1$ と $\phi = \pi / 2$ を代入すればこれは正規直交基底を表すので、こちらの表現のほうが適用範囲が広い。

ここでは、基底は空間のどこでも「動かない」――つまり、向きも大きさも固定されているとしよう。なぜこんなことを言うかというと、極座標など、空間上の考えている点に応じて基底が変わるような場合もあるからだ。今回は、そういった極座標などの少し「変な」座標系は議論から除外すると言いたいわけだ。

では、内積の計算をしてみよう。$\cos$ の内積の定義通りだと、\[
\begin{align}
\U \cdot \V = \abs{\U} \abs{\V} \cos \theta
\end{align}
\]となる。座標系がどう変わろうと、「ベクトルの長さ」や「ふたつのベクトルのなす角」といった図形的な性質は変わらないため、この定義はどのような座標系でも使えるのだ。考えてみれば当たり前で、デカルト座標を極座標に変換する際も、ベクトルの長さやなす角は変わらないという仮定のもとに座標変換を考えていた。

さて、本来の目的は $\cos$ の内積から成分の内積の表式を得ることだった。ベクトルの成分表示とは、ベクトルを基底で分解したときの展開系数を並べて書いたものだったので、前回と同じようにベクトルを基底で分解することを考えよう。

ベクトルの成分表示は、\[
\begin{align}
\U = U'_1 \e'_1 + U'_2 \e'_2
= \left(
\begin{array}{c}
U'_1
\\
U'_2
\end{array}
\right)
\label{eq:vector_resolution}
\end{align}
\]とできる。ここで注意すべきことは、例えば $(U'_1 \ 0)^T$ のようなベクトルがあったとき、その長さは $U'_1$ ではないことだ。きちんとベクトルの分解に立ち戻ると\[
\begin{align*}
\left(
\begin{array}{c}
U'_1
\\
0
\end{array}
\right)
=
U'_1 \e'_1
\end{align*}
\]なので、このベクトルの長さは\[
\begin{align}
\abs{U'_1 \e'_1} &= \sqrt{U'_1 \e'_1 \cdot U'_1 \e'_1}
\nonumber
\\
&= \sqrt{U'^2_1 a^2}
\nonumber
\\
&= a U'_1
\label{eq:length_cos_U1}
\end{align}
\]と、ちょうど基底の分の補正が必要なことがわかる。

反対に考えると、ベクトルの長さはどんな基底で表しても同じであるはずなので、基底の長さ $a$ が増えたときには成分の値 $U'_1$ がその分減らなければならないということだ。このように、ベクトルの成分は使っている基底によって変化しうるということに注意しなければならない*2。この話を図でまとめると以下のようになる。成分は $(U'_1 \ U'_2)^T$ だが、それぞれの軸に射影したときの長さは $a U'_1$、$b U'_2$ となっている。

では、前回と同じように、ベクトルを基底で展開したものを掛けあわせて、成分の内積を考えてみよう。\[
\begin{align}
\U \cdot \V &= \left( U'_1 \e'_1 + U'_2 \e'_2 \right) \cdot \left( V'_1 \e'_1 + V'_2 \e'_2 \right)
\nonumber
\\
&= U'_1 V'_1 \e'_1 \cdot \e'_1 + U'_1 V'_2 \e'_1 \cdot \e'_2 + U'_2 V'_1 \e'_2 \cdot \e'_1 + U'_2 V'_2 \e'_2 \cdot \e'_2
\label{eq:general_inner_product_prime_transformed}
\end{align}
\]少し恣意的な式を載せているのに気づいただろうか? $\e'_1 \cdot \e'_2$ の項と $\e'_2 \cdot \e'_1$ の項をまとめずに書いておいた。正規直交基底のときに予感したように、面倒そうな項はこの場合消えてくれない。しかし、この式は案外簡単にまとまる(そのために恣意的な式を書いておいた)。ちょっとした発想の飛躍が必要だが\[
\begin{align}
\U \cdot \V &=
\left(
\begin{array}{cc}
U'_1 & U'_2
\end{array}
\right)
\left(
\begin{array}{cc}
\e'_1 \cdot \e'_1 & \e'_1 \cdot \e'_2
\\
\e'_2 \cdot \e'_1 & \e'_2 \cdot \e'_2
\end{array}
\right)
\left(
\begin{array}{c}
V'_1
\\
V'_2
\end{array}
\right)
\label{eq:general_inner_product_prime_matrix}
\end{align}
\]と表せるのだ。よくわからない場合は、式\eqref{eq:general_inner_product_prime_matrix}を展開して式\eqref{eq:general_inner_product_prime_transformed}と一致することを確かめてみるといい。流れがつかめるはずだ。

さて、この式\eqref{eq:general_inner_product_prime_matrix}は面白い。先ほどみた、斜交座標の基底ベクトルの内積の性質を考慮に入れると、\[
\begin{align}
\U \cdot \V =
\left(
\begin{array}{cc}
U'_1 & U'_2
\end{array}
\right)
\left(
\begin{array}{cc}
a^2 & a b \cos\phi
\\
a b \cos \phi & b^2
\end{array}
\right)
\left(
\begin{array}{c}
V'_1
\\
V'_2
\end{array}
\right)
\end{align}
\]である。これが斜交座標のときの成分の内積の式である。

計量テンソル

斜交座標における成分の内積の表式が求まったように見える。が、なぜか真ん中に $2 \times 2$ 行列が出てきてしまった。この表式は本当に正しいのだろうか? それを確認するために、この式に正規直交基底の条件を入れてみる。先ほどのように、$a = b = 1$、$\phi = \pi /2$ とするのだ。すると\[
\begin{align}
\U \cdot \V =
\left(
\begin{array}{cc}
U_1 & U_2
\end{array}
\right)
\left(
\begin{array}{cc}
1 & 0
\\
0 & 1
\end{array}
\right)
\left(
\begin{array}{c}
V_1
\\
V_2
\end{array}
\right)
=
\left(
\begin{array}{cc}
U_1 & U_2
\end{array}
\right)
\left(
\begin{array}{c}
V_1
\\
V_2
\end{array}
\right)
\end{align}
\]となり、式\eqref{eq:inner_product_matrix}が自然に導かれる。つまり、今まで内積は行ベクトルと列ベクトルの掛算だと思い込んでいたが、真ん中に行列がはさまっていたということだ。直交座標のときにはその行列が単位行列だったため意識しなくて済んでいたに過ぎない。

このとき真ん中にはさまれている $2 \times 2$ の対称行列(一般に $n$ 次元では $n \times n$ 対称行列となる)のことを計量テンソル(metric tensor)と呼び、だいたいの場合記号 $g$ で表す。テンソルというのは耳慣れない言葉かもしれないが、ベクトルを拡張した概念のことをさす。

この定義を使えば、先ほど注意点として挙げた $(U'_1 \ 0)^T$ のベクトルの長さも\[
\begin{align}
\abs{\left(
\begin{array}{c}
U'_1
\\
0
\end{array}
\right)}
&= \sqrt{\left(
\begin{array}{cc}
U'_1 & 0
\end{array}
\right)
\left(
\begin{array}{cc}
a^2 & ab \cos \phi
\\
ab \cos \phi & b^2
\end{array}
\right)
\left(
\begin{array}{c}
U'_1
\\
0
\end{array}
\right)}
\nonumber
\\
&= a U'_1
\label{eq:length_component_U1}
\end{align}
\]と、きちんと計算できる。

さらに言うと、先程は隠していたのだが、基底は成分で表すとその長さに関係なく $\e_1 = (1 \ 0)^T$ などとなる*3。基底の長さはどこに記録されているかというと、計量テンソルである。成分の内積で $\sqrt{\e_1 \cdot \e_1}$ を計算すると、きちんと $a$ になってくれる。また、 $\e_1 \cdot \e_2 = ab \cos \phi$ も、成分の内積できちんと「再現」できる。

まとめると、斜交座標では成分の内積は\[
\begin{align}
\U \cdot \V =
\left(
\begin{array}{cc}
U'_1 & U'_2
\end{array}
\right)
g
\left(
\begin{array}{c}
V'_1
\\
V'_2
\end{array}
\right)
\end{align}
\]と書け、計量テンソルは\[
\begin{align}
g =
\left(
\begin{array}{cc}
\e'_1 \cdot \e'_1 & \e'_1 \cdot \e'_2
\\
\e'_2 \cdot \e'_1 & \e'_2 \cdot \e'_2
\end{array}
\right)
\end{align}
\]と表せることがわかった。

基底がどのような角度で交わっていてどのような長さを持っているかという情報はこの計量テンソルにすべて収納されている。そういうわけで、使っている基底が正規直交基底でなくてもこの式で内積が計算できるのである。

成分の内積を使って $\cos$ の内積を「導く」

これまでで、 $\cos$ の内積を元にして成分の内積(と計量テンソルを)導いた。では今度は逆に成分の内積だけを使って $\cos$ の内積を導けるか見てみよう。われわれの今までの計算が正しければ到達できることは明らかだが、内積の定義が正しいことの確認も兼ねて議論してみることにしよう。

正規直交基底のときと同じように、下のような図を考える。このときでも、$\cos$ の内積は変わらず $\abs{\U} \abs{\V} \cos(\beta - \alpha)$ となるのだった。

またここでおもむろに $\cos(\beta - \alpha) = \cos \beta \cos \alpha + \sin \beta \sin \alpha$ を考えたくなるわけだが、この場合 $\cos \alpha$ などはどう考えられるだろうか? そこで、ベクトル $\U$ のみに着目した図も用意した。再び、成分は $(U'_1 \ U'_2)^T$ で書けたとしてもそれぞれの座標軸に射影したときの長さはそれぞれ $a U'_1$、$b U'_2$ になることに注意しよう(式\eqref{eq:length_cos_U1}や式\eqref{eq:length_component_U1}を思い出そう)。

図から、\[
\begin{align}
\cos \alpha &= \frac{a U'_1 + b U'_2 \cos \phi}{\abs{\U}}
\\
\sin \alpha &= \frac{b U'_2 \sin \phi}{\abs{\U}}
\end{align}
\]となることがわかる。この式も正規直交基底である場合の式を含んでいる。前の記事ではさらりと流した部分も、裏ではこのような式があるのである(別に考える必要はないけど)。

またこれは当然 $\V$ に関しても成り立つ。したがって、\[
\begin{align}
\cos(\beta - \alpha) &= \cos \beta \cos \alpha + \sin \beta \sin \alpha
\nonumber
\\
&= \frac{a V'_1 + b V'_2 \cos \phi}{\abs{\V}}
\cdot
\frac{a U'_1 + b U'_2 \cos \phi}{\abs{\U}}
+
\frac{b V'_2 \sin \phi}{\abs{\V}}
\cdot
\frac{b U'_2 \sin \phi}{\abs{\U}}
\nonumber
\\
&= \frac{1}{\abs{\U} \abs{\V}} \left(
a^2 U'_1 V'_1 + ab U'_1 V'_2 \cos \phi + ab U'_2 V'_1 \cos \phi + b^2 U'_2 V'_2
\right)
\nonumber
\\
&= \frac{1}{\abs{\U} \abs{\V}} \left(
\begin{array}{cc}
U'_1 & U'_2
\end{array}
\right)
\left(
\begin{array}{cc}
a^2 & ab \cos \phi
\\
ab \cos \phi & b^2
\end{array}
\right)
\left(
\begin{array}{c}
V'_1
\\
V'_2
\end{array}
\right)
\nonumber
\\
&= \frac{\U \cdot \V}{\abs{\U} \abs{\V}}
\end{align}
\]と計算できる。この計算は感動するのでぜひ自分で手を動かして体験してみてほしい。個人的には、こういったはじめどこに着地するかわからないような込み入った式が美しくまとまったときに感動をおぼえる。式を美しくまとめてはじめて見えてくることも多い。

さて、もう書く必要もないかもしれないが、最後の式を変形することによって、\[
\begin{align}
\U \cdot \V = \abs{\U} \abs{\V} \cos(\beta - \alpha)
\nonumber
\end{align}
\]が成分の内積を用いて言えた。

まとめ

この記事では、

  • ベクトルの長さやなす角は座標系を変えても一定に保たれる
  • $\cos$ の内積は斜交座標でも成り立つ
  • ベクトルの成分は使っている基底(座標系)によって変わる
  • 成分の内積を斜交座標で計算するためには計量テンソルが必要になる

ということを見た。

最初の2つのポイントと次の2つのポイントはそれぞれグループになっている。$\cos$ の内積が斜交座標でもそのままなのは、ベクトルの長さやなす角という座標系によらないものだけで構成されているからだ。対して、成分の内積が座標系によって変わるのは、成分が基底によっているからで、どのような性質をもった基底を使っているかという情報が詰め込まれているものが計量テンソルだったというわけだ。

計量テンソルが相対論でよく出てくるのも、あれが空間(基底)の変化を記述しようとする理論だからだ*4。相対論に限らず、有限変形理論や統計学にも似たような(もしくはまったく同じ)概念が出てくる。それくらい、計量テンソルは自然と必要になってくるものなのだ。

また、こういった込み入った議論をスッキリさせるために、反変ベクトルや共変ベクトルといったものがある。座標(基底)の変化に対して成分の値がどのように反応するかでベクトルを分類したときに出てくる概念だ。ただ、ほとんどの書籍や記事で、反変・共変と計量テンソルがセットになってでてきて*5、今までのベクトルの知識はまったく通用しないかのように思えてしまう。そこで、われわれが知っている「ふつうの」ベクトルだけを使って計量テンソルについて議論がしたかったのである。

こうして眺めてみれば、計量テンソルは今までの知識の延長として捉えられるだろう。ここまでくれば、反変ベクトルや共変ベクトルについても理解しやすくなっているはずだ。どちらにせよ、このサイトでもそれらは詳しく解説していく予定だ。

また、今回は極座標のように基底が位置によって変化するような場合を議論から省いているのだった。極座標のような場合に計量テンソルがどのように計算できるかも、またの機会に解説するとしよう。

*1:高校の課程の変更で行列を扱わなくなったらしいので、個人的には高校の数学だけなのだけど、今の若い人たちにとっては高校数学+大学初年度の線形代数という感じ。

*2:実はこういった問題を整理するために反変ベクトル、共変ベクトルというものがあるのだが、今回はそれには触れない。泥臭く考えていく。

*3:わからない場合はここでもベクトルの展開に立ち戻ろう。$\e_1$ というベクトルを $\e_1$ と $\e_2$ で展開したとき、その展開系数はどうなるだろうか?

*4:ただし、一般相対論では一般に基底が空間に依存するので今回の議論を少し拡張する必要がある。

*5:場合によっては「アインシュタインの縮約記法」なんかもセットになっている(これについても今は知らなくて構わない)。