ひとり勉強会

ひとり楽しく勉強会

[SICM] 1.5 The Euler-Lagrange Equations

オイラーラグランジュ方程式
action(pathから実数値への関数)が最小になるようなpathが、現実に実現されうるpathなのでした。ところで「f(x)を最小にするようなxは、fの微分が0になるようなxである」のと同じで、pathについても、「action(path)を最小にするようなpathは、actionの微分的なものが0になるようなpathである」はず。これを念頭において、実現されうるpathが満たさなければならない方程式を導出してみようの巻。
といっても、「path」自体が関数なので、普通の微分のように「actionをpathで微分する」のはできない。でも似たようなものとして「変分法」というのがある。

パスの変分

f : path → real、\eta : path とする。f の変分 \delta_\eta f
(\delta_\eta f)(q) = \lim_{\epsilon \rightarrow 0}\frac{f(q+\epsilon\eta)-f(q)}{\epsilon}
と定義する。微分と同じ感じ。

練習問題 1.7

微分と同じで、変分でも以下の性質が成り立つことを示せ。

  • (\delta_\eta(f+g))(q) = (\delta_\eta f)(q) +  (\delta_\eta g)(q)
  • (\delta_\eta cf)(q) = c(\delta_\eta f)(q)

左辺を定義にしたがって分解してから、limが加算,定数倍と可換であることを使って変形して、再度定義にしたがって戻すと右辺になる。

  • (\delta_\eta(fg))(q) = (\delta_\eta f)(q)g(q) +  f(q)(\delta_\eta g)(q)

左辺 =  \lim\frac{(fg)(q+\epsilon\eta)-(fg)(q)}{\epsilon} = \lim\frac{f(q+\epsilon\eta)g(q+\epsilon\eta)-f(q)g(q)}{\epsilon} = \lim\frac{(f(q+\epsilon\eta)-f(q))g(q+\epsilon\eta)+f(q)(g(q+\epsilon\eta)-g(q))}{\epsilon} = 右辺

  • (\delta_\eta(f \circ g))(q) = (Df \circ g)(q) (\delta_\eta g)(q)

左辺 = \lim\frac{f(g(q+\epsilon\eta))-f(g(q))}{\epsilon} = \lim\frac{f(g(q+\epsilon\eta))-f(g(q))}{g(q+\epsilon\eta)-g(q)}(\delta_\eta g)(q) = \lim{\epsilon' \rightarrow 0}\frac{f(g(q)+\epsilon')-f(g(q))}{\epsilon'}(\delta_\eta g)(q) = 右辺。最後の変形あやしすぎるので間違ってる気がする。

作用の変分

作用が最小になるということは、それは変分が 0 になるようなpathであるということで
\delta_\eta S(q)(t_1,t_2) = 0
つまり q はこれを満たさないといけないということになる。S の定義に従ってこれを展開して式変形していく(略)と、ラグランジアンが「時間・位置・速度」までで決まっているような系の場合は
[tex:D*1 - (\partial_1 L \circ \gamma)(q) = 0]
になる。\delta_1 は位置に関する偏微分で、\delta_2 は速度に関する偏微分。これを(オイラー・)ラグランジュ方程式と呼ぶ。

具体例
練習問題 1.9a
練習問題 1.11

1.9をSchemeに計算させてみよう。ラグランジアンはこう。

(define (V q)
   (let ((x ((component 0) q))
         (y ((component 1) q)))
     (+ (* 1/2 (+ (square x) (square y))) (* x x y) (- (* 1/3 (* y y y))))))

(define ((L mass) local)
  (let ((v (velocity   local))
        (q (coordinate local)))
    (- (* 1/2 mass (dot-product v v)) (V q))))

パスは変数で記号的に与えてやって…

(define x (literal-function 'x))
(define y (literal-function 'y))
(define (q t) (up (x t) (y t)))

ラグランジュ方程式は、組み込みの関数が導出してくれます。

guile> (pe (((Lagrange-equations (L 'm)) q) 't))
(down (+ (* m (((expt D 2) x) t))
         (* 2 (y t) (x t))
         (x t))
      (+ (* m (((expt D 2) y) t))
         (* -1.0 (expt (y t) 2))
         (expt (x t) 2)
         (y t)))

ええと、あってるみたいですね。よかった。

*1:\partial_2 L \circ \gamma)(q