bashのプロンプトフォーマットについて

プロンプトには通常ホスト名が表示されるようになっていますが、gitや仮想環境をつかっていたりしてごっちゃになったので、 自分用メモを残していきます。

# ~.bashrcに以下を記載
PS1=\[\e[32m\]\u\[\e[00m\]:\[\e[36m\]\w\[\e[35m\]$(__git_ps1)\[\e[00m\]\n $

以下のように表示されます。

usr:cd (git_branch)
$ command

解説

PS1という環境変数にはbashのプロンプトに表示されるデータをいれます。

  • \u : ユーザー名
  • \h : ホスト名        *今回は使ってません
  • \w : カレントディレクトリ名
  • [\e[色指定m]
# 色一覧
30m   Black
31m   Red
32m   Green
33m   Yellow
34m   Blue
35m   Purple
36m   Cyan
37m   White

極座標系での運動方程式とラグラジアン

ニュートン運動方程式って知ってますか?

\begin{align} \boldsymbol{F} &= m\boldsymbol{a} \\ &= m\boldsymbol{\ddot{r}} \\ &= m(\ddot{x}\mathbf{e}_x+\ddot{y}\mathbf{e}_y) \end{align}

非常に有名な物理法則です。直交座標表示になっていますがこれを極座標表示だとどうなるでしょうか。ここで \boldsymbol{r} \neq rであり、 \boldsymbol{r}は位置ベクトルを、 r極形式での動径を表すことに注意してください。

\begin{align} \boldsymbol{F} &= m\boldsymbol{\ddot{r}} \\ &= m\left((\ddot{r}-r\dot{\theta})\mathbf{e}_r + \frac{d}{dt}(r^2\ddot{\theta})\mathbf{e}_\theta\right) \, (\boldsymbol{r} \neq r) \\ \end{align}

これは覚えにくく、忘れやすいですね。 というわけでラグランジュ方程式を覚えようという話です。 ラグランジュ方程式とは次の式でニュートン運動方程式と等価です。

\begin{align} (\frac{d}{dt} \frac{\partial}{\partial \dot{r}} - \frac{\partial}{\partial r} ) L &= 0 \\ (\frac{d}{dt} \frac{\partial}{\partial \dot{\theta}} - \frac{\partial}{\partial \theta} ) L &= 0 \end{align}

 Lラグラジアンと言われる物理量で運動エネルギー T位置エネルギー Uの差で定義されます。

\begin{align} L &= T-U \\ T &= \frac{1}{2} m\boldsymbol{\dot{r}}^2 \\ U &= -\int \boldsymbol{F} \cdot d\mathbf{r} \end{align}

極形式でのラグラジアンを求めてみます。

\begin{align} L(r, \dot{r}, \theta, \dot{\theta}) = \frac{1}{2} m(\dot{r}^2 + r^2 \dot{\theta}^2) - U(r, \theta) \\ \frac{1}{2} m\left(\frac{d}{dt} \frac{\partial}{\partial \dot{r}} - \frac{\partial}{\partial r} \right) \left( (\dot{r}^2 + r^2 \dot{\theta}^2) - U\right) &= 0 \\ m\left(\ddot{r}-r\dot{\theta}\right) - F_r &= 0 \\ \frac{1}{2} m\left(\frac{d}{dt} \frac{\partial}{\partial \dot{\theta}} - \frac{\partial}{\partial \theta} \right) \left( (\dot{r}^2 + r^2 \dot{\theta}^2) - U\right) &= 0 \\ m\frac{d}{dt}(r^2\ddot{\theta}) - F_\theta &= 0 \end{align}

これで極形式運動方程式が導出できます。ただし以下の関係式を用いました。

\begin{align} \boldsymbol{F} = -\nabla U \, \left(F_r = -\frac{\partial}{\partial r}U ,\, F_\theta = -\frac{\partial}{\partial \theta}U\right) \end{align}
\begin{align} \boldsymbol{\dot{r}^2} &= v_x^2 + v_y^2 \\ &= \left( \frac{d}{dt} (r \cos \theta) \right)^2 + \left( \frac{d}{dt} (r \sin \theta) \right)^2 \\ &= (\dot{r} \cos \theta - r \dot{\theta} \sin \theta)^2 + (\dot{r} \sin \theta + r \dot{\theta} \cos \theta)^2 \\ &= \dot{r}^2 + r^2 \dot{\theta}^2 \end{align}

なぜラグランジュ方程式が嬉しいかを説明しますと座標変換に対して方程式が不変なんです。 具体的には3次元の球面座標や円柱座標系、もちろん直交座標系でもラグランジュ方程式から運動方程式を導出できます。 以下は球面座標の運動方程式ラグランジュ方程式です。この便利さを噛みしめましょう。

\begin{align} F_r &= m\ddot{r}-mr(\dot{\theta}^2 + \dot{\phi}^2 \sin^2\theta) \\ F_\theta &= \frac{d}{dt}(mr^2\dot{\theta})-mr^2\dot{\phi}^2 \sin\theta\cos\theta \\ F_\phi &= \frac{d}{dt}(mr^2\dot{\phi}\sin^2\theta) \end{align}
\begin{align} (\frac{d}{dt} \frac{\partial}{\partial \dot{r}} - \frac{\partial}{\partial r} ) L &= 0 \\ (\frac{d}{dt} \frac{\partial}{\partial \dot{\theta}} - \frac{\partial}{\partial \theta} ) L &= 0 \\ (\frac{d}{dt} \frac{\partial}{\partial \dot{\phi}} - \frac{\partial}{\partial \phi} ) L &= 0 \end{align}

もしかしたら一般化座標やハミルトニアンの話に続きます。

物理の記号・記法について

物理(数学)で使われる記号・記法について簡単にまとめます。

  • 書体
    数学定数はローマン体          e.g.  \mathrm{\pi},\ \mathrm{e}
    数学関数もローマン体          e.g.  \sin ,\ \mathrm{max}
    物理定数もローマン体          e.g.  \mathrm{g},\ \mathrm{c}
    変数はイタリック体           e.g.  x,\ y,\ z
    ベクトル定数はボールド体        e.g.  \mathbf{i,\ j,\ k}
    ベクトル変数はボールドーイタリック体  e.g.  \boldsymbol{x,\ y,\ z}

  • 時間微分演算子
     \displaystyle{\frac{d}{dt} \ *}ライプニッツの記法)や  \displaystyle{\dot{*}}ニュートンの記法)があります。
    私は後者の記法を好んで使います。

  • ベクトル微分演算子  \nabla
     \displaystyle{\nabla = \boldsymbol{e_x} \frac{\partial}{\partial x} + \boldsymbol{e_y} \frac{\partial}{\partial y} + \boldsymbol{e_z} \frac{\partial}{\partial z}}  のことです。
     \mathrm{grad}, \mathrm{div},  \mathrm{rot}(\mathrm{or} \ \mathrm{curl}) を使う流儀の人もいます。対応を示しておきます。

\begin{align} \mathrm{grad} \ * &= \nabla * \\ \mathrm{div} \ * &= \nabla \cdot * \\ \mathrm{rot} \ * &= \nabla \times * \\ \end{align}

はてなブログでTeX表記

数式を書くからには  \TeX で書きたいところです。

[tex: \mathrm{\pi} = 3.1415926535]

とやると


 \mathrm{\pi} = 3.1415926535


と表示されます。


また、記事内で既に \TeX表記を使用していれば

\begin{align}
  \mathrm{e} = 2.7182818284
\end{align}

でも大丈夫なようです。


実際は次のように運用することになります。

>|
<span style="font-size: 150%"><div align="center">[tex:\displaystyle{\mathrm{e} = 2.7182818284}]</div></span>|<


\displaystyle{\mathrm{e} = 2.7182818284}

非常に面倒なので、設定により省略できる方法があったら追記します。



追記
cssにスタイルを記述することである程度緩和されました。

<!--
.tex {
  font-size: 150%;
  background: #000;
  margin: 5px 5px;
  padding: 5px 5px;
  text-align: center;
}
--> 
<div class="tex">[tex:\displaystyle{\mathrm{e} = 2.7182818284}]</div>

\displaystyle{\mathrm{e} = 2.7182818284}

自己紹介

初めまして、ヤブレカブレと申します。

ニコニコ動画 ヤブレカブレ - niconico(ニコニコ))で囲碁動画を上げているものです。

ここでは囲碁だけではなく、趣味全般についてアウトプットしていこうと思っています。

 

記事の内容は大体以下の通りです。

理系記事

  • 数学
  • 物理学
  • 工学
  • プログラミング

ボードゲーム記事

 

備忘録的に記事を書いていこうと思います。ある記事がまとまったらニコニコにもアップロードできたらいいなあ…