============================================================ 点と面の距離(非正方行列の逆行列についての一つの提案) ============================================================ 正方行列でない行列の逆行列とは、どんなものか。という疑問の答えの一つがこれです。 注意として、世間一般で言われるランクがnより小さいn次正方行列に対する「一般化逆行列」とは、異なるものの様です。 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 $ は、転置を表します。 \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{##} が最も近づく時を考えます。 それには、距離 $X^2$ が最小値を取る時を考えればよいです。 つまりは、 $s,t$ の二次式なので、平方完成を行います。 実際に計算してみると、 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{##} 最後の行で、ギリシャ文字 $\alpha,\beta, \cdots ,\zeta$ を定義しました。 順番に、アルファ、ベータ、ガンマ、デルタ、イプシロン、ゼータと読みます。 さらに計算を続けると、 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{##} と、この様になります。 最後の行の最初から二つの項は $\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の決定 =================== ここで、 $s$ と $t$ を決定する(二乗内の値をゼロにする)行列を書きだすと、 \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{##} 逆に解いて、 \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{##} ベクトルでの表記 ===================== ここから、ベクトルを使って表現することにします。 \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{##} ここで、ベクトルの演算を練習しておきます。スカラー三重積は、 \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{##} と言うように、スカラー積とベクトル積の入れ替えができます。 そして、ベクトル三重積は、 (\bm{a} \times \bm{b}) \times \bm{c}=\bm{b}(\bm{a} \cdot \bm{c})-\bm{a}(\bm{b} \cdot \bm{c}) \tag{##} ですから、これと新たなベクトル $\bm{d}$ とのスカラー積をとって、 (\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{##} これと、式( $6$ )の右辺の上段を見比べて、 (\bm{b} \cdot \bm{b})(\bm{a} \cdot \bm{r}) - (\bm{b} \cdot \bm{r})(\bm{a} \cdot \bm{b}) &= (\bm{b} \times \bm{a}) \times \bm{b} \cdot \bm{r} \tag{##} 下段は、これの $\bm{a}$ と $\bm{b}$ を入れ替えたものだから、式( $6$ )は、 \begin{pmatrix} s \\ t \end{pmatrix} &= \frac{1}{|\bm{a} \times \bm{b}|^2} \begin{pmatrix} (\bm{b} \times \bm{a}) \times \bm{b} \cdot \bm{r} \\ (\bm{a} \times \bm{b}) \times \bm{a} \cdot \bm{r} \end{pmatrix} \\ &= \frac{1}{|\bm{a} \times \bm{b}|^2} \begin{pmatrix} -(\bm{a} \times \bm{b}) \times \bm{b} \cdot \bm{r} \\ (\bm{a} \times \bm{b}) \times \bm{a} \cdot \bm{r} \end{pmatrix} \tag{##} となります。そして、 \bm{p} \equiv \bm{a} \times \bm{b} = \begin{pmatrix} a_2b_3-a_3b_2 \\ a_3b_1-a_1b_3 \\ a_1b_2-a_2b_1 \end{pmatrix} \equiv \begin{pmatrix} l \\ m \\ n \end{pmatrix} \tag{##} であります。 ここで、もう一つの外積の行列での表現、 -\bm{p} \times \bm{b} = - \begin{pmatrix} 0 & -n & m \\ n & 0 & -l \\ -m & l & 0 \end{pmatrix} \begin{pmatrix} b_1 \\ b_2 \\ b_3 \end{pmatrix} \tag{##} を用います。これは、三次元の列ベクトルなので、 $\bm{r}$ との内積を取る為に、 転置します。 -\bm{p} \times \bm{b} \cdot \bm{r} &= - \begin{pmatrix} b_1 & b_2 & b_3 \end{pmatrix} \begin{pmatrix} 0 & n & -m \\ -n & 0 & l \\ m & -l & 0 \end{pmatrix} \begin{pmatrix} x_0 \\ y_0 \\ z_0 \end{pmatrix}\\ &= \begin{pmatrix} b_1 & b_2 & b_3 \end{pmatrix} \begin{pmatrix} 0 & -n & m \\ n & 0 & -l \\ -m & l & 0 \end{pmatrix} \begin{pmatrix} x_0 \\ y_0 \\ z_0 \end{pmatrix} \tag{##} 式 $(6)$ の下段は、同様に $\bm{a}$ と $\bm{b}$ を入れ替えればよく、 以上をまとめて書けば、 \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{##} の距離が最小になる解は、 \begin{pmatrix} s \\ t \end{pmatrix} &= \frac{1}{|\bm{a} \times \bm{b}|^2} \begin{pmatrix} -(\bm{a} \times \bm{b}) \times \bm{b} \cdot \bm{r} \\ (\bm{a} \times \bm{b}) \times \bm{a} \cdot \bm{r} \end{pmatrix} \\ &= \frac{1}{|\bm{a} \times \bm{b}|^2} \begin{pmatrix} b_1 & b_2 & b_3 \\ -a_1 & -a_2 & -a_3 \end{pmatrix} \begin{pmatrix} 0 & -n & m \\ n & 0 & -l \\ -m & l & 0 \end{pmatrix} \begin{pmatrix} x_0 \\ y_0 \\ z_0 \end{pmatrix} \tag{##} ただし、 \begin{pmatrix} l \\ m \\ n \end{pmatrix} = \begin{pmatrix} a_2b_3-a_3b_2 \\ a_3b_1-a_1b_3 \\ a_1b_2-a_2b_1 \end{pmatrix} \tag{##} であり、その時の最短距離 $X^2$ は、式 $(3)$ の一番最後の行から、 X^2 &= \zeta-\frac{\alpha \varepsilon^2 -2 \beta \delta \varepsilon+\gamma \delta^2}{\alpha \gamma-\beta^2} \\ &= |\bm{r}^2|-\frac{|\bm{a}|^2(\bm{b} \cdot \bm{r})^2-2(\bm{b} \cdot \bm{r})(\bm{a} \cdot \bm{r})(\bm{a} \cdot \bm{b}) +|\bm{b}|^2(\bm{a} \cdot \bm{r})^2}{|\bm{a} \times \bm{b}|^2} となります。以上でこの記事は終わりです。 これより次元が高い場合も、いつか計算してみたいです。 それでは、今日はこの辺で。 @@author:クロメル@@ @@accept:2010-12-28@@ @@category:物理数学@@ @@id:inverseOfNonSquareMatrix@@