kmath/CHANGELOG.md

79 lines
3.7 KiB
Markdown
Raw Normal View History

2020-08-10 22:39:01 +03:00
# KMath
2020-08-10 22:36:08 +03:00
## [Unreleased]
2020-09-14 22:48:02 +03:00
### Added
2020-09-21 14:49:02 +03:00
- `fun` annotation for SAM interfaces in library
- Explicit `public` visibility for all public APIs
2020-09-20 16:59:21 +03:00
- Better trigonometric and hyperbolic functions for `AutoDiffField` (https://github.com/mipt-npm/kmath/pull/140).
2020-09-27 11:13:30 +03:00
- Automatic README generation for features (#139)
2020-09-27 20:09:46 +03:00
- 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
2020-10-28 09:16:21 +03:00
- `Fitting` utility object in prob/stat
- ND4J support module submitting `NDStructure` and `NDAlgebra` over `INDArray`.
2020-11-22 19:06:38 +03:00
- Coroutine-deterministic Monte-Carlo scope with a random number generator.
- Some minor utilities to `kmath-for-real`.
2020-09-14 22:48:02 +03:00
### Changed
2020-09-20 22:41:33 +03:00
- Package changed from `scientifik` to `kscience.kmath`.
2020-10-20 22:26:54 +03:00
- Gradle version: 6.6 -> 6.7
2020-09-21 14:49:02 +03:00
- Minor exceptions refactor (throwing `IllegalArgumentException` by argument checks instead of `IllegalStateException`)
- `Polynomial` secondary constructor made function.
2020-09-27 20:05:31 +03:00
- Kotlin version: 1.3.72 -> 1.4.20-M1
2020-10-01 16:32:07 +03:00
- `kmath-ast` doesn't depend on heavy `kotlin-reflect` library.
- Full autodiff refactoring based on `Symbol`
2020-10-28 09:16:21 +03:00
- `kmath-prob` renamed to `kmath-stat`
- Grid generators moved to `kmath-for-real`
2020-09-14 22:48:02 +03:00
### Deprecated
### Removed
2020-09-21 14:49:02 +03:00
- `kmath-koma` module because it doesn't support Kotlin 1.4.
2020-09-27 20:09:46 +03:00
- Support of `legacy` JS backend (we will support only IR)
- `toGrid` method.
2020-09-14 22:48:02 +03:00
### Fixed
2020-09-20 16:59:21 +03:00
- `symbol` method in `MstExtendedField` (https://github.com/mipt-npm/kmath/pull/140)
2020-09-14 22:48:02 +03:00
### Security
2020-09-20 22:41:33 +03:00
2020-09-14 22:48:02 +03:00
## [0.1.4]
2020-08-10 22:36:08 +03:00
### Added
- Functional Expressions API
- Mathematical Syntax Tree, its interpreter and API
- String to MST parser (https://github.com/mipt-npm/kmath/pull/120)
- MST to JVM bytecode translator (https://github.com/mipt-npm/kmath/pull/94)
- FloatBuffer (specialized MutableBuffer over FloatArray)
- FlaggedBuffer to associate primitive numbers buffer with flags (to mark values infinite or missing, etc.)
- Specialized builder functions for all primitive buffers like `IntBuffer(25) { it + 1 }` (https://github.com/mipt-npm/kmath/pull/125)
- Interface `NumericAlgebra` where `number` operation is available to convert numbers to algebraic elements
- Inverse trigonometric functions support in ExtendedField (`asin`, `acos`, `atan`) (https://github.com/mipt-npm/kmath/pull/114)
- New space extensions: `average` and `averageWith`
- Local coding conventions
- Geometric Domains API in `kmath-core`
- Blocking chains in `kmath-coroutines`
2020-08-15 13:00:17 +03:00
- Full hyperbolic functions support and default implementations within `ExtendedField`
- Norm support for `Complex`
2020-08-10 22:36:08 +03:00
### Changed
- `readAsMemory` now has `throws IOException` in JVM signature.
- Several functions taking functional types were made `inline`.
- Several functions taking functional types now have `callsInPlace` contracts.
2020-08-10 22:36:08 +03:00
- BigInteger and BigDecimal algebra: JBigDecimalField has companion object with default math context; minor optimizations
- `power(T, Int)` extension function has preconditions and supports `Field<T>`
- Memory objects have more preconditions (overflow checking)
- `tg` function is renamed to `tan` (https://github.com/mipt-npm/kmath/pull/114)
- Gradle version: 6.3 -> 6.6
2020-08-15 13:00:17 +03:00
- Moved probability distributions to commons-rng and to `kmath-prob`
2020-08-10 22:36:08 +03:00
### Fixed
- Missing copy method in Memory implementation on JS (https://github.com/mipt-npm/kmath/pull/106)
- D3.dim value in `kmath-dimensions`
- Multiplication in integer rings in `kmath-core` (https://github.com/mipt-npm/kmath/pull/101)
- Commons RNG compatibility (https://github.com/mipt-npm/kmath/issues/93)
2020-08-15 13:00:17 +03:00
- Multiplication of BigInt by scalar