行ベクトルの実装(実現)を1行の行列として行いました。前回、ベクトルの変更部分をお伝えしましたので、今回は行列のほうを紹介します。プログラムは bmatrix04.js として公開しました。
今回修正したのは、転置 BMatrix.tran() です。BMatrix のコンストラクタはそのまま利用しています。BMatrix.tran() では、従来は行列を返していましたが、今回、1行の行列のときはベクトルを返すように変更しました。
JavaScript にもプロトタイプを利用して、親のオブジェクトを継承することができるのですが、(列)ベクトルのオブジェクト BVector から行ベクトルのオブジェクトを作るのは結構めんどうで、むしろ BVector に列ベクトルと行ベクトルの両方の機能を作るほうが楽かもしれません。いずれにせよ、今回の実装のほうが単純なので、しばらくはこのまま使っていこうと思います。
今回、行ベクトルを実装したのには訳があります。囲碁局面のベクトル表現に使う式の中で式(9)に、t(tF a) という表現があります。この式は taF と同じ結果になります。それには、ta という列ベクトルの転置が必要になるからです。
