koma icon indicating copy to clipboard operation
koma copied to clipboard

A scientific computing library for Kotlin. https://kyonifer.github.io/koma

GitHub issues License Bintray Travis AppVeyor

Koma

Koma is a scientific computing environment for Kotlin.

Project goals:

  • Create a scientific programming environment that is similar in style to NumPy or MATLAB
  • Enable writing numerical applications which can be deployed on JVM, JS, and native platforms
  • Support using said applications from Python, MATLAB, Java, and other pre-existing codebases
  • Use pluggable back-ends to enable optimized computation via pre-existing platform libraries

Project documentation

For more information on using Koma, please see the documentation

Building

To build from source, use one of the following commands:

# Java
./gradlew buildJvm
# Javascript
./gradlew buildJs
# Native (example executable, see examples/native/main.kt)
./gradlew buildNative

Output artifacts are left in the ./build folder. For more information see building from source.

Related Projects

Koma has backends that wrap several other numerical projects on the JVM:

  • Pure Java linear algebra: http://ejml.org/
  • Pluggable native libs: https://github.com/fommil/matrix-toolkits-java
  • Blas wrapper: http://jblas.org/

For a data analysis library similar to pandas, check out https://github.com/holgerbrandl/kplyr

For Kotlin statistical methods, check out https://github.com/thomasnield/kotlin-statistics