numerical calculation and vector calculation library for javascript
説明文、英語で書こうとしてけどめんどくさいので日本語で書く。今度英語でも書く
sylvester.jsは直感的にかけるjavascirptのベクトル演算ライブラリです。
他のライブラリでは例えば関数型のような書き方や、メソッドをつなげるような書き方をせねばならず、直感的に書くことができませんが、このsylvester.jsではまるで教科書に乗っている式を書くようにベクトル演算ができます。
sylvester.jsの使い方はかんたんです。
1.calcObjectオブジェクトで変数やベクトル、行列を定義する。
2.式をcalc関数の中に書く
3.動かす
式内で使う行列やベクトルの宣言はcalcObjectで行います。
まずcalcObjectに数字もしくは配列を渡してください。
ここで数字を渡すと数字として、1次元配列を渡すとベクトルとして、2次元配列を渡すと行列として認識します。
次にcalc関数の中に文字列の形式で式を書きます。例えば行列A,Bの掛け算を計算したい場合。
calc("A*B");
と書けば計算してくれます。返り値はcalcObjectです。
計算の結果はcalcObjectないのelementsに格納されるので、例えば
console.log(calc("A*B").elements);
と書けば掛け算の結果がわかります。
今のところ+,-,*,/の演算と()、乗算(^)、転地(^T or ^t)、逆行列(^-1)をサポートしています。
式内では関数を使用することもできます。
関数を使用したい場合、defineFunction関数に関数名と、変数の個数を入力したら関数が使用できます。
例えばtest(a)を式内で利用したい場合
a = calcObject(~);
defineFunction("test",1);
calc("test(a)");
と書くことになります。
今のところ行列式を求める関数 det(matrix)
変数の方を求める関数 judgeType(calcObject)
転置を求める関数 transverse(calcObject)
逆行列を求める関数 inverse(matrix)
階段行列を求める関数 echelon(matrix)
階数を求める関数 rank(matrix)
トレースを求める関数 tr(matrix)
が用意されています。
続きはおいおい書くよ!