JavaとScilab

 フリーの数値計算パッケージScilabオンラインヘルプを眺めていたらJavaからScilabにアクセスするJNIがあることに気付く。
 ちょっと試してみた。
■準備
 javasciフォルダをjarに固めて、\scilab\binにpath通す。
ソースコード
 とりあえず、以下の様なプログラムを書いてみる。

  package scilab;
  import javasci.SciDoubleArray;
  public class Test {
   public static void main(String[] args) {
    SciDoubleArray a=new SciDoubleArray("a",3,3,new double[]{1,2,3,4,5,6,7,8,9});
    SciDoubleArray b=new SciDoubleArray("b",3,3,new double[]{-5,-4,-3,5,6,7,1,3,4});
    SciDoubleArray c=new SciDoubleArray("c",3,3,new double[]{0,0,0,0,0,0,0,0,0});
    a.Send();
    b.Send();
    c.Send();
    c.Job("c=a+b");
    double[] r=c.getData();
    int n=0;
    System.out.println("---");
    for(int i=0;i<r.length;i=i+3)System.out.println(r[n++]+" "+r[n++]+" "+r[n++]);
    c.Job("c=inv(c)");
    r=c.getData();
    n=0;
    System.out.println("---");
    for(int i=0;i<r.length;i=i+3)System.out.println(r[n++]+" "+r[n++]+" "+r[n++]);
   }
  }

■結果
  おお、計算できてる。

   ---
   -4.0 -2.0 0.0
   9.0 11.0 13.0
   8.0 11.0 13.0
   ---
   0.0 1.0 -1.0
   -0.5 -2.0 2.0
   0.4230769230769231 1.0769230769230769 -1.0