Universal Java Matrix Package

The Universal Java Matrix Package (UJMP) is an open source library for dense and sparse matrix computations and linear algebra in Java. In addition to the basic operations like matrix multiplication, matrix inverse or decomposition methods, it also supports visualization, JDBC import/export and many other useful functions such as mean, correlation, standard deviation, mutual information, or the replacement of missing values. It's a swiss army knife for data processing in Java, tailored to machine learning applications.

License

License

GroupId

GroupId

org.ujmp
ArtifactId

ArtifactId

ujmp
Last Version

Last Version

0.3.0
Release Date

Release Date

Type

Type

jar
Description

Description

Universal Java Matrix Package
The Universal Java Matrix Package (UJMP) is an open source library for dense and sparse matrix computations and linear algebra in Java. In addition to the basic operations like matrix multiplication, matrix inverse or decomposition methods, it also supports visualization, JDBC import/export and many other useful functions such as mean, correlation, standard deviation, mutual information, or the replacement of missing values. It's a swiss army knife for data processing in Java, tailored to machine learning applications.
Project URL

Project URL

https://ujmp.org/
Project Organization

Project Organization

Universal Java Matrix Package
Source Code Management

Source Code Management

https://github.com/ujmp/universal-java-matrix-package

Download ujmp

Filename Size
ujmp-0.3.0.pom 20 KB
ujmp-0.3.0-tests.jar 4 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/org.ujmp/ujmp/ -->
<dependency>
    <groupId>org.ujmp</groupId>
    <artifactId>ujmp</artifactId>
    <version>0.3.0</version>
</dependency>
// https://jarcasting.com/artifacts/org.ujmp/ujmp/
implementation 'org.ujmp:ujmp:0.3.0'
// https://jarcasting.com/artifacts/org.ujmp/ujmp/
implementation ("org.ujmp:ujmp:0.3.0")
'org.ujmp:ujmp:jar:0.3.0'
<dependency org="org.ujmp" name="ujmp" rev="0.3.0">
  <artifact name="ujmp" type="jar" />
</dependency>
@Grapes(
@Grab(group='org.ujmp', module='ujmp', version='0.3.0')
)
libraryDependencies += "org.ujmp" % "ujmp" % "0.3.0"
[org.ujmp/ujmp "0.3.0"]

Dependencies

There are no dependencies for this project. It is a standalone project that does not depend on any other jars.

Project Modules

  • ../ujmp-colt
  • ../ujmp-commonsmath
  • ../ujmp-complete
  • ../ujmp-core
  • ../ujmp-ehcache
  • ../ujmp-ejml
  • ../ujmp-elasticsearch
  • ../ujmp-examples
  • ../ujmp-gui
  • ../ujmp-hadoop
  • ../ujmp-itext
  • ../ujmp-jackcess
  • ../ujmp-jama
  • ../ujmp-jblas
  • ../ujmp-jdbc
  • ../ujmp-jetty
  • ../ujmp-jfreechart
  • ../ujmp-jmatio
  • ../ujmp-jsch
  • ../ujmp-jsci
  • ../ujmp-jscience
  • ../ujmp-jung
  • ../ujmp-la4j
  • ../ujmp-lucene
  • ../ujmp-mail
  • ../ujmp-mtj
  • ../ujmp-ojalgo
  • ../ujmp-parallelcolt
  • ../ujmp-pdfbox
  • ../ujmp-poi
  • ../ujmp-vecmath

Universal Java Matrix Package

A Java library for sparse and dense matrices, linear algebra, visualization and big data

Project Website:

https://ujmp.org

About

The Universal Java Matrix Package (UJMP) is an open source library for dense and sparse matrix computations and linear algebra in Java. In addition to the basic operations like matrix multiplication, matrix inverse or matrix decomposition, it also supports visualization, JDBC import/export and many other useful functions such as mean, correlation, standard deviation, mutual information, or the replacement of missing values.

It's a swiss army knife for data processing in Java, tailored to machine learning applications.

##In a Nutshell:

  • Dense and sparse matrices in multiple dimensions
  • Matrix inverse, pseudo inverse, determinant, SVD, LU, QR, Cholesky, Eigenvalue decomposition
  • Multi-threaded and lighting fast
  • Handle terabyte-sized matrices on disk
  • Visualize and edit as heatmap, graph, plot
  • Treat every type of data as a matrix
  • TXT, CSV, PNG, JPG, HTML, XLS, XLSX, PDF, LaTeX, Matlab, MDB
  • Free and open source (LGPL)

Quick Start

// create a dense empty matrix with 4 rows and 4 columns
Matrix dense = DenseMatrix.Factory.zeros(4, 4);

// set entry at row 2 and column 3 to the value 5.0
dense.setAsDouble(5.0, 2, 3);

// set some other values
dense.setAsDouble(1.0, 0, 0);
dense.setAsDouble(3.0, 1, 1);
dense.setAsDouble(4.0, 2, 2);
dense.setAsDouble(-2.0, 3, 3);
dense.setAsDouble(-2.0, 1, 3);

// print the final matrix on the console
System.out.println(dense);

// create a sparse empty matrix with 4 rows and 4 columns
Matrix sparse = SparseMatrix.Factory.zeros(4, 4);
sparse.setAsDouble(2.0, 0, 0);

// basic calculations
Matrix transpose = dense.transpose();
Matrix sum = dense.plus(sparse);
Matrix difference = dense.minus(sparse);
Matrix matrixProduct = dense.mtimes(sparse);
Matrix scaled = dense.times(2.0);

Matrix inverse = dense.inv();
Matrix pseudoInverse = dense.pinv();
double determinant = dense.det();

Matrix[] singularValueDecomposition = dense.svd();
Matrix[] eigenValueDecomposition = dense.eig();
Matrix[] luDecomposition = dense.lu();
Matrix[] qrDecomposition = dense.qr();
Matrix choleskyDecomposition = dense.chol();

References

License

The Universal Java Matrix Package is licensed under the GNU Lesser General Public License v3.0.

org.ujmp

Universal Java Matrix Package

A Java Library for sparse and dense matrices, linear algebra, visualization and big data

Versions

Version
0.3.0