The purpose of this project is to create a library that can be used to prototype solutions to engineering problems. One of the main goals of the library is to be a 100% in Java. Some algorithms in the library are not state-of-the-art, but they should be good enough in terms of accuracy and speed for many applications.
The linear algebra part of the library is based on Jama. The main difference between Jama and this project is that the internal representation of the data was changed from a 2D array of doubles to a 1D array of doubles and the values are accessed using an offset. Other matrix methods were added as well.
The library also uses code translated from SciPy and NumPy. Please see SciPy.
Last but not least, this project includes code that was translated from numal, and also from Math.NET please see Math.NET.
Arrays are mainly used throughout the library in order to use native doubles but the use of List
s is encouraged.
There's a set of examples that show how to use some classes contained in the library. The examples can be found in:
src/main/java
ETK4J can be included from Maven Central.
Maven
<dependency>
<groupId>com.wildbitsfoundry</groupId>
<artifactId>etk4j</artifactId>
<version>2.1.0</version>
</dependency>
Gradle
implementation 'com.wildbitsfoundry:etk4j:2.1.0'
JDK 1.8+