Take the 2-minute tour ×

I'm looking for a library to do numerical computing in Scala (or Java, although something that can use scala functions would be way nicer!) with at least the following capabilities:

  • L-BFGS
  • Minimizers (Powell, QuasiNewton, ...)
  • Numerical differentiation of multivariable functions
  • Numerical integration (not strictly necessary but highly preferred)

I'm also only looking for something that's actively maintained (last update during 2011 at the earliest), preferably but not necessarily free. Also, numerical stability is required, aka all operations should be implemented in a way that gives consistent results where precision is preserved as much as possible.

I'm already aware of IMSL, but would prefer something else.

Thanks in advance

share|improve this question
Commons math? –  Owen Feb 17 '12 at 17:50
Would work if it exposed a public API for numerical differentiation and had a Powell optimizer. Also, can't seem to find much information about numerical stability or performance... –  emaster70 Feb 19 '12 at 13:43
add comment

4 Answers

up vote 3 down vote accepted

SuanShu is a Java math library of numerical methods for numerical analysis.

share|improve this answer
seems just what I was looking for. thanks! bounty well deserved –  emaster70 Feb 28 '12 at 7:43
add comment

Take a look at ScalaLab and its dependencies

share|improve this answer
From a quick look, seems to fall short at least on numerical differentiation and integration. Am I missing something? –  emaster70 Feb 18 '12 at 12:24
add comment

There is Scalala for Scala, but I am not sure it covers your need.

There are also the ones listed in this SO question: Java Scientific Packages similar to SciPy?.

share|improve this answer
Scalala is definitely good but it falls short on several of my needs... The link to the other question is good indeed, but not resolutive :( –  emaster70 Feb 23 '12 at 7:43
add comment

You can try http://code.google.com/p/scalalab/ and http://commons.apache.org/math/ I am not sure if they matches you needs but they are updated and have a lots of functions

share|improve this answer
add comment

Your Answer


