外積行列による、ベクトル3重積の展開

昔、こんなこと書いていて、
spherical-harmonics.hatenablog.com

ちょっと思いついたことがあったので、書いておこう。

\textbf{a}\times(\textbf{b}\times\textbf{c}) の展開公式をどのように教えるかは、結構悩むところで、
結果が\textbf{b}\times\textbf{c}に垂直だから、\beta\textbf{b}+\gamma\textbf{c}の形にかけて、\textbf{a}とも垂直であることから内積をとると0になることから、\beta:\gamma=\textbf{a}^{\top}\textbf{c}:-\textbf{a}^{\top}\textbf{b}
が成立するので、
\textbf{a}\times(\textbf{b}\times\textbf{c})
=k\{(\textbf{a}^{\top}\textbf{c})\textbf{b}-(\textbf{a}^{\top}\textbf{b})\textbf{c}\}
となる、というところまでは良いのだが、k=1を示すのが、美しくできないという悩みがあった。
もちろん、この両辺は恒等式だから、\textbf{a}=\textbf{e}_1,\textbf{b}=\textbf{e}_3,\textbf{c}=\textbf{e}_1 を代入することにより、\textbf{e}_3=k\textbf{e}_3からk=1 となることがわかるが、テクニカルすぎてきもい。

これが美しく解決した訳ではないが、考える過程において、外積行列を使った証明を考えたので、記載しておく。

\textbf{a}=\begin{pmatrix} a_1 \\ a_2 \\ a_3\end{pmatrix}
に対して
[\textbf{a}]_{\times}=\begin{pmatrix} 0 & -a_3 & a_2 \\
a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{pmatrix}
とおくと、任意の3次元ベクトル\textbf{x}に対して
\textbf{a}\times\textbf{x}=[\textbf{a}]_{\times}\textbf{x}
が成立するのであった。これは成分計算でも確かめられる。

この記法は、コンピュータビジョンでよく使われるが、Rodorigues の公式などの証明のときに
[\textbf{a}]_{\times}^2=\textbf{a}\textbf{a}^{\top}-(\textbf{a}^{\top}\textbf{a})I
Iは3次単位行列
は示されているが、
[\textbf{a}]_{\times}[\textbf{b}]_{\times}=\textbf{b}\textbf{a}^{\top}-(\textbf{b}^{\top}\textbf{a})I
を示している本はあまりない。これを使うと、
\textbf{a}\times(\textbf{b}\times\textbf{c})=[\textbf{a}]_{\times}[\textbf{b}]_{\times}\textbf{c}
=\{\textbf{b}\textbf{a}^{\top}-(\textbf{b}^{\top}\textbf{a})I\}\textbf{c}
=\textbf{b}(\textbf{a}^{\top}\textbf{c})-(\textbf{b}^{\top}\textbf{a})\textbf{c}
で終わる。まぁ
[\textbf{a}]_{\times}[\textbf{b}]_{\times}=\textbf{b}\textbf{a}^{\top}-(\textbf{b}^{\top}\textbf{a})I
を示すときに成分計算を使っているので、それはどうかと思うし、世の中の tensorer は、これと同等な
\varepsilon_{ijk}\varepsilon_{klm}=\delta_{il}\delta_{jm}-\delta_{im}\delta_{jl}
を使うので、微妙な話であるが。

ちなみに、
(\textbf{a}\times\textbf{b})^{\top}(\textbf{c}\times\textbf{d})
の計算は、
\textbf{b}^{\top}[\textbf{a}]_{\times}^{\top}[\textbf{c}]_{\times}\textbf{d}=-\textbf{b}^{\top}[\textbf{a}]_{\times}[\textbf{c}]_{\times}\textbf{d}=-\textbf{b}^{\top}\{\textbf{c}\textbf{a}^{\top}-(\textbf{c}^{\top}\textbf{a})I\}\textbf{d}=-(\textbf{b}^{\top}\textbf{c})(\textbf{a}^{\top}\textbf{d})+(\textbf{c}^{\top}\textbf{a})(\textbf{b}^{\top}\textbf{d})
となる。

そして、スカラー3重積
\textbf{a}^{\top}(\textbf{b}\times\textbf{c})=\textbf{a}^{\top}[\textbf{b}]_{\times}\textbf{c}={\rm det}(\textbf{a},\textbf{b},\textbf{c})
を認めると,
(\textbf{a}\times\textbf{b})\times(\textbf{c}\times\textbf{d})
\textbf{a}\times(\textbf{b}\times\textbf{c})の結果から、
\textbf{c}\{(\textbf{a}\times\textbf{b})^{\top}\textbf{d}\}-\{\textbf{c}^{\top}(\textbf{a}\times\textbf{b})\}\textbf{d}
=-{\rm det}(\textbf{b},\textbf{a},\textbf{d})\textbf{c}-{\rm det}(\textbf{c},\textbf{a},\textbf{b})\textbf{d}={\rm det}(\textbf{a},\textbf{b},\textbf{d})\textbf{c}-{\rm det}(\textbf{a},\textbf{b},\textbf{c})\textbf{d}
も計算できる。

まぁまぁだな。