Java/Scala library for algebra, mathematics

13,176

Solution 1

The functionality in Scipy is rather Matlab-like. So the question is whether you just want the core linear algebra / vector-matrix mathematics operations, or all sorts of things like clustering.

If you are not aware of both Scalala (now called Breeze) and ScalaLab, you should check them out--maybe they'll suit your needs.

If you need a more diverse library, there are a couple of Java libraries that might be suitable: CERN Colt and Apache Commons Math; these are intended to be used in Java style, however, and you're pretty much limited to using them that way from within Scala. (Though of course you can wrap the bits that you use particularly heavily in something prettier.)

Solution 2

There are scalala (scala linear algebra library) and ScalaLab (more like a Matlab scala-environment)

Solution 3

There is a la4j (Linear Algebra for Java) library that can be used from Scala environment but it doesn't contain any Scala features like hi-order functions since Java doesn't support it. la4j was designed to be used in imperative environment (not functional). So if you want to use it in functional way - Scalala is the best chose.

Share:
13,176
Robert Zaremba
Author by

Robert Zaremba

Mission statement: Knowledge is always better than ignorance. Computer Scientist (MSc), IT Solution Architect, specialized in: Go, Solidity, Rust, Python, JavaScript programming OCaml, Emacs Lisp enthusiast Blockchain engineering Cryptoeconomics Data Mining & Analytics Text processing Agile development

Updated on June 12, 2022

Comments

  • Robert Zaremba
    Robert Zaremba almost 2 years

    Can you advise me some flexible and powerful, yet fast library which could cover SciPy (both in performance and functionality). I found SciPy very expressive - but I want to try something in Scala.

    I read a little about Scala - but is not as featured as SciPy. Any alternatives? Maybe Java library?