ナンクル力学系

学んだ事を書き連ねていこう。

Archive for November 2007

なぜ、持ち上げって言うんだろう。

leave a comment »

書こう書こうと思ってズルズル書くのを延ばしてたら結構忘れてしまっているので、読み返しながら書いてみる。

解析力学I 第五章。

正準方程式は、配位空間の点変換より広い座標変換でその形を変えない。この事実を柱に第五章は構成されている。

まずは、その事実を示すためにハミルトンの原理を相空間に持ち上げる。被積分関数p_i \dot q^i - H(q,\dot q,t)の相空間の経路cにそった積分I[c]の変分を考えると、よくやる部分積分を使った計算テクニックで、次の相空間に持ち上げられた変分法の基本公式が導ける。

\Delta  I [c] =[ p_i \Delta q^i - H \Delta t ]_{t_1}^{t_2} + \int_{t_1}^{t_2} \{ (\dot q^i - \frac{\partial H}{\partial p_i}) \delta p_i - (\dot p_i + \frac{\partial H}{\partial q^i})\delta q^i \}dt =0

しかし、単純に両端で\Delta q = \Delta t = 0とした変分から(  ) 内が0になるので正準方程式が導ける、とは出来ない。なぜなら正準運動量は独立ではなくp_{Li}  =  \partial L/ \partial \dot q^i = \phi_i (q, \dot q,t)で定義される関数だから、\delta q,\ \delta pは独立でないからである。

これを解決するために、ルジャンドル変換を導入する。詳しくはルジャンドル変換のまとめ参照。ラグランジアンからハミルトニアンへの変換とその逆の変換はルジャンドル変換である。つまり、pについて極値をとる演算子EXT_pを用いれば、

L(q,\dot q) = EXT_p \{p_i \dot q^i - H(q,p) \}

となる。ここで、相空間上の作用積分

I[c] := \int^{t_2}_{t_1} \{p_i \dot q^i - H(q,p) \} dt

で定義する。配位空間の曲線c_Lを相空間に持ち上げた、つまり関係p _i =  L/\dot q^i = \phi_i (q, \dot q,t)を満たす経路をc_Hとする。この積分のpについての極値を先にとるれば、

EXT_p \{I[c]\} = I[c_H] = \int^{t_2}_{t_1}  \{p_i \dot q^i - H(q,p)\} _{p_i  =  L/\dot q^i = \phi_i (q, \dot q,t)}dt \\ = \int_{t_1}^{t_2}  L(q, \dot q) dt

となり、さらに配位空間上のハミルトンの原理ではqについて極値であるという条件を課す。つまり、相空間上でのハミルトンの原理は、q, pそれぞれについて極値をとるということであり、 先の\delta q,\ \delta pを独立とみなして正準方程式を導くことが正当化される。

相空間でのハミルトンの原理で注意しなければいけないのは、正準方程式は2n個の常微分方程式であり始点を決めると解が決まるので、始点と終点の値は独立に選べないということである。そこで相空間から配位空間への射影演算子\piを用いて、配位空間上の始点と終点Q_1,\ Q_2に対応する\pi^{-1} (Q_1),\ \pi^{-1} (Q_2)にそれぞれ始点と終点があって作用積分が停留値をとれば正準方程式が導ける。これを、修正されたハミルトンの原理と言う。

次に、修正されたハミルトンの原理を座標系に依らない形に書き直す。時間軸を含む務拡大相空間で考えれる。正準一形式\Theta = p_i dq^i - H dtを用いて、作用積分を次のようにかける。

\tilde I [\tilde c] = \int_{\tilde c} \Theta = \int_{\tau_1}^{\tau_2} <\Theta | \tilde c' > d \tau (ただし、\tilde c' \tilde c の接ベクトル。)

曲線\tilde cをわずかにずらした曲線\tilde c + \Delta \tilde cを考え、曲線に沿った座標を\tau、それに独立で\tilde c\tilde c + \Delta \tilde cの作る曲面の座標を\etaとする。また、\tilde c\tilde c + \Delta \tilde cの始点どうし、終点どうしをつなぐ曲線のパラメータを\lambdaとし、その接ベクトルをv_{\lambda} = d/d\lambdaする。これより、先の作用積分の変分が可能になり、

\Delta \tilde I [\tilde c] =  [<\Theta | v_{\lambda} > \Delta \lambda]_{\tau_1}^{\tau_2} -  \int_{\tau_1}^{\tau_2}  d\tau <\Theta | \tilde c', u_\eta >_{\eta=0} \delta \eta

となる。

修正されたハミルトンの原理は端点で\Delta q = \Delta t = 0、つまり\Delta \lambda =0を要求しているので(※1:ここ少しおかしくないだろうか。後述。)、 次のように書ける。

\delta \tilde I [\tilde c] =  - \int_{\tau_1}^{\tau_2} d\tau <\Theta | \tilde c', u_{\eta} >_{\eta =0} \delta \eta =0

ここで\Delta cが任意であるので\eta、また\delta \etaも任意であるから、

<\Theta | \tilde c', \bullet> = 0

が得られる。これは、拡大相空間での正準方程式である。

相空間上のワイスの原理は、相空間上の経路が実現する条件は、その経路に沿って計算した作用積分の変分が端点の寄与のみからなるということである。つまり、

\Delta I[c] =  [<\Theta | v_{\lambda} > \Delta \lambda]_{\tau_1}^{\tau_2}

となる。

この原理からも正準方程式が導ける。変分法の基本公式とワイスの原理を組み合わせればハミルトンの原理となる。

経路に沿った作用積分の変分を、始点から始まる閉曲線l_1 : \lambda \in [0,1]  \mapsto P_1 (\lambda)(ただしP_1(0)=P_1(1)=P_1)のパラメタ\lambdaについて積分すれば、

\oint d I[\tilde c] = \oint_{l_2} \Theta - \oint_{l_1} \Theta

かつ、

\oint d I[\tilde c] = I[\tilde c (\tau, \lambda=1)] - I[\tilde c (\tau, \lambda=0)] =0

より、\oint_l \Theta = \oint_l (p_i dq^i - H dt)は系の時間発展に関して不変であることが分かる。この積分をカルタンの相対積分不変式という。

ここで、閉曲線が同時刻であるとすれば正準一形式は\theta=p_i dq^iでおきかえられる。閉曲線の作る閉曲面をSとすれば、ストークスの定理より

\oint_{\partial S} \theta = \int_S d \theta = \int_S \Omega

となり、これも時間発展に関して不変である。これおをポアンカレの絶対積分不変式という。

逆に、積分式\oint_l \Thetaを不変にする相空間内の連続写像\phi_{\tau}の作る経路は正準方程式の積分曲線となることが示せる。これを、カルタンの原理という。

これを示す。\oint_l \Thetaが不変であると仮定する。

閉曲線l_0が写像\phi_{\tau}l_{\tau_1}に移るとする。曲線l_0の始点と終点を\phi_{\tau}で写像して得られる経路を\tilde c,\ \tilde c + \Delta \tilde cとする。l_0,\ l_{\tau_1},\ \tilde c,\ \tilde c + \Delta \tilde cの囲む曲面A上のd\Thetaにストークスの定理を適用すれば、\tilde c,\ \tilde c + \Delta \tilde cが同じ曲線であり、積分の方向が逆だから打ち消しあうことを用いて、

\int_A d \Theta = \oint_{\partial A} \Theta = \int_{ l_{\tau_1}} \Theta - \int_{l_0} \Theta

となる。この式は、仮定により\oint_l \Thetaが不変であるから、0となる。

また、\tau_1が小さくて\tau_1 = \Delta \tauと出来るとして、

\int_A d\Theta  = \iint_{0\le \lambda \le 1,\ 0 \le \tau \le \Delta \tau} d\tau d\lambda <d\Theta |\frac{\partial }{\partial \tau},\frac{\partial }{\partial \lambda}> = \int_{\lambda =0}^{\lambda =1} d\lambda <d\Theta |\tilde c',u_{\lambda}>\Delta \tau

より、u_{\lambda}が任意であるから、< d\Theta | \tilde c' , \bullet >=0が得られる。

正準変換は、正準方程式の形を変えない変換である。変換後の正準座標、運動量、ハミルトニアンがQ,\ P,\ K(Q,P,t)とする。この変換は母関数W_1 (q,Q,t)を用いて、次のように書ける。

p_i dq^i - P_i dQ^i - (H-K) dt = dW_1

また、W_2 = W_1 - p_i q^i などのルジャンドル変換を用いて、変数の組を変えた母関数が全部で4つ存在する。

次の、変換についてのシンプレクティック条件について考える。

  1. 正準2形式dp_i \wedge dq^i = \Omega が不変である。
  2. 変換行列\hat Mが、{}^t \hat M \hat \Omega \hat M = \hat \Omega を満たす。(シンプレクティック条件の行列表現。)
  3. 変換行列がシンプレクティック行列となる。

ただし、シンプレクティック行列とは{}^t \hat M \hat \Omega \hat M = \hat \Omega を満たす正則行列Mであるから、2,3の条件が同値なのは自明。

これらの条件はみな同値で、正準変換であるための必要条件である。つまり、

変換が正準変換である ⇒ 変換はシンプレクティック条件を満たす

これを示すには、正準変換の定義式を外微分して、ハミルトニアンの時間微分がtだけに依ることを用いれば良い。シンプレクティック変数を用いればシンプレクティック条件の行列表現についても示せる。

実は、シンプレクティック条件は正準変換であるための十分条件でもある。つまり、

変換がシンプレクティック条件を満たす⇒ 変換は正準変換である

シンプレクティック条件を満たす変換\phiにより、Z=\phi(z,t) ,\ H'(Z)=H(\phi^{-1} (z,t)) とすれば、

\hat \Omega \dot Z  \\ =  \hat \Omega [\hat M \hat \Omega' \nabla_{z} H + \dot \phi ] \\ = \hat \Omega [\hat M \hat \Omega' {}^t M \nabla_{Z} H' + \dot \phi ] \\ = \nabla_{Z} H' + \hat \Omega \dot \phi

ゆえに、

\Omega_{\rho \mu} \dot \phi^{\mu} = \Omega_{\rho \mu} \frac{\partial \phi^{\mu}}{\partial t} = \frac{\partial F}{\partial Z^{\rho}}

となる関数Fが存在すればK=H'+FをハミルトニアンとしてZは正準方程式を満たす。これは、上式にdZ^{\rho}をかけて一形式にしたものの外微分が0になるから、ポアンカレの補題を適用してFの存在が確かめられる。

正準変換の例としては、ガリレイ変換、ゲージ変換、系の時間発展などがあげられる。特に系の時間発展は正準変換の一種であることは、著しい特徴である。

シンプレクティック行列全体の集合Sp(n)は群をなす。これを実シンプレクティック群という。ゆえに、正準変換の全体の集合CTも群をなす。

正準変換にたいして不変な量を正準不変式という。先のカルタンの積分不変式やポアンカレの積分不変式が正準不変式であることが母関数を利用して示せる。

ポアンカレの積分不変式にストークスの定理を用いれば、

\oint_{\partial A} \theta = \int_A d\theta \\ = \iint_A <\Omega |\frac{\partial }{\partial \xi},\frac{\partial }{\partial \eta} >d\xi d\eta \\ =\iint_A \frac{\partial z^{\rho}}{\partial \xi} \Omega_{\rho \sigma} \frac{\partial z^{\sigma} }{\partial \eta} d\xi d\eta \\ = \iint_A (\frac{\partial p_i}{\partial \xi} \frac{\partial q^i}{\partial \eta} -\frac{\partial p_i}{\partial \eta} \frac{\partial q^i}{\partial \xi}) d\xi d\eta

となる。上式の被積分関数は正準不変式である。この量をラグランジュ括弧といい、

|[\xi, \eta]|:=\frac{\partial z^{\rho}}{\partial \xi} \Omega_{\rho \sigma} \frac{\partial z^{\sigma} }{\partial \eta} =\frac{\partial p_i}{\partial \xi} \frac{\partial q^i}{\partial \eta} -\frac{\partial p_i}{\partial \eta} \frac{\partial q^i}{\partial \xi} = <\Omega |\frac{\partial }{\partial \xi},\frac{\partial }{\partial \eta} >

で定義する。(テキストでは〔 〕という括弧を使っているが、TeXでの書き方が不明なので上の記法にした。)座標を明示したい場合は、|[\xi, \eta]|_z,\ |[\xi, \eta]|_{(q,p)}のように書く。

次の式、

< \Omega | u,v> = u^{\mu } \Omega_{\mu \nu } v^{\nu } =:[u, v]_s

をベクトルの斜交積といい、歪対象・双線形である。これは正準不変量である。\hat Mがシンプレクティック行列ならば、

(M^{\mu}_{\rho} u^{\rho}) \Omega_{\mu \nu} (M^{\nu}_{\sigma} v^{\sigma}) = u^{\rho} (^t \hat M \hat \Omega \hat M)_{\rho \sigma} v^{\sigma} \\ = u^{\rho} \hat \Omega_{\rho \sigma} v^{\sigma}

となる。

この斜交積は相空間における内積であり、シンプレクティック内積という。シンプレクティック空間の座標変換はこの量を不変にすることで特徴づけられる。

シンプレクティック条件の行列表示より、相空間の体積要素が正準不変式であることが分かる。これの特別な場合が、リュウヴィルの定理で、正準変換を系の時間発展に限ればよい。

※1:おかしいな、というのは\Delta pも要求しなければ\Delta \lambda=0は言えないのではないかということ。この疑問は未解決。

書いていて、今回はいつもにも増して長いなと思った。内容すべてを書くんじゃなくて、流れを書くように心がけないと。積分不変式のところなんか、証明書いちゃってるし。目標を見失ってはいけないな。

この章は一度で分からなかったので何回も読んでじわじわ分かってきた感じなのであまり感動とかは無かった気がする。あと、読んでから時間がたってるしな。ただ、シンプレクティック形式とか、技巧的な事になれてきたのは大きいんじゃないだろうか。

まあ、解析力学Iはこれで終わりなので本一冊読みきったのは嬉しいね。読み始めるまでは何書いているのかサッパリだったのに。

さあ次は解析力学IIだ。実はもう第六章読み終わってるけど。どんどんマニアックになっていくな。。。目標のディラックの処方まであと五章!まだまだ長い。

Advertisements

Written by tkf

November 8, 2007 at 5:39 pm

Posted in 解析力学

ルジャンドル変換のまとめ。

with one comment

ルジャンドル変換とルジャンドル逆変換を導く仮定を表にしてみると、双対性が分かりやすくなるのではと思ったのでまとめてみた。

  ルジャンドル変換 x \mapsto y,\ F(x) \mapsto G(y) ルジャンドル逆変換 y \mapsto x,\ G(y) \mapsto F(x)
仮定(逆変換の時は、自動的に成り立つ): \frac{\partial^2 F}{\partial x^i  \partial x^j} dx^i dx^j
が局所的に正値定符号
\frac{\partial^2 G}{\partial y^i  \partial y^j} dy^i dy^j \\ = \frac{\partial \psi^i}{\partial y^j} dy^j d \frac{\partial F}{\partial x^i} \\ = \frac{\partial^2 F}{\partial x^i  \partial x^j} dx^i dx^j
より、局所的に正値定符号
変換に使う関数の定義: \Phi (y,x) := y_i x^i - F(x) \Psi (x,y) := y_i x^i - G(y)
定義した関数が極致をとる条件: \frac{\partial \Phi}{\partial x^i}=y_i - \frac{ \partial F}{ \partial x^i}=0
\therefore \  y_i = \frac{ \partial F}{ \partial x^i}(x)
\frac{\partial \Psi}{\partial x^i}=y_i - \frac{ \partial G}{ \partial x^i}=0
\therefore \ x_i = \frac{ \partial G}{ \partial y^i}(y)
上式を逆に解く: x^i = \psi^i(y) y^i = \phi^i(x)
変換後の関数の定義 G(y) := \Phi (y,\psi (y)) \\ = y_i \psi^i(y) - F(\psi(y)) F(x) := \Psi (x,\phi (x)) \\ = x_i \phi^i(x) - G(\phi(x))
その微分: dG(y) := \psi^i(y) dy_i \\ + \{y_i - (\frac{\partial F}{\partial x^i})_{x=\psi(y)} \} d\psi^i(y) \\ = \psi^i(y) dy_i dF(y) := \phi^i(x) dx_i \\ + \{x_i - (\frac{\partial G}{\partial y^i})_{y=\phi(x)} \} d\phi^i(x) \\ = \phi^i(x) dx_i

F=\Psi (x,\phi (x)), \ G=\Phi (y,\psi (y)),\ x,\ yはそれぞれ、解析力学のL,\ H,\ \dot q,\ pに対応する。

何か変換について考えるとき、重要なのは「何が不変量か?」ということだと思う。その視点で上の表を見てみると仮定の行の二次形式が不変で、 \frac{\partial^2 G}{\partial y^i \partial y^j} dy^i dy^j = \frac{\partial^2 F}{\partial x^i \partial x^j} dx^i dx^jとなっていることが分かる。これはルジャンドル変換では極値をとる点が保存される、ということだろう。

。。。と、書いてみたものの何かだまされた気がする説明だ。第一、 \Psi (x,y), \ \Phi (y,x)は違う関数なのに極値をとる点が同じなんて説明に意味があるのだろうか?スッキリ理解出来るまではもう少しかかりそうだ。

Written by tkf

November 7, 2007 at 7:08 am

Posted in 解析力学, 数学

Web Alarm Clock

leave a comment »

この前twitterで

ニコ動を目覚ましにするアイディア:ニコ動からどっか適当なページに飛んだ後javascript:void(setTimeout(‘history.back()’,1000*3600*3))をアドレスバーに入力。

とつぶやいたので、このアイディアで使えるツールが出来ないかと思って作ってみた。

それが、Web Alarm Clock

使い方は、

  1. 何か音の出るページを探す。ニコ動とかYouTubeとか。
  2. Web Alarm Clockへ直接ジャンプ。
  3. 適当な時間をセットしてEnterを叩く。(飛びたいページのアドレスが分かる場合は、直接入力。)
  4. 時間が来るとそのページにジャンプし、音が出る。

という感じ。
javascriptを使ってみたかったのもあり、ページ遷移なしで頑張った。結局休みの午後を潰してしまったけど。ググって見つけたサンプルを元にしているから理解してない部分もあり、もしかしたらとんでもないコードを書いてるのかもしれない。

なんちってWeb2.0が目標だったけど、あんまりそう見えないな。やっぱ角は丸くして映り込みのあるロゴが無いとダメか。

この休みは、Pythonでcsvから方眼紙にグラフを書いてpdf出力するプログラム(実験レポート用)を書いたりしたし、プログラミングばっかりやってた気がする。こっちはexe化が上手く行かなかったので公開はしなかった。

Written by tkf

November 6, 2007 at 8:33 am

Posted in web

Emacsでipython

leave a comment »

アップデートされたUbuntu 7.10をインストールしてみると、Eamcsでipython使う設定が前にインストールした時と違うみたいだ。Emacsにはデフォルトでpython-modeがついてるので、ipythonは使わずにpython-modeだけ使うならなにもしなくて良いのだけれど、ipythonをEmacsから使いたいのでがんばってみた。結構時間がかかってしまったのでメモがてらまとめてみる。

まず、Emacsやpythonはインストールされているとして、ipythonとpythom-modeをインストール。

$ sudo apt-get install ipython

$ sudo apt-get install python-mode

このままEmacsを起動すると次のようなエラーが出てしまう。

file-error “Cannot open load file” “python-mode”

.emacsに次の設定を追加で書き込む。

;; python-mode設定
(add-to-list ‘load-path “/usr/share/emacs/site-lisp/python-mode”)
(setq auto-mode-alist (cons ‘(“\\.py$” . python-mode) auto-mode-alist))
(setq interpreter-mode-alist (cons ‘(“python” . python-mode) interpreter-mode-alist))
(autoload ‘python-mode “python-mode” “Python editing mode.” t)
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

;; ipython設定
(require ‘ipython)

これでpython-modeのエラーも消え、ipythonも使えるようになる。 “/usr/share/emacs/site-lisp/python-mode”は、python-mode.elのあるパスなので、もし違う場合はそれを変更する。(fixing emacs “cannot open load file” errorsを参考にしましました。)他は、python-mode.elやipython.elに書かれてある設定と同じ。

あとは、補完機能が使えれば完璧なんだけどな。pycompleteとかあるんだけど使い方が分からない。

Written by tkf

November 2, 2007 at 3:08 am

Posted in programming, ubuntu