Published April 15, 2024 | Version v0.4.0
Software Open

SciProgCentre/kmath: 0.4.0



  • Reification. Explicit SafeType for algebras.
  • Integer division algebras.
  • Float32 geometries.
  • New Attributes-kt module that could be used as stand-alone. It declares. type-safe attributes containers.
  • Explicit mutableStructureND builders for mutable structures.
  • Buffer.asList() zero-copy transformation.
  • Wasm support.
  • Parallel implementation of LinearSpace for Float64
  • Parallel buffer factories


  • Buffer copy removed from API (added as an extension).
  • Default naming for algebra and buffers now uses IntXX/FloatXX notation instead of Java types.
  • Remove unnecessary inlines in basic algebras.
  • QuaternionField -> QuaternionAlgebra and does not implement Field anymore since it is non-commutative
  • kmath-geometry is split into euclidean2d and euclidean3d
  • Features replaced with Attributes.
  • Transposed refactored.
  • Kmath-memory is moved on top of core.


  • ND4J engine


  • asPolynomial function due to scope pollution
  • Codegend for ejml (450 lines of codegen for 1000 lines of code is too much)


  • Median statistics
  • Complex power of negative real numbers
  • Add proper mutability for MutableBufferND rows and columns
  • Generic Float32 and Float64 vectors are used in geometry algebras.

What's Changed

  • Added Levenberg-Marquardt algorithm and svd Golub-Kahan by @margarita0303 in
  • Update/Add copyright comments. Regenerate code for kmath-ejml. by @SPC-code in
  • 0.4.0 by @SPC-code in

Full Changelog:



Files (1.5 MB)

Name Size Download all
1.5 MB Preview Download

Additional details

Related works