Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Numerical library for Scala

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

like image 352
em70 Avatar asked Feb 17 '12 17:02

em70


People also ask

Why Scala is better than Python?

Scala is a static-typed language, and Python is a dynamically typed language. Type-safety makes Scala a better choice for high-volume projects because its static nature lends itself to faster bug and compile-time error detection.

Can Scala libraries be used in Java?

Both Java and Scala can use Scala libraries: They can use the Akka actors library to build actor-based concurrent systems, and Apache Spark to build data-intensive applications.


2 Answers

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

like image 139
Santosh Gokak Avatar answered Oct 15 '22 11:10

Santosh Gokak


Late to this...

Try ND4S -- it supports n-dimensional arrays for Scala and other JVM-based languages.

  • https://en.wikipedia.org/wiki/ND4S
  • https://github.com/deeplearning4j/nd4s

It's linked to an open-source framework called Deeplearning4j, which implements algorithms such as LBFGS.

  • http://deeplearning4j.org
like image 2
racknuf Avatar answered Oct 15 '22 10:10

racknuf