kmath
kmath copied to clipboard
0.4.0
Added
- Reification. Explicit
SafeTypefor algebras and buffers. - Integer division algebras.
- Float32 geometries.
- New Attributes-kt module that could be used as stand-alone. It declares. type-safe attributes containers.
- Explicit
mutableStructureNDbuilders for mutable structures. Buffer.asList()zero-copy transformation.- Wasm support.
- Parallel implementation of
LinearSpacefor Float64 - Parallel buffer factories
Changed
- 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
Fieldanymore since it is non-commutative - kmath-geometry is split into
euclidean2dandeuclidean3d - Features replaced with Attributes.
- Transposed refactored.
- Kmath-memory is moved on top of core.
Deprecated
- ND4J engine
Removed
asPolynomialfunction due to scope pollution- Codegend for ejml (450 lines of codegen for 1000 lines of code is too much)
Fixed
- Median statistics
- Complex power of negative real numbers
- Add proper mutability for MutableBufferND rows and columns
too busy
While I have problems with gitea, you can look at #530.
About naming attributes "container" and "metacontatiner". I like kotlinx.coroutines naming a bit more (I mean that Attributes corresponds to CoroutineContext and AttributesContainer corresponds to CoroutineScope). Could we call them Attribute, AttributeContainer, and AttributeContext/AttributeScope?
Also, I don't like that everyone can access constructor of PolymorphicAttribute. Something irks me about it. I would like to hide it in a compiler plugin. But I don't know what is the better way. I think it is better to think about it later (after the PR).
Also, I don't like that everyone can access constructor of
PolymorphicAttribute. Something irks me about it. I would like to hide it in a compiler plugin. But I don't know what is the better way. I think it is better to think about it later (after the PR).
This is not a problem since it uses a SafeType