物理のかぎしっぽ 記事ソース/面と点の距離(非正則行列の逆行列) のバックアップの現在との差分(No.7)

 #rst2hooktail_source
 ============================================================
 面と点の距離(非正則行列の逆行列)
 ============================================================
 
 正方行列でない行列の逆行列とは、どんなものか。
 という疑問の答えの一つがこれです。
 
 2つのベクトルの張る平面
 ===========================
 
 三次元空間内で、
 原点を通る二本のベクトル $\bm{a}=(a_1,a_2,a_3)^T$  [*]_ と $\bm{b}=(b_1,b_2,b_3)^T$ で
 張られる平面 $(x,y,z)^T=s\bm{a}+t\bm{b}$ と、点P $\bm{r}=(x,y,z)=(x_0,y_0,z_0)^T 
 との距離 $X$ が最短距離を示す時の $s$ と $t$ の値を求めます。
 つまり、
 
 .. [*] 右上の $ T $ は、転置を表します。
 
 <tex>
 \begin{pmatrix}
 x \\
 y \\
 z
 \end{pmatrix}
 =
 \begin{pmatrix}
 a_1 & b_1 \\
 a_2 & b_2 \\
 a_3 & b_3
 \end{pmatrix}
 \begin{pmatrix}
 s \\
 t
 \end{pmatrix}
 \equiv
 \begin{pmatrix}
 x_1 \\
 y_1 \\
 z_1
 \end{pmatrix}
 \leftrightarrow
 \begin{pmatrix}
 x \\
 y \\
 z
 \end{pmatrix}
 =
 \begin{pmatrix}
 x_0 \\
 y_0 \\
 z_0
 \end{pmatrix} \tag{##}
 </tex>
 
 が最も近づく時を考えます。
 
 それには、距離 $X^2$ が最小値を取る時を考えればよいです。
 つまりは、 $s,t$ の二次式なので、平方完成を行います。
 実際に計算してみると、
 
 <tex>
 X^2 &= (x_1-x_0)^2+(y_1-y_0)^2+(z_1-z_0)^2 \\
 &= (a_1s+b_1t-x_0)^2+(a_2s+b_2t-y_0)^2+(a_3s+b_3t-z_0)^2 \\
 &= (a_1^2+a_2^2+a_3^2)s^2+2(a_1b_1+a_2b_2+a_3b_3)st+(b_1^2+b_2^2+b_3^2)t^2 \\
 &- 2(a_1x_0+a_2y_0+a_3z_0)s- 2(b_1x_0+b_2y_0+b_3z_0)t+(x_0^2+y_0^2+z_0^2) \\
 &= |\bm{a}|^2s^2+2\bm{a}\cdot\bm{b}st+|\bm{b}|^2t^2-2\bm{a}\cdot\bm{r}s-2\bm{b}\cdot\bm{r}t+|r|^2 \\
 &\equiv \alpha s^2+ 2 \beta st + \gamma t^2 - 2 \delta s -2 \varepsilon t + \zeta \tag{##}
 </tex>
 
 最後の行で、ギリシャ文字 $\alpha,\beta, \cdot ,\zeta$ を定義しました。
 順番に、アルファ、ベータ、ガンマ、デルタ、イプシロン、ゼータと読みます。
 さらに計算を続けると、
 
 <tex>
 X^2 &= \alpha s^2+ 2 \beta st + \gamma t^2 - 2 \delta s -2 \varepsilon t + \zeta  \\
 &= \alpha(s+\frac{\beta t -\delta}{\alpha})^2-\frac{(\beta t-\delta)^2}{\alpha}+\gamma t^2 - 2 \varepsilon t +\zeta \\
 &= \alpha(s+\frac{\beta t -\delta}{\alpha})^2+(\gamma -\frac{\beta^2}{\alpha})t^2 +2(\frac{\beta \delta}{\alpha}
 -\varepsilon)t+\zeta -\frac{\delta^2}{\alpha} \\
 &= \alpha(s+\frac{\beta t -\delta}{\alpha})^2+(\gamma -\frac{\beta^2}{\alpha})
 \left( t+\dfrac{\dfrac{\beta \delta}{\alpha}-\varepsilon}{\gamma-\dfrac{\beta^2}{\alpha}} \right)^2 
 \zeta -\frac{\delta^2}{\alpha}- \dfrac{(\dfrac{\beta \delta}{\alpha}-\varepsilon)^2}
 {\gamma - \dfrac{\beta^2}{\alpha}} \\
 &= \alpha(s+\frac{\beta t -\delta}{\alpha})^2 + (t+\frac{\beta \delta - \varepsilon \alpha}{\alpha \gamma - \beta^2})^2
 +\zeta-\frac{\delta^2(\alpha \gamma-\beta^2)}{\alpha (\alpha \gamma-\beta^2)}
 -\frac{\beta^2 \delta^2 - 2 \alpha \beta \delta \varepsilon +varepsilon^2 \alpha^2}{\alpha (\alpha \gamma-\beta^2)} \\
 &= \alpha(s+\frac{\beta t -\delta}{\alpha})^2 + (t+\frac{\beta \delta - \varepsilon \alpha}{\alpha \gamma - \beta^2})^2
 +\zeta-\frac{\alpha \varepsilon^2 -2 \beta \delta \varepsilon+\gamma \delta^2}{\alpha \gamma-\beta^2} \tag{##}
 </tex>
 
 と、この様になります。
 最後の行の最初から二つの項は $\theta$ をベクトル $\bm{a}$ と $\bm{b}$ の成す角として、 $\alpha = |\bm{a}|^2 \neq 0$ かつ、 $\alpha \gamma - \beta^2 = |\bm{a}|^2|\bm{b}|^2-(\bm{a}\cdot \bm{b})^2 = |\bm{a}|^2|\bm{b}|^2(1-\cos^2 \theta) = |\bm{a}|^2|\bm{b}|^2 \sin^2 \theta =|\bm{a} \times \bm{b}|^2  \neq 0$ の時(つまり、 $\bm{a} \neq 0 $ かつ、ベクトル $\bm{a}$ と $\bm{b}$ の成す角が $0$ や $\pi$ でない時)に、ゼロにすることができて、その時の $s,t$ が知りたいのです。
 
 ここで、 $s$ と $t$ を決定する(二乗内の値をゼロにする)行列を書きだすと、
 
 <tex>
 \begin{pmatrix}
 \alpha & \beta \\
 0 & \alpha \gamma - \beta^2
 \end{pmatrix}
 \begin{pmatrix}
 s \\
 t
 \end{pmatrix}
 =
 \begin{pmatrix}
 \delta \\
 \varepsilon \alpha - \beta \delta
 \end{pmatrix} \tag{##}
 </tex>
 
 逆に解いて、
 
 <tex>
 \begin{pmatrix}
 s \\
 t
 \end{pmatrix}
 &=
 \frac{1}{\alpha(\alpha \gamma - \beta^2)}
 \begin{pmatrix}
 \alpha \gamma - \beta^2 & - \beta \\
 0 & \alpha
 \end{pmatrix}
 \begin{pmatrix}
 \delta \\
 \varepsilon \alpha - \beta \delta
 \end{pmatrix} \\
 &= 
 \frac{1}{\alpha(\alpha \gamma - \beta^2)}
 \begin{pmatrix}
 (\alpha \gamma - \beta^2)\delta 
 - (\varepsilon \alpha - \beta \delta)\beta \\
 \alpha(\varepsilon \alpha - \beta \delta)
 \end{pmatrix} \\
 &=
 \frac{1}{\alpha \gamma - \beta^2}
 \begin{pmatrix}
 \gamma\delta - \beta \varepsilon  \\
 \alpha \varepsilon - \beta \delta
 \end{pmatrix}
  \tag{##}
 </tex>
 
 ここから、ベクトルを使って表現することにします。
 
 <tex>
 \begin{pmatrix}
 s \\
 t
 \end{pmatrix}
 &=
 \frac{1}{|\bm{a} \times \bm{b}|^2}
 \begin{pmatrix}
 |\bm{b}|^2(\bm{a} \cdot \bm{r})-(\bm{a}\cdot \bm{b})(\bm{b} \cdot \bm{r}) \\
 |\bm{a}|^2(\bm{b} \cdot \bm{r})-(\bm{b}\cdot \bm{a})(\bm{a} \cdot \bm{r}) 
 \end{pmatrix}
  \tag{##}
 </tex>
 
 ここで、ベクトルの演算を練習しておきます。スカラー三重積は、
 
 <tex>
 \bm{a} \cdot (\bm{b} \times \bm{c}) = 
 \begin{vmatrix}
 a_1 & a_2 & a_3 \\
 b_1 & b_2 & b_3 \\
 c_1 & c_2 & c_3
 \end{vmatrix}
 =(\bm{a} \times \bm{b}) \cdot \bm{c}
 \tag{##}
 </tex>
 
 と言うように、スカラー積とベクトル積の入れ替えができます。
 そして、ベクトル三重積は、
 
 <tex>
 (\bm{a} \times \bm{b}) \times \bm{c}=\bm{b}(\bm{a} \cdot \bm{c})-\bm{a}(\bm{b} \cdot \bm{c})
 \tag{##}
 </tex>
 
 ですから、これと新たなベクトル $\bm{d}$ とのスカラー積をとって、
 
 <tex>
 (\bm{a} \times \bm{b}) \times \bm{c} \cdot \bm{d} =(\bm{a} \cdot \bm{c})(\bm{b} \cdot \bm{d})-(\bm{a} \cdot \bm{d})(\bm{b} \cdot \bm{c})
 \tag{##}
 </tex>
 
 ここで、 $\bm{a} \times \bm{b}=\bm{e}$ と見て、式( $7$ )を適用すると、
 
 <tex>
 (\bm{a} \times \bm{b}) \times \bm{c} \cdot \bm{d} = (\bm{e} \times \bm{c}) \cdot \bm{d} \\
 &= \bm{e} \cdot (\bm{c} \times \bm{d}) \\
 &= \bm{a} \times \bm{b} \cdot (\bm{c} \times \bm{d}) \\
 &= (\bm{a} \cdot \bm{c})(\bm{b} \cdot \bm{d})-(\bm{a} \cdot \bm{d})(\bm{b} \cdot \bm{c})
 \tag{##}
 </tex>
 
 よって、
 
 <tex>
 (\bm{a} \cdot \bm{c})(\bm{b} \cdot \bm{d})-(\bm{a} \cdot \bm{d})(\bm{b} \cdot \bm{c})
 (\bm{a} \times \bm{b}) \times \bm{c} \cdot \bm{d} = (\bm{e} \times \bm{c}) \cdot \bm{d} \\
 &= \bm{e} \cdot (\bm{c} \times \bm{d}) \\
 &= \bm{a} \times \bm{b} \cdot (\bm{c} \times \bm{d}) \\
 \tag{##}
 </tex>
 
 
 @@author:クロメル@@
 @@accept:2010-12-28@@
 @@category:物理数学@@
 @@id:variantInverseMatrix@@
 
トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Modified by 物理のかぎプロジェクト PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji Powered by PHP 5.3.29 HTML convert time to 0.009 sec.