読者です 読者をやめる 読者になる 読者になる

ゆるふわブログ

東京大学理科 I 類 2 年の学生です.プログラミング,大学の勉強,日常生活で感じたことをゆるふわに書いていけたらなと思います.技術的に拙いところがあっても温かい目で見守っていただければ幸いです.

連成振動と 2 次超曲面

テスト無事終わりました!
今日は振動・波動論のテスト中に気づいたことをまとめてみようと思います.

振動・波動論のテストの大問 1 は連成振動の問題でした.3 連成振子.3 つの質量 M のおもりが互いにバネで接続されているやつです.ここでは一般に N 連成振子を考えます.N 個のおもりの位置を  x_n\ (n=1,2,3,\cdots) とすると,運動方程式は,

 \begin{align*}
  M\ddot{x}_n &= -k(x_n-x_{n-1})+k(x_{n+1}-x_n)\\
  \ \\
  M \ddot{\mathbf{x}} &= -K\mathbf{x} \\
  \ \\
  \mathbf{x} &= \begin{pmatrix}
    x_1 \\
    x_2 \\
    \vdots \\
    x_N
  \end{pmatrix} \\
  \ \\
  K &= \begin{pmatrix}
    2k & -k & 0 & \cdots & \cdots & \cdots & 0 \\
    -k & 2k & -k & 0 & \cdots & \cdots & 0 \\
    0 & -k & 2k & -k & 0 & \cdots & 0 \\
    \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\
    0 & \cdots & \cdots & 0 & -k & 2k & -k \\
    0 & \cdots & \cdots & \cdots & 0 & -k & 2k
  \end{pmatrix}
\end{align*}

となります. x_0 = x_{N+1} = 0 という形式的な変数を用意すれば,第 1 式のように綺麗に表されます.それを行列とベクトルでまとめたのが第 2 式です.規則性のおかげで, K は対称行列になります.よって,固有ベクトルを正規直交基底にしたものを束ねた直交行列で対角化できます.この直交行列を  P とすると,

 \begin{align*}
  P^{-1} K P &= \begin{pmatrix}
    \lambda_1 & 0 & \cdots & 0 \\
    0 & \lambda_2 & \cdots & 0 \\
    \vdots & \vdots & \ddots & \vdots \\
    0 & 0 & \cdots & \lambda_N
  \end{pmatrix} \\
  \ \\
  M\ddot{\mathbf{x}} &= -P\begin{pmatrix}
    \lambda_1 & 0 & \cdots & 0 \\
    0 & \lambda_2 & \cdots & 0 \\
    \vdots & \vdots & \ddots & \vdots \\
    0 & 0 & \cdots & \lambda_N
  \end{pmatrix} P^{-1} \mathbf{x} \\
  \ \\
  MP^{-1}\ddot{\mathbf{x}} &= -\begin{pmatrix}
    \lambda_1 & 0 & \cdots & 0 \\
    0 & \lambda_2 & \cdots & 0 \\
    \vdots & \vdots & \ddots & \vdots \\
    0 & 0 & \cdots & \lambda_N
  \end{pmatrix} P^{-1} \mathbf{x}
\end{align*}
よって,
 \begin{equation*}
  \mathbf{Q} = \begin{pmatrix}
    Q_1 \\
    Q_2 \\
    \vdots \\
    Q_N
  \end{pmatrix} = P^{-1} \begin{pmatrix}
    x_1 \\
    x_2 \\
    \vdots \\
    x_N
  \end{pmatrix} = P^{-1} \mathbf{x}
\end{equation*}
と基準座標を導入すると,
 \begin{align*}
  M\ddot{\mathbf{Q}} &= -\begin{pmatrix}
    \lambda_1 & 0 & \cdots & 0 \\
    0 & \lambda_2 & \cdots & 0 \\
    \vdots & \vdots & \ddots & \vdots \\
    0 & 0 & \cdots & \lambda_N
  \end{pmatrix} \mathbf{Q} \\
  \ \\
  M\ddot{Q}_n &= -\lambda_n Q_n
\end{align*}
となり,各方程式は単振動型の微分方程式になります.よって, Q_n は解けるので,基準座標の定義を遡って  \mathbf{x} = P \mathbf{Q} と解が求められます.つまり,各  x_n は角振動数  \sqrt{\frac{\lambda_1}{M}},\ \sqrt{\frac{\lambda_2}{M}},\cdots, \sqrt{\frac{\lambda_N}{M}} の単振動の重ね合わせ (線形結合) で表されることがわかります.

つまり,1 つの固有値が 1 つの基準振動数  \omega_n = \sqrt{\frac{\lambda_n}{M}} に対応しているわけですが,固有ベクトルは対応する基準振動の振幅比を表します.
これは, P が直交行列なので  P^{-1} = {}^t\!P であることから,固有ベクトル \mathbf{v_n} とすると,

 \begin{align*}
  P &= \begin{pmatrix}
    \mathbf{v_1} & \mathbf{v_2} & \cdots & \mathbf{v_N}
  \end{pmatrix} \\
  \ \\
  \mathbf{Q} &= P^{-1}\mathbf{x} \\
  &= {}^t\!P\mathbf{x} \\
  &= \begin{pmatrix}
    \mathbf{v_1} \\
    \mathbf{v_2} \\
    \vdots \\
    \mathbf{v_N}
  \end{pmatrix} \begin{pmatrix}
    x_1 \\
    x_2 \\
    \vdots \\
    x_N
  \end{pmatrix}
\end{align*}

となり,基準座標  Q_n \mathbf{v_n} = (v_{n1}, v_{n2}, \cdots, v_{nN}) の各成分で  x_n を線形結合した  \displaystyle\sum_{i=1}^N v_{ni}x_i で表されるからです.

で,テストで,基準座標で全エネルギー  E を表しなさいって問題が出たんですね.まぁ,基準振動のエネルギーの和だろうから,

 \displaystyle \begin{equation*}
  E = \sum_{n=1}^N \frac{1}{2}M \left(\dot{Q}_n^2 + \omega_n^2 Q_n^2\right)
\end{equation*}

で終わりにしようと思ってたんですが,もうちょっとちゃんと書いといたほうがいいのかなと思って.プリントに書いてあったことを思い出してたんですが… プリントには,連成振動の全エネルギーをまず  x_n の方で表してから, Q_n に持って行くみたいな流れだったんです.で, x_n で全エネルギーを表すと,

 \begin{equation*}
  E = \frac{1}{2}M{}^t\!\dot{\mathbf{x}}\dot{\mathbf{x}} + \frac{1}{2} {}^t\!\mathbf{x}K\mathbf{x}
\end{equation*}

って書いてあったんですね! 弾性エネルギーが 2 次超曲面の形で書けちゃうんです!
(タイトル回収)
すごく綺麗だと思いました. \mathbf{x} を一つのデータと捉えた時,2 次曲面はまさにその "2 次" の形なのだなぁと.

なんでこうなるのかちょっと考えてみました.
 x_n運動方程式 \dot{x}_n をかけると,力 × 速度で仕事率になるので,

 \displaystyle \begin{align*}
  M \ddot{x}_n \dot{x}_n &= +kx_{n-1}\dot{x}_n -2kx_n\dot{x}_n +kx_{n+1}\dot{x}_n \\
  \frac{d}{dt}\left(\frac{1}{2}M\dot{x}_n^2\right) &= +kx_{n-1}\dot{x}_n -\frac{d}{dt}\left(\frac{1}{2}2kx_n^2\right) +kx_{n+1}\dot{x}_n
\end{align*}

これを n が 1 から N まで足し合わせると, x_0 = x_{N+1} = 0 は消えて,積の微分から  \displaystyle\dot{x}_nx_{n+1} + x_n\dot{x}_{n+1} = \frac{d}{dt}\left(x_nx_{n+1}\right) とまとめられるので,

 \displaystyle \begin{align*}
  \frac{d}{dt}\left(\sum_{n=1}^N \frac{1}{2}M\dot{x}_n^2\right) &= \frac{d}{dt}\left(\sum_{n=1}^N \left(k x_{n}x_{n+1}-\frac{1}{2}2kx_n^2\right)\right) \\
  &= -\frac{d}{dt}\left(\frac{1}{2}{}^t\!\mathbf{x}K\mathbf{x}\right) \\
  \frac{d}{dt}\left(\frac{1}{2}M{}^t\!\dot{\mathbf{x}}\dot{\mathbf{x}} + \frac{1}{2} {}^t\!\mathbf{x}K\mathbf{x}\right) &= 0
\end{align*}

となります. K は対称行列ですから,i < j を満たす (i,j) 成分 (対角成分の上側) と i > j を満たす (i,j) 成分 (対角成分の下側) が同じです.よって, \dfrac{1}{2} {}^t\!\mathbf{x}K\mathbf{x} \dfrac{1}{2} によって 1 つ分が残ります.また,対角成分は 1 つだけなので, \dfrac{1}{2} によって,半分になります.第 1 式の右辺を見ると, \dfrac{d}{dt} の中で, x_nx_{n+1} には  \dfrac{1}{2} がかかっていませんが, x_n^2 の項にはかかっています.よって,これは 2 次超曲面の形で書けるのです*1

これを  \mathbf{x} = P\mathbf{Q} を代入して基準座標の式に変えます.

 \displaystyle \begin{align*}
  \frac{1}{2}M{}^t\!\dot{\mathbf{x}}\dot{\mathbf{x}} + \frac{1}{2} {}^t\!\mathbf{x}K\mathbf{x} &= \frac{1}{2}M{}^t\!{(P\dot{\mathbf{Q}})}P\dot{\mathbf{Q}} + \frac{1}{2} {}^t\!{(P\mathbf{Q})}KP\mathbf{Q} \\
  &= \frac{1}{2}M{}^t\!\dot{\mathbf{Q}}P^{-1}P\dot{\mathbf{Q}} + \frac{1}{2} {}^t\!\mathbf{Q}P^{-1}KP\mathbf{Q} \\
  \ \\
  &= \frac{1}{2}M{}^t\!\dot{\mathbf{Q}}\dot{\mathbf{Q}} + \frac{1}{2} {}^t\!\mathbf{Q}\begin{pmatrix}
    \lambda_1 & 0 & \cdots & 0 \\
    0 & \lambda_2 & \cdots & 0 \\
    \vdots & \vdots & \ddots & \vdots \\
    0 & 0 & \cdots & \lambda_N
  \end{pmatrix}\mathbf{Q}
\end{align*}

これで,形は少し違いますが,上にあげた基準座標でのエネルギー  E の表現が導けました.
ここで注目したいのが 2 次曲面がどうなったかです.上の方で説明したように,対角化を連立微分方程式を解くのに利用していると捉えることもできますが, 2 次超曲面によって弾性エネルギーを表すと,対角化は 2 次曲面  {}^t\!\mathbf{x}K\mathbf{x} を標準形  \displaystyle \sum_{n=1}^N \lambda_n Q_n^2 に変形していると捉えることができるのです!対角化の応用例というと,この連成振動の話と,微分積分学線形代数学を大学初年次で習っている身としては,Hessian による 2 変数関数の極値判定をあげたくなりますが,あれも, f_x(x,y) = f_y(x,y) = 0 を満たす停留点の周りで 2 次近似をして,2 次曲面の標準形を求め, f(x,y) = x^2+y^2,\ f(x,y) = -x^2-y^2,\ f(x,y) = x^2-y^2 の場合に帰着していると直感的には捉えることができますから*2,この話と繋がっていたのです.一見バラバラだった対角化の応用例が,実は同じ話だったと自分の中で繋がったのでとてもうれしかったです.微分積分学線形代数学,振動・波動論,今期取っていた 3 つの授業で暗に同じことを繰り返し教わっていたのだなぁとしみじみ思いました.

*1:2 次超曲面では, K の (i,j) 成分が  x_ix_j の係数に対応します.

*2:つまり,2 次超曲面の係数行列が  \begin{pmatrix} f_{xx} & f_{xy} \\ f_{yx} & f_{yy} \end{pmatrix} となるということです.