Skip to content

AlexJuca/koma

 
 

Repository files navigation

GitHub issues License Bintray Travis AppVeyor

Koma

Koma is a scientific computing environment for Kotlin that emphasizes language/platform interop, performance, and flexibility.

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 build
# Javascript
./gradlew build -Ptarget=js
# Native (example executable, see examples/native/main.kt)
./gradlew compileKonanKomaExample -Ptarget=native
# Native (.dll/.h) (**requires building kotlin-native from master**)
./gradlew compileKonanLibkoma -Ptarget=native -Pkonan.home=/path/to/kotlin-native/dist
# Native (.klib)
./gradlew compileKonanKoma -Ptarget=native

For more information see building from source.

Related Projects

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

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Kotlin 100.0%