top of page

Java Linear Algebra Library
A simple, easy-to-use linear algebra library for Java.

Capture.PNG

Purpose.

Primarly, this library was created as a way for me to learn more about numerical linear algebra. The design goal of this library is to provide easy-to-use and modular linear algebra routines for Java. The library is written in pure Java in its entirety. 

The library is not meant to be used in place of already established Java libraries with similar functionality for serious tasks as these existing libraries are sure to be more efficient and robust. However, this library can be used as a learning tool.

Capabilities.

This library allows the user do the following and more:

  • Create complex numbers

  • Preform operations/arithmetic with complex numbers

  • Creation of real or complex matrices and vectors

  • Perform various operations on matrices

    • Add, subtract, multiply, scalar multiply

    • determinant

    • transpose

    • complex conjugate

    • invert

    • row reduced echelon forms

  • Manipulate matrices or vectors

    • get/set individual values

    • get/set slices of a matrix

    • reshape/flatten matrix

    • swap rows/columns

  • Check/compute various properties of matrices or Vectors

    • number of rows/columns

    • minimum/maximum entry (if matrix has complex entries this will be the value with minimum/maximum magnitude)

    • Check if the matrix is a vector (i.e. either 1-by-1, a single row, or a single column)

    • Check if matrix is symmetric/hermation

    • Check if matrix is orthogonal/unitary

    • Check if the matrix is triangular/diagonal

    • Compute various norms of the matrix or vector

    • Compute subspaces of the matrix

    • Compute the eigenvalues/vectors

    • Compute the singular values

    • Check if the matrix is positive-definite

  • Matrix Decompositions

    • LU decomposition

    • LUP decomposition

    • LUPQ decomposition

    • LDU decomposition

    • Cholesky decomposition

    • QR decomposition

    • Schur decomposition (Currently does not work for matrices where eigenvalues are repeated three or more times.)

    • Singular Value Decomposition (Incomplete Implimentation)

  • Solve systems of linear equations

Where you can see examples.

You can find examples of using the library here.

Where you can download the library.

You can download the Jar file on this site here

Where you can get the documentation.

The Javadoc for all public methods and classes is available on GitHub here or you can view it on this website here

Where you can get the code.

The code is available on Github here.

bottom of page