Q.ベクトルa=,.(1 2),とb=,.(3 4)を演算によって、d=2 2$1 3 2 4にできるか?
えっと、ベクトルPQとRSの交点の座標、というような場合、分母に
tex: (b_1 - a_1)(d_2 - c_2) - (b_2 - a_2)(d_1 - c_1)]
というような式がよく出てきます。この式は規則性があって、a=p - q、b=s - rという二つのベクトルを並べて作った2 x 2の行列の行列式(斜めの掛け算から斜めの掛け算を引いたもの)です。
というわけで、J言語で実験です。
]a=:,.(1 2) NB.たて表示のベクトル 1 2 ]b=:,.(3 4) 3 4 a , b NB.カンマでつなぐとたてになってしまう 1 2 3 4 a ,: b NB.カンマコロンでつなぐとやはりたてになってしまう 1 2 3 4 ]d=:2 2$a , b NB.たての1 2 3 4を2 2$で2x2にできるか=>失敗 1 2 3 4 a ,. b NB.カンマコロンで意外にも成功! 1 3 2 4 (1 2 3 4) ,. (4 5 6 7) NB.ということはベクトル同士のカンマコロン結合でオッケー=>成功! 1 4 2 5 3 6 4 7
これで晴れて行列ができたので、行列式(det)です。
det=:-/ . * det a, b _2
つまり、(1 * 4) - (2 * 3) = _2ということです。
おめでとう!