この文書は「よくわかる解析力学」【東京図書】の付録B.3(330ページ)「ルジャンドル変換」を動く図を利用した形に編集しなおしたものです。この文書だけを独立に読むこともできます。
物理において、
いくつかの変数x,y,⋯を決めると、ある量fがそれらに応じて決まる。
という状況を考えることは非常に多い。解析力学では、変数x,y,⋯は座標であったり速度であったり運動量であったりするが、他にもたとえば熱力学では体積Vや温度Tのような変数を考える。いろんな状況を考えるとき、この変数の決め方を変えたくなる。特に
関数の独立変数をxから∂F∂xに変えたい。
という状況がよくあるのだが、この変数の変換をうっかりとやると、その関数から得られる情報が失われてしまったり、変える前と変えた後で方程式の形が(意図せぬ形に)変化してしまったりする。そうならないように関数の形を調整しつつ独立変数を変える方法を「ルジャンドル変換(Legendre transfomation)」と言う。
以下では、このルジャンドル変換について説明する。
ルジャンドル変換とはなにか?(動画バージョン)
もしルジャンドル変換をしなかったら(1変数の例)
必要性―もしルジャンドル変換をしなかったら
「なぜこんなことをする必要があるんですか?」という質問がよく出る(こういう疑問を持つのは悪いことではない。むしろ「何のために必要か」ということを考えもせずに「本に書いてあるから自分もやろう」とやってしまう人の方が危険である)ので、ここで「失敗例」を書いておく。
1変数の例:情報が消える
aを定数として
f(x)=(x−a)2(1)
という関数を考えよう。今はx→fという関数になっているわけだが、新しい変数としてfのxによる微分
px=∂f∂x=2(x−a)
を取りたいとする。逆に、x−a=px2である。pxを変数としてfを表現すると、
f=(px)24
となる。結果はaによらない式になったが、ここで「簡単な式になった」と喜んではいけない。「aという情報を失ってしまった」と嘆くべき状況である。x→fという対応関係の中にはaの情報があるが、px→fという対応関係の中にはaがどこにも入っていない。つまり、「px→fという対応関係だけを知っている人」は「x→fという対応関係だけを知っている人」より情報が少ない(たとえばpx=2(x−a)という式を出せるのは、後者のみ)。
なぜ情報が消えてしまったかを考えよう。以下に、x,fのグラフとpx,fのグラフを描く。
上の左側のグラフはaを変化させた時のf=(x−a)2を描いたものだ。この時表示されている接線の傾きがpxである。
右側のグラフはpxとfの関係で、式で表現すればf=(px)24である。その対応関係は、aをずらしても(グラフを平行移動しても変わりがない(スライダーでaの値を変えることができるので、変えてみても右のグラフが変わらないことを実感せよ)。
たとえば、
px=0ならf=0、px=1ならf=14
という関係(グラフの下のボタンを押すとグラフ上に表示できる)は、aをどう変えても同じである。ゆえに「x→fという関数関係」は「px→fという関数関係」に移行させることができない。必ず情報が失われる。そこでfではない新しい関数˜fを作って、情報が正しく移行されるようにしなくてはいけない。
ではどんな˜fを持ってくれば「x→fという関数関係」の持っている情報を全て「px→˜fという関数関係」に移行させることができるのか?---その答えがルジャンドル変換である。
次にもう一つの「失敗例」を述べよう。
ルジャンドル変換とはなにか?(動画バージョン)
もしルジャンドル変換をしなかったら(2変数の例)
2変数の例:変換しなかった変数の微分の答が変わる
二つの変数x,yの関数f(x,y)を考えよう。
px=∂f(x,y)∂x|y, py=∂f(x,y)∂y|x
のように新しい量px,pyを定義したとする。ここで「x,yを変数にするんじゃなくて、px,yを変数にして問題を解きたい」と考えたとしよう。そのために、x=x(px,y)のように元々の変数xを新しい変数pxとyの関数として表すことができたとしよう。
ここで単純に
F(px,y)=f(x(px,y),y)
と置いて、この関数を使っていろんなことを考えることにしたとしよう。
上の式ではpx,yが独立変数だと考えた式だが、これをx,yが独立変数だということを強調して書くと、
F(px(x,y),y)=f(x,y)
となる。問題は
F(px,y)からpyは求められるか?
ということである。pyは「xを一定にしてfをyで微分」することで得られる(py=∂f∂y|x)。この「xを一定にしてyを微分」という操作を上の式の両辺に対して行うと、F(px(x,y),y)にはyが2箇所に入っていることが反映されて、
∂F(px(x,y),y)∂px⏟第1引数を微分|y∂px(x,y)∂y|y+∂F(px(x,y),y)∂y|px⏟第2引数のみを微分=∂f(x,y)∂y|x
となる。つまり、yで微分する時の左辺のFの中にあるpx(x,y)の中のyも微分される分、左辺第2項∂F∂y|pxは、右辺∂f∂y|x=pyとは違うものになる。
ここで述べたのと同種の間違いを力学の問題でおかした例を、「よくわかる解析力学」p118の5.1.4節で紹介している。
二つの失敗例を述べたが、この二つは別々の問題ではない。第二の例も第一の例と同じく、同じ関数を使っていたのでは対応関係の情報が失われる(破壊される)ということを述べている。第一の例でaが消えたが、それをaを定数ではなく系を特徴づける変数の一つだったと思えば、xからpxへの変換においてaという情報が失われたことになる。同様に、第二の問題ではyで微分した結果どうなるか、という情報が破壊された。
ルジャンドル変換とはなにか?(動画バージョン)
ルジャンドル変換とは
この二つの問題に対する対応策を述べよう。
˜f(px)=f(x)−xpx
で新しい関数を定義する。f=(x−a)2の場合の˜fの意味をグラフで表現したのが次の図である。
pxはグラフの接線の傾きであり、−xpxという量はすなわち、接線をf軸まで伸ばしていった時のf座標の変化である。スライダでa,xを変えてみて欲しい。aの違いが˜fの違いに反映することがわかるだろう。
この図は自動では動かないので、自分で動かしてみること。
前節の例について実際に計算してみると、
˜f=(x−a)2−xpx=(px)24−((px)2+a)px=−(px)24−apx
となる。情報を失っていない変換なので「元に戻す」こともできる。
x=−∂˜f∂px=px2+a
でxを定義してf=˜f+xpxというのが逆変換である。
ここでxの定義と符号が逆になっているように見えるが、微分の形で書くと
˜f(px)=f(x)−x∂f∂x (px=∂f∂x)⏟ルジャンドル変換, f(x)=˜f(px)−px∂˜f∂px (x=−∂˜f∂px)⏟逆ルジャンドル変換
と同じ形(x↔px,f↔˜fと取り替えた形)になっている。すなわち、同じ形の変換を2回やると元に戻る。例の場合は
f=−(px)24−apx+xpx=−(x−a)2+(x−a)×2(x−a)=(x−a)2
で元に戻る。まとめると、以下のとおりとなる。
ルジャンドル変換
関数f(x)、すなわちx→fという対応関係の入力変数をxではなくpx=∂f∂xに変えたい時は
˜f(px)=f(x)−xpx
と定義すると、元の対応関係が持っていた情報を失うことなく新しい対応関係px→˜fを作ることができる。
ルジャンドル変換とはなにか?(動画バージョン)
ルジャンドル変換に関する注意
前ページの図はある意味「危なくない状況」を選んで描いてあるが、目ざとい人ならば
同じpxに対して二つ以上˜fの値があったりしないのか?
という点が心配になるのではないかと思う。
たとえば
のような状況では、˜fが一つに決まらない。
こうならないためには、グラフは常に「凸関数」でなくてはならない。すなわち、d2fdx2=dpdxが符号を変えてはいけない。そのような関数であれば、pを決めればxが決まり、ひいてはfも˜fも決まる。
もう一つ問題になるのは次の図のように、区分的に凸関数であっても、微分が連続ではない場合である。
その場合は変数pxすなわち傾きが変化してもfが変化しない領域ができる。上のグラフの右側はpxを横軸としているが、赤がf、青が˜fのグラフである。途中でfのグラフが平坦になっている場所があることを確認しよう。
次に、2変数の例で説明しよう。
˜f(px,y)=f(x,y)−xpx(x,y)という量を定義する。これをpxとyの関数として両辺を表現すると、
˜f(px,y)=f(x(px,y),y)−x(px,y)px
これをpxを一定にしてyで微分すると、
∂˜f(px,y)∂y|px=∂f∂x|y∂x(px,y)∂y|px+∂f∂y|x−∂x(px,y)∂y|pxpx
となるが、第1項の∂f∂x|yはpxそのものだから、第1項と第3項は相殺して、
∂˜f(px,y)∂y|px=∂f(x,y)∂y|x
となる。つまり、˜f=f−xpxなる量に変更した事で「f(x,y)のyによる偏微分(当然、xは一定)」と「˜f(px,y)のyによる偏微分(こっちはpxが一定)」が同じ量になる。
このようにして、「変数を変換したことで偏微分の``何を固定するか''という条件が変化するのに対応して、関数の方を変えて偏微分の答が変わらないようにする変換」を作ることができた。これも「ルジャンドル変換」の意義である。
なぜルジャンドル変換でうまく独立変数の変換ができるのかを全微分の式を書いて示しておこう。ふたたびf(x,y)を考える。xがdx、yがdy変化した時のfの変化量は
df=∂f∂xdx+∂f∂ydy
と書ける。一方、˜f=f−pxxの微分を考えると、
d˜f=∂f∂xdx+∂f∂ydy⏟df−(dpxx+pxdx)⏟d(pxx)
となって、第1項と第4項がちょうど消えて、
d˜f=∂f∂ydy−dpxx
となる。こうして、pxを一定として˜fをy微分した時の値と、xを一定として˜fをy微分した時の値が等しくなるように変数の変換ができた。
なお、ラグランジアンとハミルトニアンを相互に変換するときのルジャンドル変換は、以下のように、上とは符号を変えた定義になっている。
符号が反転するルジャンドル変換
ルジャンドル変換 ˜f(px)=xpx−f(x) ただし、px=∂f(x)∂x
逆ルジャンドル変換 f(x)=xpx−˜f(px) ただし、x=∂˜f(px)∂px