数学的準備
解析力学を学ぶ前に、必要な数学的準備を済ませよう。解析力学には、ベクトルや座標変換といった線形代数、微分、偏微分、ルジャンドル変換、微分形式、汎関数微分など、多種多様な数学的ツールが現れる。特に、数学の主要三分野である解析、代数、幾何の全てが現れるのが解析力学の難しいところであり、また面白いところでもある。以下では、特にベクトル空間及び内積空間の導入と、微分とベクトルがからむベクトル解析についてまとめておく。
ベクトル空間
ベクトルの表記
我々は3次元空間に住んでいるため、力学でも3次元空間中の運動を扱うことが多い。3次元空間中では、質点の位置を指定したり、速度や力を指定したりするのに3つの数字の組が必要になる。例えば、ある質点の座標が\((r_x,r_y,r_z)\)である時、
\[ \mathbf{r} = \begin{pmatrix} r_x\\ r_y\\ r_z \end{pmatrix} \]
とまとめて表記する。このように、いくつかの数字の組で表現される量を ベクトル(vector) と呼ぶ。特に、\(\mathbf{r}\) は位置ベクトルと呼ばれる。同様に速度ベクトルなどが定義される。本講義ノートでは\(\mathbf{r}\)のように太字で表記する。板書においては、通常のアルファベットに縦線を一本加えることで太字を表現する。ベクトルは大きさと向きを持つ量である。板書では縦ベクトルは縦に書くが、講義ノートでは紙面の都合から横に書きたいことがある。その場合は\(\mathbf{r} = {}^t(r_x, r_y, r_z)\)のように、ベクトルの最初に\(t\)をつけて表す。この\(t\)は転置を表し、横ベクトルを転置することで、縦ベクトルであることを表現している。
一方、ベクトルではない普通の数を スカラー(scalar) と呼ぶ。ベクトルと違い、スカラーは向きを持たず大きさのみを持つ。
基底ベクトルと内積
力学におけるベクトルで重要なのは、座標変換によるベクトルの変換である。先程のベクトル表記では、数を3つ縦に並べた。これは、以下のように書き直すことができる。
\[ \mathbf{r} = r_x \begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix} + r_y \begin{pmatrix} 0\\ 1\\ 0 \end{pmatrix} + r_y \begin{pmatrix} 0\\ 0\\ 1 \end{pmatrix} \]
3つの基本的なベクトルの和にわけることができた。これらのベクトルを\(\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\)と書こう。すると、
\[ \mathbf{r} = r_x \mathbf{e_x} + r_y \mathbf{e_y} + r_z \mathbf{e_z} \]
と表記できる。この時、\(\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\)を基底ベクトル、あるいは単に 基底(basis) と呼び、この式を基底ベクトルによる展開と呼ぶ。特に、
\[ \mathbf{e}_x = \begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix}, \mathbf{e}_y = \begin{pmatrix} 0\\ 1\\ 0 \end{pmatrix}, \mathbf{e}_z = \begin{pmatrix} 0\\ 0\\ 1 \end{pmatrix} \]
のように、成分の一つだけが1、残りが0となるような基底を標準基底と呼ぶ。
\[ \mathbf{r} = \begin{pmatrix} r_x\\ r_y\\ r_z \end{pmatrix} \] という表記は、標準基底ベクトル\(\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\)を採用した時のベクトル\(\mathbf{r}\)の展開表現である。
すなわち、本来なら
\[ \mathbf{r} = r_x \mathbf{e_x} + r_y \mathbf{e_y} + r_z \mathbf{e_z} \]
と書くべきところを、基底ベクトルを\(\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\)と暗黙に仮定した上で括弧で略記した記法である。
ベクトルの要素表示は、基底を定めて初めて決まるものである。物理においては、物理法則が座標系に依存しないという要請をする。したがって、まずベクトルがあり、座標系を決めると要素が決まる、という順序となる。
さて、今は\(\mathbf{e}_x\)などが簡単な形をしているため、\(\mathbf{r}\)を\(\mathbf{e}_x\)などで展開した時の係数が簡単に求まった。しかし、一般のベクトルを基底ベクトルにした場合、その展開係数を求めるのは面倒である。そこで、ベクトルの内積により展開係数を求める。
基底ベクトル\(\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\)は、要素が縦に並んでいる縦ベクトルであった。これらの対になるベクトルとして、以下の横ベクトルを定義する。
\[ \begin{aligned} \mathbf{e}^x = \begin{pmatrix} 1 & 0 & 0 \end{pmatrix} \\ \mathbf{e}^y = \begin{pmatrix} 0 & 1 & 0 \end{pmatrix} \\ \mathbf{e}^z = \begin{pmatrix} 0 & 0 & 1 \end{pmatrix} \end{aligned} \]
縦ベクトルの添字を下に、横ベクトルの添字を上につけている。縦ベクトルと横ベクトルの間には内積を定義することができる。
例えば、\(\mathbf{e}^x\)と\(\mathbf{e}_x\)の内積を取ると
\[ (\mathbf{e}^x, \mathbf{e}_x) = \begin{pmatrix} 1 & 0 & 0 \end{pmatrix} \begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix} = 1 \]
同様に、\(\mathbf{e}^x\)と\(\mathbf{e}_y\)の内積を取ると
\[ (\mathbf{e}^x, \mathbf{e}_y) = \begin{pmatrix} 1 & 0 & 0 \end{pmatrix} \begin{pmatrix} 0\\ 1\\ 0 \end{pmatrix} = 0 \] つまり、添字が同じであれば1に、異なれば0になる。
いちいち座標を\(x,y,z\)と書いていると、特に和を取る時に不便なので、以下\(\mathbf{e}_x,\mathbf{e}_y,\mathbf{e}_z\)を、それぞれ\(\mathbf{e}_1,\mathbf{e}_2,\mathbf{e}_3\)と表記しよう。相方となる基底\(\mathbf{e}^1,\mathbf{e}^2,\mathbf{e}^3\)も同様である。この表記を用いると、先程の内積は以下のようにまとめて書ける。
\[ (\mathbf{e}^i, \mathbf{e}_j) = \delta^i_j \]
内積がゼロであることを 直交(orthogonal) していると呼ぶ。自分の相方が決まっており、相方以外との内積が全てゼロになるような基底を 直交基底(orthogonal basis) と呼ぶ。さらに相方との内積が1に規格化されている基底を 正規直交基底(orthonormal basis) と呼ぶ。基底として正規直交基底を選ぶと、任意の基底で表現されたベクトルを、別の基底で表現した時の成分が簡単に求まる、という利点がある。
なお、添え字の上下はきちんと区別すべきものであるが、表記が煩雑になる場合がある。例えば座標の成分は\(q^i\)など上付きにすべきだが、そうすると座標の二乗を\((q^i)^2\)などと表記する必要がある。本書では、上下の区別が重要である場合を除いて物理量の添え字は下につける。
一般に、あるベクトルと、内積をとる相手のベクトルの住む空間は異なる。自分が住む空間から見て、内積を取る相手が住む空間を 双対空間(dual space) と呼ぶ。双対空間はお互い様であり、縦ベクトルから見れば横ベクトルが住む空間が双対空間だが、横ベクトルから見れば縦ベクトルが住む空間が双対空間である。また、ある基底と内積をとる相方の基底のことを双対基底と呼ぶ。双対基底は、双対空間に住んでいる基底である。
ここまではベクトルが住む空間がわかりやすいように、住む世界を添え字の上下で区別したが、2つの空間を区別する必要がない場合は2つのベクトル\(\mathbf{a} = {}^t(a_1, a_2, a_3)\)と\(\mathbf{b} = {}^t(b_1, b_2, b_3)\)の内積を
\[ \begin{aligned} \mathbf{a} \cdot \mathbf{b} &\equiv ({}^t \mathbf{a}, \mathbf{b}) \\ &= a_1 b_1 + a_2 b_2 + a_3 b_3 \\ &= \sum_i^{3} a_i b_j \end{aligned} \]
とドット表記で書く場合もある。以後、内積の表記法としてドット表記\(\mathbf{a} \cdot \mathbf{b}\)と括弧表記\((\mathbf{a} , \mathbf{b})\)の両方を使う。
さて、ある基底\(\mathbf{e}_i\)が正規直交基底であるとする。ベクトル\(\mathbf{r}\)と基底との内積が、
\[ \begin{aligned} \mathbf{r} \cdot \mathbf{e_1} &= r_1 \\ \mathbf{r} \cdot \mathbf{e_2} &= r_2 \\ \mathbf{r} \cdot \mathbf{e_3} &= r_3 \end{aligned} \]
で与えられている時、この基底でベクトルが以下のように展開できる。
\[ \mathbf{r} = r_1 \mathbf{e_1} + r_2 \mathbf{e_2} + r_3 \mathbf{e_3} \]
繰り返しとなるが、物理においては特定の座標を特別視しないため、まず座標系に依存しないベクトルが存在し、必要に応じて座標系を定義すると、内積によってその展開係数が決まる、というイメージを持つとよい。
さて、ある基底\(\mathbf{e}_1, \mathbf{e}_2, \mathbf{e}_3\)で表現されたベクトル\(\mathbf{r} = {}^t(r_1, r_2, r_3)\)について、別の基底\(\mathbf{e}'_1, \mathbf{e}'_2, \mathbf{e}'_3\)で展開した時の表現\(\mathbf{r} = {}^t(r'_1, r'_2, r'_3)\)を求めたい。つまり、以下のように、ある基底での展開係数がわかっている時、別の基底で表現した場合の展開係数を求めたい。
\[ \begin{aligned} \mathbf{r} &= r_1 \mathbf{e}_1 +r_1 \mathbf{e}_2+r_3 \mathbf{e}_3\\ &= r'_1 \mathbf{e}'_1 +r'_1 \mathbf{e}'_2+r'_3 \mathbf{e}'_3\\ \end{aligned} \]
もし、それぞれの基底が正規直交基底であるならば、任意のベクトルと基底の内積を取ることで、その基底方向への成分を得ることができる。
例えば、基底ベクトル\(\mathbf{e}'_1\)に対する成分\(r'_1\)を知りたければ、\(\mathbf{e}'_1\)と\(\mathbf{r}\)との内積を取ればよい。
\[ r'_1 = \mathbf{e}'_1 \cdot \mathbf{r} \]
さて、\(\mathbf{r}\)を基底\(\mathbf{e}_i\)で展開しておき、左から別の基底\(\mathbf{e}'_j\)との内積を取ろう。
\[ \begin{aligned} r'_j &= \mathbf{e}'_j \cdot \mathbf{r} \\ &= \sum_i r_i \mathbf{e}'_j \cdot \mathbf{e}_i \end{aligned} \]
この式は「あるベクトル\(\mathbf{r}\)について、ある基底\(\mathbf{e}_i\)での展開係数がわかっている場合、別の基底\(\mathbf{e}'_j\)での展開係数を知るには、基底同士の内積 \(\mathbf{e}'_j \cdot \mathbf{e}_i\) がわかっていればいれば良い」ということを意味する。
このように、ベクトルをある基底から別の基底で表現しなおすことを基底変換と呼ぶ。物理学において基底変換は極めて重要であり、解析力学においてもその変換性を議論する。それは、「物理法則が座標変換をしても形を変えてはならない」ことを要請するからである。この事情については後述する。
ベクトル空間の定義
先ほどまで、ベクトルを「複数個の値の組」として捉えていた。しかし、今後はベクトルの概念を拡張し、より一般的に様々なものをベクトルとして扱う。まず、ベクトルとはどういうものであったかを確認しみよう。いま、2つのベクトル\(\mathbf{u}, \mathbf{v}\)があったとして、その和\(\mathbf{u}+\mathbf{v}\)もベクトルである。また、それぞれの定数倍、\(a \mathbf{u}, b \mathbf{v}\)もベクトルだ。当然、その和である\(a \mathbf{u} + b \mathbf{v}\)もベクトルとなる。このように、ベクトルをそれぞれ定数倍して加えることを 線形結合(linear combination) と呼ぶ。さて、ベクトルと同様に線形結合、すなわち「定数倍して足す」ことができるものは他にもある。例えば行列もそうだし、関数や微分演算子も線形結合ができる。これらを統一的に扱えたら便利な気がするであろう。そこで逆に「線形結合できるもの」をベクトルと呼ぶことにしよう。
この「線形結合できる」という性質をきちんと定義しよう。線形結合とは「定数倍して和をとる」ことであるから、まず定数倍するための適当なスカラー\(a, b\)を用意する。これは実数や複素数である。また、定数倍したり和をとったりするための要素を含む集合\(\mathbb{V}\)を考えよう。この集合の任意の元\(\mathbf{u}, \mathbf{v}, \mathbf{w} \in \mathbb{V}\)が、以下の8つの性質を満たすとき、集合\(\mathbb{V}\)をベクトル空間、その元をベクトルと呼ぶ。
- ベクトルの和が結合律を満たす \(\mathbf{u} + (\mathbf{v} + \mathbf{w}) = (\mathbf{u} + \mathbf{v}) + \mathbf{w}\)
- ベクトルの和が可換である \(\mathbf{u} + \mathbf{v} = \mathbf{v} + \mathbf{u}\)
- 零ベクトル(加法の単位元)が存在する \(\mathbf{v} + \mathbf{0} = \mathbf{v}\)
- ベクトルの加法に逆元が存在する(任意のベクトルに、和をとると零ベクトルにできるベクトルが存在する) \(\mathbf{v} + (- \mathbf{v}) = 0\)
- スカラーの乗法がベクトルに対して分配律を満たす \(a (\mathbf{u} + \mathbf{v}) = a \mathbf{u} + a \mathbf{v}\)
- スカラーの加法と乗法が分配律を満たす \((a+b) \mathbf{u} = a \mathbf{u} + b \mathbf{u}\)
- スカラーとベクトルの乗法とスカラー同士の乗法が結合律を満たす \(a(b\mathbf{u}) = (ab) \mathbf{u}\)
- スカラー乗法に単位元が存在する \(1 \mathbf{u} = \mathbf{u}\)
以上の8つをベクトル空間の 公理(axiom) と呼ぶ。
3次元ベクトルは明らかにこの定義を満たしているが、例えば任意の関数\(f(x)\)もベクトルの定義を満たす。例えば\(\mathbb{V}\)として位置変数関数全体の集合をとし、適当な関数\(f(x)\)と\(g(x)\)をその要素とすると、\(f(x)\)と\(g(x)\)の線形結合により新たな関数
\[ h(x) = af(x) + bg(x) \]
を作ることができる。明らかに\(h(x)\)も\(\mathbb{V}\)の元である。また、関数全体の集合と実数や複素数係数との組み合わせがベクトル空間の公理を満たすことはすぐにわかるであろう。
テンソル積
ベクトルには標準基底を考えることができた。では、行列に同様な基底はあるのだろうか?また、その基底はどのように定義されるのだろうか?その疑問に答えるのがテンソル積である。
基底\(\mathbf{e}_1\)と、その相方とのクロネッカー積\(\mathbf{e}^1 \otimes \mathbf{e}_1\)を以下のように定義する。
\[ \begin{aligned} \mathbf{e}^1 \otimes \mathbf{e}_1 &= \begin{pmatrix} 1 & 0 & 0 \end{pmatrix} \otimes \begin{pmatrix} 1\\ 0\\0 \end{pmatrix} \\ &= \begin{pmatrix} 1 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} \end{aligned} \]
3行3列の行列の1行目1列目の要素が1、それ以外が0となるような行列となっていることがわかる。全く同様に\(\mathbf{e}^i \otimes \mathbf{e}_j\)を定義することができ、これが\(j\)行目の\(i\)列目の要素を表現する。このようにただ一つの要素が1、それ以外が0となるような行列を 行列単位(matrix unit) と呼ぶ。ベクトルが標準基底ベクトルで自然に展開できたように、行列も行列単位によって自然に展開することができる。
\[ \begin{aligned} A &= \begin{pmatrix} A^1_1 & A^1_2 & A^1_3 \\ A^2_1 & A^2_2 & A^2_3 \\ A^3_1 & A^3_2 & A^3_3 \end{pmatrix} = \sum_{i=1}^{3} \sum_{j=1}^{3} A^j_i \mathbf{e}^i \otimes \mathbf{e}_j \end{aligned} \]
すなわち行列単位が行列の標準基底の役割を果たしていることがわかる。
今、3次元縦ベクトルと3次元横ベクトルから、3行3列の行列を作ることができた。このように、2つのベクトル空間から新たなベクトル空間を作る操作を テンソル積(tensor product) と呼ぶ。クロネッカー積はテンソル積の表現の一つである。
さて、多くの場合において、和の範囲は自明である。例えば3次元空間において\(i\)が軸に関するものであれば、和の範囲は1から3までであろうし、\(N\)粒子系において\(i\)が粒子番号であれば、範囲は\(1\)から\(N\)まで走るであろう。その場合にいちいち和記号\(\Sigma\)を書くのは面倒である。そこで、同じ添字が2つ現れたら、その添字について和を取る、という約束をする。これを アインシュタイン記法(Einstein notation) と呼ぶ。
先程の行列の展開の式は、アインシュタイン記法を用いると以下のようにかける。
\[ \begin{aligned} A &= \begin{pmatrix} A^1_1 & A^1_2 & A^1_3 \\ A^2_1 & A^2_2 & A^2_3 \\ A^3_1 & A^3_2 & A^3_3 \end{pmatrix} = A^j_i \mathbf{e}^i \otimes \mathbf{e}_j \end{aligned} \]
ベクトルや行列を要素表現した時の添字の数を「足」と呼ぶ。ベクトルのテンソル積を考えることで足を増やすことができる。ベクトルは足が1本であり、行列は足が2本である。ベクトルのテンソル積により作られた世界は、元になったベクトルよりも広い世界になっている。例えば3次元縦ベクトルと横ベクトルのテンソル積は、3行3列の行列、すなわち9次元の空間になっている。このベクトルや行列をまとめて テンソル(tensor) と呼ぶ。足の本数、つまり添字の数をテンソルの階数と呼ぶ。ベクトルは1階のテンソル、行列は2階のテンソルである。テンソル積により、いくらでも高階のテンソルを作ることができる。
テンソルは様々なところに現れる。例えば連続体の力学では応力テンソルが重要な役割を果たす。一方、テンソルは抽象的な概念であり、なかなかイメージすることが難しい。まずは内積を通じてテンソルを理解しておくと良い。
横ベクトル\(\mathbf{a}\)と、縦ベクトル\(\mathbf{b}\)の内積を考える。簡単のため、3次元ベクトルとしよう。それぞれ要素と基底を明示すると、
\[ \begin{aligned} \mathbf{a} &= \begin{pmatrix} a_1 & a_2 & a_3 \end{pmatrix}\\ &= a_i \mathbf{e}^i \end{aligned} \]
\[ \begin{aligned} \mathbf{b} &= \begin{pmatrix} b^1 \\ b^2\\ b^3 \end{pmatrix}\\ &= b^j \mathbf{e}_j \end{aligned} \]
これらの内積を取ると
\[ \begin{aligned} (\mathbf{a}, \mathbf{b}) &= a_i b^j (\mathbf{e}^i, \mathbf{e}_j)\\ &= a_i b^j \delta^i_j \\ &= a_i b^i \end{aligned} \]
となる。ここでアインシュタイン記法を使っていることに注意。上下の足がつぶれて足のない数、すなわちスカラーになっている。
同様に、行列\(A\)と、縦ベクトルの標準基底の一つ\(\mathbf{e}_k\)の内積\((A, \mathbf{e}_k)\)を考えよう。行列\(A\)は、縦ベクトルと横ベクトルのテンソル積で展開できるのであるから、
\[ (A, \mathbf{e}_k) = (A^j_i \mathbf{e}^i \otimes \mathbf{e}_j, \mathbf{e}_k) \]
ここで、横ベクトルと縦ベクトルの内積が
\[ (\mathbf{e}^i, \mathbf{e}_k) = \delta^i_k \]
を満たすことから、\(i=k\)のところだけが残り、
\[ \begin{aligned} (A, \mathbf{e}_k) &= (A^j_i \mathbf{e}^i \otimes \mathbf{e}_j, \mathbf{e}_k)\\ &= A^j_i \delta^i_k \mathbf{e}_j\\ &= A^j_k \mathbf{e}_j \end{aligned} \]
となる。これは縦ベクトルである。つまり、行列と縦ベクトルの内積をとると、行列を構成していた横ベクトルの成分と相殺して、縦ベクトルが残る、と解釈できる。同様に、行列と横ベクトルの内積を取ると、縦ベクトルの成分と相殺して横ベクトルが出てくる。
ここでは、2階のテンソルとして縦ベクトルと横ベクトルのテンソル積を考えたが、縦ベクトル2つのテンソル積を考えることもできる。その場合は添字が2つとも上付きとなる。
\[ A = A^{ij} \mathbf{e}_i \otimes \mathbf{e}_j \]
こうして作られたテンソルは、行列のようには表現できないが、「横ベクトルと内積をとると縦ベクトルとなり、さらに横ベクトルと内積をとるとスカラーになるもの」と理解できる。このように、テンソルがイメージできないうちは「上下の逆側の足を持つベクトルと内積をとると、その足が潰せるもの」と理解しておくと良い。
内積空間
ベクトル空間とは、要素の線形結合ができる世界のことである。これにより、いわゆる「向きと大きさ」を持ったベクトルだけでなく、関数や微分演算子などもベクトルとみなすことができる。
さて、物理で現れるベクトル空間には、自然な内積が定義できることが多い。内積が定義されたベクトル空間を 内積空間(inner product space) と呼ぶ。内積とは、ベクトル2つを、1つのスカラーに結びつける写像のことである。既に見たように、縦ベクトルや横ベクトルには自然な内積が定義できるが、関数をベクトルとみなすと、関数同士にも内積も定義することができる。いま、関数\(f(x)\)と\(g(x)\)について、その内積を
\[ (f,g) = \int_{-\infty}^{\infty}f^*(x)g(x)dx \]
により定義する。ただし\(f^*(x)\)は\(f(x)\)の複素共役である。これにより、ベクトル2つからスカラーを結びつけることができる。このように関数をベクトルとみなし、ある基底から別の基底での表現を得るのがフーリエ変換である。
次に、微分演算子に関する内積を考えよう。変数\(x\)と\(y\)にのみ依存する2変数関数\(f(x,y)\)を考える。\(x\)と\(y\)が時間\(t\)に依存している時、すなわち\(f(x(t), y(t))\)と書ける時、\(f\)の時間微分は
\[ \frac{df}{dt} = \frac{\partial f}{\partial x} \frac{dx}{dt} + \frac{\partial f}{\partial y} \frac{dy}{dt} \]
さて、\(f(x,y)\)は\(x\)と\(y\)にしか依存していないので、\(x\)や\(y\)が\(t\)ではなく\(s\)に依存していても式の形は全く変わらない。
\[ \frac{df}{ds} = \frac{\partial f}{\partial x} \frac{dx}{ds} + \frac{\partial f}{\partial y} \frac{dy}{ds} \]
そこで、\(dt\)や\(ds\)を形式的に消して、以下のように書いてみる。
\[ df = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy \]
このように書ける時、\(f\)は全微分可能であると言い、この表式を\(f\)の 全微分(total derivative) と呼ぶ。
さて、この式の意味を考えよう。\(f(x,y)\)という関数を、点\((x,y)\)の周りでテイラー展開し、一次の項目だけ残す。
\[ f(x+\delta x, y+\delta y) - f(x,y) \sim \frac{\partial f}{\partial x} \delta x + \frac{\partial f}{\partial y} \delta y \]
つまり、\(\partial f/\partial x\)という量は、\(y\)を変化させずに、\(x\)だけを変化させた場合の\(f\)の変化の割合であった。そこで、全微分の両辺を形式的に\(dx\)でわろう。この時、微分記号が偏微分に化ける。
\[ \begin{aligned} \frac{\partial f}{\partial x} &= \frac{\partial f}{\partial x} \underbrace{\frac{\partial x}{\partial x}}_{=1} + \frac{\partial f}{\partial y} \underbrace{\frac{\partial y}{\partial x}}_{=0} \\ &= \frac{\partial f}{\partial x} \end{aligned} \]
この事実をもって、もう一度先の全微分の式を眺めてみる。
\[ df = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy \]
すると、これがまるでベクトルを基底で展開しているかのように見える。また、\(dx\)の内積をとる相方が\(\partial_x\)であることもわかる。
となる。以上から、\(df\)をベクトル、\(dx\)や\(dy\)を基底のように扱うことができることがわかる。さらに、\(dx\)をベクトルと見た時、その相方となるベクトルが\(\partial_x\)であることもわかる。すなわち、\(dx, dy, dz\)と\(\partial_x, \partial_y, \partial_z\)の間には、自然な内積、
\[ \left<d\alpha,\frac{\partial}{\partial \beta}\right> = \frac{\partial \alpha}{\partial \beta} = \delta_{\alpha, \beta} \]
が定義される。このように、\(dx, dy\)を横ベクトル、\(\partial_x, \partial_y\)を縦ベクトルだと思うことができ、それらの間に内積を定義することができた。このように考えると、\(dx, dy\)が住む世界と\(\partial_x, \partial_y\)が住む世界は双対空間である。
微分と偏微分
力学は微分方程式を解く学問であるから、当然微積分が出てくる。特に合成関数の微分や、ベクトルによる微分などが現れるので、ここで簡単に確認しておこう。
微分の表記方法
微分の記法にはいくつか方法がある。関数\(f(x)\)の\(x\)による導関数は
\[ \frac{d}{dx} f(x), \frac{d f(x)}{dx}, \frac{df}{dx} \]
などと分数の形で表記する。この表記を ライプニッツ記法(Leibniz’s notation) と呼ぶ1。
ライプニッツ記法では、何を何で微分したかが明記されているため混乱が少ないが、式が複雑であるときに煩わしいことがある。そこで、本講義では適宜、別の記法も用いることにする。
まず関数\(f(x)\)を見ると、\(f\)という値が\(x\)という引数に依存していることがわかる。したがって、\(f(x)\)を微分しようとしたら\(x\)に決まっているので、以下のようにプライム記号で表記する。
\[ f'(x) \equiv \frac{df}{dx} \]
二階微分や三階微分は
\[ \begin{aligned} f''(x) &\equiv \frac{d^2f}{dx^2}\\ f'''(x) &\equiv \frac{d^3f}{dx^3}\\ \end{aligned} \]
とプライム記号を増やして表記する。このような表記を ラグランジュ記法(Lagrange’s notation) と呼ぶ。2
それ以上の高階微分や、\(n\)階微分など微分回数が変数である場合は
\[ \begin{aligned} f^{(4)}(x) &\equiv \frac{d^4 f}{dx^4}\\ f^{(n)}(x) &\equiv \frac{d^n f}{dx^n} \end{aligned} \]
などと表記するが、力学においてはほとんど高階微分は出てこないので気にしなくて良い。なお、扱う記号はプライム「’」であるが、\(f'(x)\)を「エフダッシュエックス」と呼ぶことがある(余談参照)。
さて、力学は物体の運動、すなわち時間変化を追う学問である。したがって、時間微分が頻出する。そこで、時間微分をドットで表記することにする。二階微分は二重ドットで表記する。
\[ \begin{aligned} \dot{x} &\equiv \frac{dx}{dt} \\ \ddot{x} &\equiv \frac{d^2x}{dt^2} \end{aligned} \]
これを ニュートン記法(Newton’s notation) と呼ぶ。3 高階数微分ではドットの上に数を書く表記もあるが、ほとんどの場合において二階微分までしか扱わないため、二重ドット表記まで覚えれば良い。
これらの表記が複合する場合がある。例えば位置\(x\)は時間の関数であり、力\(f\)は位置の関数であるとき、\(f(x)\)を時間で微分したもののライプニッツ表記は
\[ \frac{df }{dt} = \frac{df}{dx} \frac{dx}{dt} \]
となる。これは
\[ \frac{df}{dt} = f'(x) \dot{x} \]
と表記できる。関数を、その引数で微分する場合はラグランジュ記法が、時間に関する変数\(x\)の時間微分はニュートン記法が使われている。ややこしいようにも見えるが、慣れてしまえば表記が簡略化される分、読みやすくなる。
偏微分
関数の微分とは、現在の場所と、少しずれた場所との差の極限であった。関数が複数の変数に依存している場合、「どの方向に少しずれるのか」を指定する必要がある。例えば斜面に立っている時、どの方向に足を踏み出すかによって一歩でどれだけ高さが変化するかが変わるため、どの方向に足を踏み出すかを定義する必要がある。いま、2つの変数\(x,y\)に依存する関数\(f(x,y)\)があるとする。ここで\(y\)を固定して\(x\)だけをずらした時の微分係数を\(x\)に関する偏微分係数と呼び、以下のように定義する。
\[ \frac{\partial f}{\partial x} \equiv \lim_{h \rightarrow 0} \frac{f(x + h , y) - f(x,y)}{h} \]
\(y\)に関する偏微分係数も同様に定義する。以後、\(x\)に関する偏微分演算子\(\partial/\partial_x\)を、\(\partial_x\)のように略記することがある。
偏微分する際、どの変数を固定しているのかを明示したい場合は、
\[ \left(\frac{\partial f}{\partial x}\right)_y \]
のように括弧の外に書く場合がある。熱力学ではどの変数を固定しているかが重要であるが、解析力学では自明であることが多いので本書では省略する。
ベクトル解析
次に、ベクトルが絡んだ微分について考えよう。多くの場合、力学では3次元空間を扱うため、座標や速度、力は3次元ベクトルとなる。また、ポテンシャルエネルギーはスカラー量であるが、位置の関数であるから引数としてベクトルを取る。これらを微分すると、スカラーとベクトルが入り交じることになる。以後、混乱しないように、表記の確認をしておこう。
質点の位置が\(\mathbf{r} = {}^t(x,y,z)\)で表されており、その位置に依存するスカラー関数\(f(\mathbf{r})\)があるとしよう。ただし、\(f\)は\(t\)には陽には依存しないとする。この関数は、ベクトルを食わせるとスカラーを返す関数である。たとえば場所に依存する温度のようなものを想像すれば良い。この量の微分を考える。\(f\)は\(x,y,z\)に依存する関数であるから、
\[ \frac{df}{dt} = \frac{\partial f}{\partial x} \dot{x} +\frac{\partial f}{\partial y} \dot{y} +\frac{\partial f}{\partial z} \dot{z} \]
三次元空間では、このように\(x, y, z\)座標での偏微分が頻繁に現れる。これらを毎回書くのは面倒であるので、以下のような\(\nabla\)(ナブラ)という演算子を定義する。
\[ \nabla = \begin{pmatrix} \frac{\partial}{\partial x} \\ \frac{\partial}{\partial y} \\ \frac{\partial}{\partial z} \end{pmatrix} \]
ナブラは成分に微分演算子が含まれているベクトルである。ベクトルであるから、スカラーに作用させるとベクトル量になる。
\[ \nabla f = \begin{pmatrix} \frac{\partial f}{\partial x} \\ \frac{\partial f}{\partial y} \\ \frac{\partial f}{\partial z} \end{pmatrix} \]
ここで、速度ベクトル
\[ \dot{\mathbf{r}} = \begin{pmatrix} \dot{x} \\ \dot{y} \\ \dot{z} \end{pmatrix} \]
を定義すると、先程の\(f\)の時間微分は以下のように表記できる。
\[ \frac{df}{dt} = (\nabla f) \cdot \dot{\mathbf{r}} \]
\(\nabla\)を使う簡単な例として太陽系を考えよう。太陽質量を\(M\)、地球の質量を\(m\)とし、地球の座標を\((x,y)\)とする。宇宙空間は3次元だが、公転面を考えることで2次元系を考える。さらに、太陽が動かないと近似しよう。太陽質量は地球の33万倍なので、これは非常に良い近似である。この系の運動方程式は以下のようになる。
\[ \begin{aligned} m \frac{d^2x}{dt^2} &= -G \frac{Mmx}{r^3} \\ m \frac{d^2y}{dt^2} &= -G \frac{Mmy}{r^3} \end{aligned} \]
ただし、\(r = \sqrt{x^2 + y^2}\)である。これをベクトルの言葉で書いていきたい。
まず、重力は保存力なので、ポテンシャルエネルギー\(V(r)\)を考えよう。
\[ V(r) = -\frac{GMm}{r} \]
これを\(x\)で偏微分すると
\[ \frac{\partial V}{\partial x} = V'(r) \frac{\partial r}{\partial x} \]
\[ r^2 = x^2 + y^2 \]
の両辺を\(x\)で偏微分して、
\[ 2r \frac{\partial r}{\partial x} = 2 x \]
従って、
\[ \frac{\partial r}{\partial x} = \frac{x}{r} \]
以上から、
\[ \frac{\partial V}{\partial x} = G \frac{Mmx}{r^3} \]
\(y\)も同様である。ここから運動方程式は
\[ \begin{aligned} m \frac{d^2x}{dt^2} &= - \frac{\partial V}{\partial x} \\ m \frac{d^2y}{dt^2} &= - \frac{\partial V}{\partial y} \end{aligned} \]
さらに、地球の座標をベクトルで表そう。
\[ \mathbf{r} = \begin{pmatrix} x \\ y \end{pmatrix} \]
すると、先程の運動方程式は以下のように一行にまとめられる。
\[ \begin{aligned} m \frac{d^2 \mathbf{r}}{dt^2} &= - \nabla V \end{aligned} \]
両辺ともにベクトルで有ることに注意。
\(\nabla\)を\(d/ d\mathbf{r}\)と表現すれば
\[ \begin{aligned} m \frac{d^2 \mathbf{r}}{dt^2} &= -\frac{d V}{d \mathbf{r}} \end{aligned} \]
となり、一次元空間での運動方程式
\[ \begin{aligned} m \frac{d^2 r}{dt^2} &= -\frac{d V}{d r} \end{aligned} \]
と同じ形で表現できる。
\(\nabla\)はベクトルであるから、普通のベクトルのようにスカラー倍もできるし、ベクトルと内積をとればスカラー量に、外積を取ればベクトル量になる。
先程見たように、スカラー場に\(\nabla\)を適用するとベクトル場を得る。これは勾配(gradient)と呼ばれ\(\mathrm{grad}\)で表記することがある。
\[ \mathrm{grad} f \equiv \nabla f \]
\(\nabla\)とベクトル場と内積を取るとスカラー場になる。これは発散(divergence)と呼ばれ、\(\mathrm{div}\)で表記することがある。
\[ \mathrm{div} \mathbf{v} \equiv \nabla \cdot \mathbf{v} \]
\(\nabla\)とベクトル場との外積をとるとベクトル場になる。これは回転(rotation)と呼ばれ、\(\mathrm{rot}\)で表記することがある。
\[ \mathrm{rot} \mathbf{v} \equiv \nabla \times \mathbf{v} \]
これらがなぜ勾配、発散、回転と呼ばれているか、またその物理的な意味については位相空間の節で説明する。
なお、\(\nabla\)は微分演算子であるから、積の順番を交換することはできないことに注意。
\[ \nabla fg \neq f \nabla g. \]
まとめ
本章では、解析力学で現れる数学の最低限の準備を行った。特に、大学で扱う物理数学では、解析学と代数学がお互いに入り交じる。さらに解析力学では幾何学も現れるため、使う数学的ツールは多岐にわたる。出てくる数式は複雑であることが多いが、一つ一つは極めて単純であるため、理解は難しくないであろう。しかし、解析力学は多変数関数の常微分、偏微分が頻出し、「いま何が自由変数で、この変数で偏微分すると何が起きるか」が混乱しがちである。式の導出を曖昧にすると、結局全体の理解があやふやになってしまうので、一つ一つの式変形をきっちり追いかける癖をつけてほしい。
余談:ダッシュかプライムか
ラグランジュによる微分記法\(f'(x)\)を「エフダッシュ」と呼ぶべきか「エフプライム」と呼ぶべきかはよく論争になる。田野村忠温氏による調査では、\(a'\)を「a dash」と読む最も初期の文献が1823年まで遡ることがわかっている。これは「A Familiar Introduction to Crystallography」という、英国で出版された出版物である。一方、\(a'\)を「a prime」と呼ぶ文献では、1832年に米国で出版された代数学の教科書がある(John Radford Young An Elementary Treatise on Algebra, Theoretical and Practical, First American Edition, With Additions and Improvements by Samuel Ward, 1832)。どうやら英国でダッシュ読みが、米国でプライム読みが普及したらしいが、詳細は不明である。