Lagrangian to Hamiltonian = TQ to T*Q = Riemann to Sympletic

假设系统有Lagrangian
$L=L(q^1,...,q^n,\dot{q}^1,...\dot{q}^n,t)$
并满足 Euler-Lagrange 方程
(1)    $d/dt \partial L/\partial\dot{q}^i-\partial L/\partial q^i=0$
可以看出,上述微分方程处于2n维空间TQ,其坐标为
      $q^1,...,q^n,\dot{q}^1,...\dot{q}^n$
可以解释为构形空间Q的切丛。
   通常设势能V为$q^i$的函数,动能$T=1/2g_{ij}\dot{q}^i\dot{q}^j$。这里$g_{ij}$为Riemann测度张量。因此方程(1)为Riemann空间中的极值问题,特别是V=0时得到的就是Riemann空间中的测地线。

    现在使用Legendre变换从切丛TQ转换至余切丛 T*Q
                            $\omega$: TQ  --> T*Q
                            (q,$\dot{q}$)--> (q,p)
这里 $p_i=\partial L/\partial\dot{q}^i, i=1,...,n.$. 这时由Lagrangian函数描述的处于切丛 TQ的系统将转换为由下述 Hamiltonian函数 H描述的处于相空间 T*Q 的系统
       $H(p,q,t):=p_i\dot{q}^i-L(q,\dot{q},t) \; with\;   p_i=\partial L/\partial\dot{q}^i,$
Lagrange方程 (1)也转换为 Hamilton方程
(2)          $\dot{q}^i=\partial H/\partial p_i, \dot{p}_i=-\partial H/\partial q^i$
写成 Poisson 括号形式则为
(3)         $\dot{q}^i=\{q^i,H\},  \dot{p}_i=\{p_i,H\}$
     
    积分方程(2),我们可以得到p,q在相空间的流动。进一步,我们研究相空间的Sympletic结构。
    考虑Q上的可微函数H,其微分为一1形式$dH=\partial H/\partial q^idq^i+\partial H/\partial p_idp_i$.将其拉回到TQ则得到Hamiltonian矢量$V_H=\omega^{-1}(dH)$,写成内积(interior product)则为
         $\omega(V_H,*)=i_{V_H}\omega=dH$
    由于我们要求 变换$\omega: TQ-->T^*Q$一一对应,变换$\omega$必须非退化。另外我们要求Hamiltonian守恒,即
        $dH(V_H)=\omega(V_H,V_H)=0$
则$\omega$须为2-形式,即$\omega$具有Sympletic结构(非退化的封闭的2-形式)
        $\omega=dp_i\wedge dq^i$

References:
1. R. Berndt: An Introduction to Sympletic Geometry, American Mathematical Society, 2001
2. Topics in Representation Theory:Hamiltonian Mechanics and Symplectic Geometry
http://www.math.columbia.edu/~woit/notes22.pdf
3.  SYMPLECTIC VECTOR FIELDS http://www-personal.umich.edu/~wangzuoq/437W13/Notes/Lec%2034.pdf


VS Code下cmake, c++编译,调试环境的构成步骤

1   下载必须extension      按[Ctrl+Shift+X]打开extension窗口,选择安装"C/C++", "CMake", "CMake Tools" 2   在VSCode下打开作业目录 ...