Skip to content

GNU Scientific Library support for KMath

Notifications You must be signed in to change notification settings

SciProgCentre/kmath-gsl

Repository files navigation

Module kmath-gsl

Gradle build Space

KMath extension adding GNU Scientific Library based linear algebra implementation.

Documentation site

  • matrix-contexts : LinearSpace implementations for Double, Float, and Complex matrices and vectors implemented with GSL

Artifact:

The Maven coordinates of this project are space.kscience:kmath-gsl:0.3.0-dev-5.

Gradle Groovy:

repositories {
    maven { url 'https://repo.kotlin.link' }
    mavenCentral()
}

dependencies {
    implementation 'space.kscience:kmath-gsl:0.3.0-dev-5'
}

Gradle Kotlin DSL:

repositories {
    maven("https://repo.kotlin.link")
    mavenCentral()
}

dependencies {
    implementation("space.kscience:kmath-gsl:0.3.0-dev-5")
}

Additional requirements

On Linux, final binaries using kmath-gsl need a BLAS implementation installed (because of dynamic linking to libblas). To achieve better performance, MKL or ATLAS can be used.

On Windows, default CBLAS provided by GSL is linked statically. To build the kmath-gsl itself on Windows it is required to have MSYS2 installed and added to Path (uncomment the MSYS2_PATH_TYPE=inherit line in mingw64.ini) and GSL installed manually in the MSYS shell:

pacman --noconfirm -S mingw-w64-x86_64-gsl

Multiplatform support

Currently, only linuxX64 and mingwX64 Kotlin targets are supported. It is also planned to support macosX64, macosArm64, and even jvm (only after stable JDK release including JEP-389).