kmath v0.2.0 Release Notes

  • โž• Added

    • fun annotation for SAM interfaces in library
    • Explicit public visibility for all public APIs
    • ๐Ÿ‘ Better trigonometric and hyperbolic functions for AutoDiffField (https://github.com/mipt-npm/kmath/pull/140)
    • Automatic README generation for features (#139)
    • ๐Ÿ‘ Native support for memory, core and dimensions
    • kmath-ejml to supply EJML SimpleMatrix wrapper (https://github.com/mipt-npm/kmath/pull/136)
    • A separate Symbol entity, which is used for global unbound symbol.
    • A Symbol indexing scope.
    • Basic optimization API for Commons-math.
    • Chi squared optimization for array-like data in CM
    • Fitting utility object in prob/stat
    • ๐Ÿ‘ ND4J support module submitting NDStructure and NDAlgebra over INDArray
    • Coroutine-deterministic Monte-Carlo scope with a random number generator
    • Some minor utilities to kmath-for-real
    • Generic operation result parameter to MatrixContext
    • ๐Ÿ†• New MatrixFeature interfaces for matrix decompositions
    • ๐Ÿ‘ Basic Quaternion vector support in kmath-complex.

    ๐Ÿ”„ Changed

    • ๐Ÿ“ฆ Package changed from scientifik to space.kscience
    • Gradle version: 6.6 -> 6.8.2
    • โ™ป๏ธ Minor exceptions refactor (throwing IllegalArgumentException by argument checks instead of IllegalStateException)
    • Polynomial secondary constructor made function
    • Kotlin version: 1.3.72 -> 1.4.30
    • kmath-ast doesn't depend on heavy kotlin-reflect library
    • โ™ป๏ธ Full autodiff refactoring based on Symbol
    • kmath-prob renamed to kmath-stat
    • ๐Ÿšš Grid generators moved to kmath-for-real
    • ๐Ÿ‘‰ Use Point<Double> instead of specialized type in kmath-for-real
    • โšก๏ธ Optimized dot product for buffer matrices moved to kmath-for-real
    • EjmlMatrix context is an object
    • Matrix LUP inverse renamed to inverseWithLup
    • ๐Ÿšš NumericAlgebra moved outside of regular algebra chain (Ring no longer implements it).
    • ๐Ÿ”‹ Features moved to NDStructure and became transparent.
    • Capitalization of LUP in many names changed to Lup.
    • โ™ป๏ธ Refactored NDStructure algebra to be more simple, preferring under-the-hood conversion to explicit NDStructure types
    • โ™ป๏ธ Refactor histograms. They are marked as prototype
    • ๐Ÿšš Complex and related features moved to a separate module kmath-complex
    • โ™ป๏ธ Refactor AlgebraElement
    • symbol method in Algebra renamed to bindSymbol to avoid ambiguity
    • โž• Add out projection to Buffer generic

    ๐Ÿ—„ Deprecated

    โœ‚ Removed

    • ๐Ÿ‘ kmath-koma module because it doesn't support Kotlin 1.4.
    • ๐Ÿ‘Œ Support of legacy JS backend (we will support only IR)
    • toGrid method.
    • Public visibility of BufferAccessor2D
    • Real class
    • StructureND identity and equals

    ๐Ÿ›  Fixed

    ๐Ÿ”’ Security