[eigen] Created Java wrapper for Eigen

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Hi,

There is a java wrapper for eigen now at:

https://github.com/hughperkins/jeigen

It uses Eigen for the underlying matrix multiplications and for the linear matrix solver. It has no other dependencies.

The wrapper uses jna native, which is both relatively fast, and fairly easy to maintain.

Here is a comparison with other java libraries. Example test implementation:

int K = 100;
int N = 100000;
DenseMatrix A = rand(N, K);
DenseMatrix B = rand(K, N);
Timer timer = new Timer();
DenseMatrix C = B.mmul(A);
timer.printTimeCheckMilliseconds();

Jama: 4090 ms
Jblas: 1594 ms
ojalgo: 2381 ms (using two threads)
Jeigen: 2514 ms

- Compared to jama, everything is faster :-P
- Compared to jblas, Jeigen is not quite as fast, but Jeigen can handle sparse matrices. - Compared to ojalgo, Jeigen takes about the same amount of elapsed time, but only using one core, so the total cpu time is about half.




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/