🌐
GitHub
github.com › mikera › vectorz
GitHub - mikera/vectorz: Fast and flexible numerical library for Java featuring N-dimensional arrays · GitHub
Fast double-precision vector and matrix maths library for Java, based around the concept of N-dimensional arrays.
Starred by 259 users
Forked by 47 users
Languages: Java
🌐
GitHub
github.com › rsarendus › vecmath
GitHub - rsarendus/vecmath: A simple vector math library for 3D and computer graphics · GitHub
Or alternatively, since the library uses no external dependencies, one could copy-paste any relevant source files into their own project's source directory. ... Vector components are named using single characters: x, y, z and w (in that particular order). The same naming is followed by accessor and mutator methods: Vector2.AccessibleAndMutable vector2 = ... // Get the x component double x = vector2.x(); // Set the y component to 1.0 vector2.y(1.0);
Author: rsarendus
Discussions

What Java class should I use to represent a Vector? - Game Development Stack Exchange
I understand collision detection; ... in Java. I'm new to the language and to application development in general. ... \$\begingroup\$ Just implement it yourself... That way you can only have methods that you need :) \$\endgroup\$ ... There is no built in math Vector class. You'll have to implement your own or use a library like JScience ... More on gamedev.stackexchange.com
🌐 gamedev.stackexchange.com
March 29, 2012
Java matrix libraries - Stack Overflow
For that reason I use some kind ... library (I only need a few things like solving systems of equations and Eigenvalue decomposition). ... JEigen does not appear to implement solving sparse matrices so I did it myself. 2015-05-29T09:40:05.323Z+00:00 ... jscience.org/api/org/jscience/mathematics/vector/… -- JScience ... More on stackoverflow.com
🌐 stackoverflow.com
Performing Vector operations in Java?
That's basically what numpy for python does, so searching numpy for java in google might help you. There's a question in stackoverflow debating about it. More on reddit.com
🌐 r/learnjava
3
1
January 30, 2021
Any Java library for 2D vectors (geometry)? Stable/maintained/perspective? - Stack Overflow
I wonder whether there is some stable, widely used, maintained library for that. I've found javax.vecmath and its class Vector2d, but the latest release is from 2015, and its homepage is dead. Any ideas or suggestions? ... Commons Math is a library of lightweight, self-contained mathematics ... More on stackoverflow.com
🌐 stackoverflow.com
Author: RalleYTN
linear algebra software library
Efficient Java Matrix Library (EJML) is a linear algebra library for manipulating real/complex/dense/sparse matrices. Its design goals are; 1) to be as computationally and memory efficient as possible for both small and … Wikipedia
Factsheet
Original author Peter Abeles
Stable release 0.41.1
/ December 4, 2022; 3 years ago
Operating system Cross-platform
Factsheet
Original author Peter Abeles
Stable release 0.41.1
/ December 4, 2022; 3 years ago
Operating system Cross-platform
🌐
Ejml
ejml.org
Efficient Java Matrix Library
From Efficient Java Matrix Library · Jump to navigation Jump to search · Demonstrations on how to compute the Kalman gain "K" using each interface in EJML. . Support for floats (32-bit) and doubles (64-bit) is available. Sparse matrix support is only available for basic operations at this time.
🌐
La4j
la4j.org
la4j - Linear Algebra for Java
The la4j library is open source and 100% Java library that provides Linear Algebra primitives (matrices and vectors) and algorithms. The library was initially designed to be lightweight and simple tool for passionate Java developers.
🌐
O'Reilly
oreilly.com › library › view › javatm-media-apis › 0672320940 › 0672320940_ch11lev1sec13.html
Vector Math Library - Java™ Media APIs: Cross-Platform Imaging, Media, and Visualization [Book]
The main purpose of the Vector Math Library is to provide methods for matrix and vector mathematics as well as methods for dealing with color, positions, and volumes. A brief review of the methods is provided here.
🌐
GitHub
github.com › andrewning › jMath
GitHub - andrewning/jMath: A collection of math routines for use in Java (primarily vector/matrix/linear algebra). Intentionally mimics some of Matlab's naming conventions. · GitHub
A collection of math routines for use in Java (primarily vector/matrix/linear algebra). Intentionally mimics some of Matlab's naming conventions. - andrewning/jMath
Author: andrewning
🌐
GitHub
github.com › topics › vector-math
vector-math · GitHub Topics · GitHub
java gui interface graphics vector javafx cube scaling rotation 3d vector-math ... An old version of the Wand Swatters engine, but a better version is being worked on. This actually has gameplay though! ... This repo is just for implementing some stuff from the math lectures.
Find elsewhere
🌐
GitHub
github.com › JOML-CI › JOML
GitHub - JOML-CI/JOML: A Java math library for OpenGL rendering calculations · GitHub
JOML is designed to be completely allocation-free for all methods. That means JOML will never allocate Java objects on the heap unless you as the client specifically requests to do so via the new keyword when creating a new matrix or vector ...
Author: realityforge
🌐
GitHub
github.com › JordanPottruff › java-graphics-math-library
GitHub - JordanPottruff/java-graphics-math-library: Library for mathematical constructs related to graphics processing. · GitHub
The Java Graphics Math Library (JGML) encapsulates important graphics-related mathematics into various matrix and vector implementations.
Author: JordanPottruff
🌐
Maven Repository
mvnrepository.com › open-source › vector-and-matrix-libraries
Maven Repository: Vector/Matrix Libraries
Parallel Colt is a multithreaded version of Colt - a library for high performance scientific computing in Java. It contains efficient algorithms for data analysis, linear algebra, multi-dimensional arrays, Fourier transforms, statistics and histogramming. ... Fast double-precision vector and matrix maths library for Java, supporting N-dimensional numeric arrays.
Top answer
1 of 6
42

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).

2 of 6
15

Try Apache Commons Math library. org.apache.commons.math3.linear package contains the functions that you want. Home page

Author: jherico
🌐
Oracle
docs.oracle.com › cd › E17802_01 › j2se › javase › technologies › desktop › java3d › forDevelopers › j3dapi › javax › vecmath › package-summary.html
: Package javax.vecmath
Exception Summary MismatchedSizeException Indicates that an operation cannot be completed properly because of a mismatch in the sizes of object attributes. SingularMatrixException Indicates that inverse of a matrix can not be computed · Overview Package Class Tree Deprecated Index Help PREV ...