行列、ベクトルの演算を行うためのシンプルなJavaScriptのライブラリです。
mx.jsでは行列と行列、行列とベクトル、ベクトルとベクトルの演算が出来るのはもちろんのこと、要素へアクセスするためのインターフェースや、行列の転置、行列式の計算、行列の分解、内積、平均、標準偏差、などもサポートしています。 線形代数だけでなく、統計学の計算にも利用することができ、応用範囲は様々です。
このようにして新しい行列またはベクトルを作ることができます。
var m1 = Matrix.create(3, 3, 1); // 初期値が1の3x3行列を作ります。
var m2 = Matrix.create([ 1, 2, 3 ]); // 1x3行列を作ります
var m3 = Matrix.create([ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ] ]); // 3x3行列を作ります。
var v1 = Vector.create(3, 1); // 初期値が1の3次元ベクトルを作ります
var v2 = Vector.create([ 1, 2, 3 ]); // 要素に1,2,3をもつ3次元ベクトルを作ります。
// m1の各要素を2乗したものにm3の各要素を足して、その合計を計算します。
var sum = m1.pow(2).add(m3).sum();
// m1の1行目を行ベクトルとして取り出してv1との内積をとります。
var dot = m1.row(0).dot(v1);
// Mオペレータを使うと通常の四則演算記号を使って演算できます。
var sum = M(m1 + m3).sum();