
Serializable dense and sparse matrix and vector containers, BLAS-like arithmetic and factorizations, sparse Markowitz LU and EtaBasis updates, with runtime-swappable high-performance compute backend.
Dense and sparse double-precision BLAS Levels 1–3 for Kotlin Multiplatform, using DoubleArray storage.
Every supported operation works without a native library. JVM SIMD and optional native acceleration
are selected automatically. Factorizations and general solvers belong to consumers.
Add the dependency to your JVM or commonMain source set:
implementation("com.eignex:koblas:<version>")Supported: JDK 17+, Android API 24+, Linux x64/arm64, Windows x64, macOS arm64, and iOS arm64 devices and simulators.
On desktop JDK 25+, enable SIMD with --add-modules=jdk.incubator.vector.
See engine loading and native libraries for optional acceleration and setup.
import com.eignex.koblas.*
val a = DenseMatrix.ofRows(arrayOf(
doubleArrayOf(2.0, 1.0),
doubleArrayOf(1.0, 3.0),
))
val x = DenseVector.of(doubleArrayOf(3.0, 5.0))
val y = a * xHere a * x is a matrix-vector product. Operators return new results; calls ending in Into write
into existing arrays. See the usage guide for more examples and reusing temporary storage.
Dense and sparse double-precision BLAS Levels 1–3 for Kotlin Multiplatform, using DoubleArray storage.
Every supported operation works without a native library. JVM SIMD and optional native acceleration
are selected automatically. Factorizations and general solvers belong to consumers.
Add the dependency to your JVM or commonMain source set:
implementation("com.eignex:koblas:<version>")Supported: JDK 17+, Android API 24+, Linux x64/arm64, Windows x64, macOS arm64, and iOS arm64 devices and simulators.
On desktop JDK 25+, enable SIMD with --add-modules=jdk.incubator.vector.
See engine loading and native libraries for optional acceleration and setup.
import com.eignex.koblas.*
val a = DenseMatrix.ofRows(arrayOf(
doubleArrayOf(2.0, 1.0),
doubleArrayOf(1.0, 3.0),
))
val x = DenseVector.of(doubleArrayOf(3.0, 5.0))
val y = a * xHere a * x is a matrix-vector product. Operators return new results; calls ending in Into write
into existing arrays. See the usage guide for more examples and reusing temporary storage.