Java matrix libraries [closed]

Some Java libraries for linear algebra are:

  • Apache Commons Math: http://commons.apache.org/proper/commons-math/
  • jeigen – a wrapper for eigen – https://github.com/hughperkins/jeigen (includes complex and rarely found feature like matrix exponential and matrix logarithm)
  • jblas http://mikiobraun.github.io/jblas/ (also features more complex functions like matrix exponential, also very fast).
  • Colt http://acs.lbl.gov/software/colt/
  • JAMA http://math.nist.gov/javanumerics/jama/
  • UJMP – http://sourceforge.net/projects/ujmp/

EDIT maybe we can extend this list whenever one comes across and you know – the world keeps moving:

  • ojAlgo – http://ojalgo.org/ has promising benchmarks
  • Efficient Java Matrix Library (EJML) – http://ejml.org
  • ParallelColt – https://sites.google.com/site/piotrwendykier/software/parallelcolt
  • la4j – http://la4j.org/
  • MTJ – https://github.com/fommil/matrix-toolkits-java
  • nd4j – https://nd4j.org/ lets you choose underlying native implementations like cuda or openBlas

Note: Personally: I use Apache Commons Math and Colt in my own project (http://www.finmath.net). While commons math is actively developed, I found that Colt is still faster in some tasks (like Eigenvalue decomposition). For that reason I use some kind of wrapper which allows me to quickly switch the underlying library (I only need a few things like solving systems of equations and Eigenvalue decomposition).

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)