Commit Graph

747 Commits

Author SHA1 Message Date
7f4f4c7703 Update of symbolic operations 2023-01-24 21:01:26 +03:00
3f4fe9e43b Migrate to 1.8. Use universal autodiffs 2022-12-31 15:02:52 +03:00
991ab907d8
Encapsulate internal constants in Expression 2022-12-10 11:09:55 +03:00
cff563c321
Major tensor refactoring 2022-11-05 16:14:23 +03:00
8286db30af
Optimize tensor shape computation 2022-10-16 20:15:37 +03:00
ee569b85f8
Safe shapes 2022-10-14 13:05:39 +03:00
b0abcf2d0c
Safe shapes 2022-10-14 12:47:57 +03:00
89d0cbc7ea
Refactoring and optimization of tensorAlgebra 2022-09-30 11:34:44 +03:00
b602066f48
Change the default strides and unify strides processing 2022-09-27 16:57:06 +03:00
d70389d2e6
Fix after series merge 2022-09-26 16:47:38 +03:00
4d1137659b
Merge branch 'feature/series' into dev
# Conflicts:
#	build.gradle.kts
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/transform/Transformations.kt
#	kmath-core/build.gradle.kts
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/AlgebraND.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/BufferAlgebraND.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/BufferND.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/ShapeIndices.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/operations/BufferAlgebra.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/operations/DoubleBufferOps.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/bufferExtensions.kt
#	kmath-histograms/src/jvmMain/kotlin/space/kscience/kmath/histogram/UnivariateHistogram.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/distributions/UniformDistribution.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/samplers/Sampler.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/BroadcastDoubleTensorAlgebra.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/BufferedTensor.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/DoubleTensorAlgebra.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/internal/broadcastUtils.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/internal/linUtils.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/internal/tensorCastsUtils.kt
#	kmath-tensors/src/commonMain/kotlin/space/kscience/kmath/tensors/core/internal/utils.kt
#	settings.gradle.kts
2022-09-26 13:10:59 +03:00
6bf8d9d325
Naming refactoring 2022-09-26 13:08:49 +03:00
b5d04ba02c
Global refactor of tensors 2022-09-11 15:27:38 +03:00
3729faf49b
Rename Tensor::get to Tensor::getTensor to avoid name clash. 2022-09-05 23:24:01 +03:00
a9821772db
Move power to ExtendedFieldOps 2022-09-05 22:08:35 +03:00
5042fda751
Int Tensor Algebra implementation 2022-09-05 16:30:39 +03:00
Gleb Minaev
efe14f50bf #472: Update copyright. 2022-08-19 15:59:13 +03:00
Gleb Minaev
db19df4329 Merge branch 'dev' into feature/polynomials 2022-07-16 17:23:39 +03:00
3eef778f60
Add mandatory MutableBufferFactory to Algebra #477 2022-07-16 16:27:11 +03:00
68add4cb5f
Refactor test naming 2022-07-16 11:35:50 +03:00
bfadf5b33d
Name refactor 2022-07-15 17:31:28 +03:00
846a6d2620
Grand derivative refactoring. Phase 3 2022-07-15 17:20:00 +03:00
f5fe53a9f2
Grand derivative refactoring. Phase 2 2022-07-15 16:20:28 +03:00
5846f42141
Grand derivative refactoring. Phase 1 2022-07-15 15:21:49 +03:00
56f3c05907
Merge remote-tracking branch 'origin/dev' into altavir/diff 2022-07-13 10:13:47 +03:00
Gleb Minaev
fc2455fe34 Merge branch 'dev' into feature/polynomials 2022-06-25 23:29:34 +03:00
a1267d84ac
Fix quaternion rotation tests 2022-06-14 20:58:13 +03:00
Gleb Minaev
eadd521e35 Merge branch 'dev' into feature/polynomials-sift 2022-06-14 19:46:50 +03:00
Gleb Minaev
d0134bdbe9 Sift 4. Cleaned up "numbered" case. Tests are in progress. 2022-06-14 19:15:36 +03:00
85a1e8b33f
New common test infrastructure 2022-06-14 16:27:32 +03:00
569e01fce1
Migration to kotlin 1.7 2022-06-12 15:16:40 +03:00
c28be83226
LazyStructire::deferred -> async 2022-06-08 09:00:37 +03:00
b509dc917d
ValueAndErrorField 2022-04-10 23:00:55 +03:00
1295a407c3
Refactor tree histogram 2022-04-10 15:29:46 +03:00
6247e79884
Refactor multivariate histograms 2022-04-10 13:41:41 +03:00
27a252b637
Accept changes, Update documentation 2022-04-10 11:31:52 +03:00
73f72f12bc
[WIP] Another histogram refactor 2022-04-05 23:23:29 +03:00
3a3a5bd77f Histogram API refactor 2022-03-23 14:07:24 +03:00
29369cd6d7
[WIP] Another histogram refactor 2022-03-22 22:17:20 +03:00
39640498fc
Another histogram refactor 2022-03-19 09:20:32 +03:00
408443989c
Up version 2022-02-13 17:48:04 +03:00
Iaroslav Postovalov
745a7ad66e Add complete constant folding in kmath-ast by introducing TypedMst, some minor changes 2022-02-11 20:46:30 +07:00
Iaroslav Postovalov
7b1bdc21a4 Copy DerivativeStructure to multiplatform 2022-02-09 22:08:37 +07:00
Iaroslav Postovalov
e094f6e8ee Remove Algebra.evaluate(MST) by inlining in into interpret 2022-02-08 11:43:50 +07:00
Iaroslav Postovalov
5ba7d74bd2 Completely specialized expression types for Int, Long, Double and compilation of MST to it 2021-11-28 20:56:01 +07:00
Iaroslav Postovalov
d2e3110480 Update gradle-tools, do Kotlin 1.6.0 migrations 2021-11-24 15:32:06 +07:00
Alexis Manin
06a6a99ef0 feat(Core): add new flavors of permSort: allow user to specify a comparator (sort with) or a custom field to use in buffer values (sort by). 2021-11-18 17:44:53 +01:00
Alexis Manin
0f7a25762e feat(Core): add a permutation sorting prototype for buffers
This is a Buffer extension function to create a list of permuted indices that represent the sequence of naturally sorted buffer elements
2021-11-17 13:19:40 +01:00
Iaroslav Postovalov
7ceb0b69b8 Revert license removal and update copyright 2021-11-16 18:14:34 +07:00
Alexander Nozik
e25827eb14
Merge pull request #437 from mipt-npm/commandertvis/double-specialized
Provide specializations of `AsmBuilder` for `Double`, `Long`, `Int`
2021-11-16 11:41:53 +03:00
Iaroslav Postovalov
70ac232c15 Relax type requirements in algebraExtensions.kt from Ring to Group 2021-11-16 14:27:20 +07:00
Iaroslav Postovalov
7b50400de5 Provide specializations of AsmBuilder for Double, Long, Int 2021-11-16 14:03:12 +07:00
Iaroslav Postovalov
f231d722c6 Multiple performance improvements related to ASM
1. Argument values are cached in locals
2. Optimized Expression.invoke function
3. lambda=indy is used in kmath-core
2021-11-15 23:29:15 +07:00
fa9ff4c978 Minor refactoring 2021-11-09 17:56:53 +03:00
d62bc66d4a Refactoring 2021-11-09 13:42:22 +03:00
f6b576071d Add non-boxing BufferView access 2021-11-09 12:25:17 +03:00
1315a8cd34 views cleanup 2021-11-08 19:57:22 +03:00
a1351aa942 Buffer views 2021-11-08 17:50:49 +03:00
bf504ae6c5 Basic series 2021-11-05 16:58:13 +03:00
0e1e97a3ff Multik integration finished (for now) 2021-11-04 10:58:27 +03:00
726864ed0e Refactoring of power 2021-11-03 12:55:29 +03:00
b65197f577 revert parts of tensor api to tensors 2021-11-01 19:45:02 +03:00
46e7da9ae0 Tensor algebra generified 2021-10-28 11:18:16 +03:00
4db7398a28 Tensor algebra generified 2021-10-28 10:58:22 +03:00
7e59ec5804 Refactor TensorAlgebra to take StructureND and inherit AlgebraND 2021-10-26 09:16:24 +03:00
69e6849a12 Name refactoring for tensors 2021-10-20 16:11:36 +03:00
a81ab474f7 Add multik tensor factories and benchmarks 2021-10-18 11:35:09 +03:00
827f115a92 Multik wrapper 2021-10-17 21:12:14 +03:00
9b9fe07044 Specialized operations for ND algebra 2021-10-17 16:42:46 +03:00
4513b06e87 Shapeless ND and Buffer algebras 2021-10-17 13:09:21 +03:00
688382eed6 Shapeless ND and Buffer algebras 2021-10-17 12:42:35 +03:00
d0354da80a Shapeless ND and Buffer algebras 2021-10-17 11:12:35 +03:00
fd8a61c852 Fix Mean bug 2021-10-04 12:40:30 +03:00
abae29bbed DoubleBuffer algebra refactoring 2021-10-02 18:54:45 +03:00
85aefb5380 Completely remove AlgebraElements.kt 2021-10-02 16:14:38 +03:00
0f634688cc API cleanup 2021-10-02 15:56:57 +03:00
01bbb4bb13 API cleanup 2021-10-02 09:55:52 +03:00
89eebbecb7 Fix EJML inversion issue 2021-09-21 21:24:27 +03:00
9fcc1b3af2 Split Buffer.kt for better readability 2021-09-19 21:17:26 +03:00
546d56aeee Refactor buffer builders to suit new discoverability pattern 2021-09-19 21:13:07 +03:00
49ec5d1554 Refactor ND builders to suit new discoverability pattern 2021-09-19 20:48:36 +03:00
dfd6e0a949 Merge remote-tracking branch 'origin/dev' into feature/advanced-optimization
# Conflicts:
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/CMOptimization.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/cmFit.kt
#	kmath-ejml/src/main/kotlin/space/kscience/kmath/ejml/_generated.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/FunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/NoDerivFunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/Optimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/XYFit.kt
2021-08-16 09:56:00 +03:00
aaa298616d QOW is working more or less 2021-08-16 09:55:03 +03:00
9b8da4cdcc Fix JS bug with null cast 2021-08-12 20:28:45 +03:00
Iaroslav Postovalov
da27c2e494 Fix path to LICENSE in the notice 2021-08-08 12:27:16 +07:00
a020d1545c merge dev 2021-08-06 12:23:24 +03:00
Iaroslav Postovalov
86a45504e3 Add contentEquals extension to ND algebra and LinearSpace 2021-08-05 16:45:54 +07:00
Iaroslav Postovalov
afd5908784 Revise grammar of KDoc comments, refresh documentation files 2021-07-29 07:16:26 +07:00
Iaroslav Postovalov
8b3298f7a8 Exact conversions from Long to Int, Int indexing of Dimension 2021-07-20 11:21:47 -07:00
Iaroslav Postovalov
b1998ed1a9 Replace public override with override 2021-07-19 03:12:41 +07:00
Iaroslav Postovalov
5d2eaaf68a Add contracts to some functions, fix multiple style issues 2021-07-13 00:38:30 +07:00
3ba12f4999 Generic Buffer Algebra 2021-07-09 14:11:26 +03:00
Iaroslav Postovalov
4d6428a308 Update Jafama module documentation with some minor code amendments 2021-06-14 21:51:06 +07:00
95c0b2d3f0 [WIP] optimization with QOW 2021-06-08 14:27:45 +03:00
f84f7f8e45 Merge branch 'dev' into feature/advanced-optimization
# Conflicts:
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/CMOptimization.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/cmFit.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/expressions/DifferentiableExpression.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/FunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/XYFit.kt
2021-05-25 17:00:02 +03:00
f2b7a08ad8 Remove second generic from DifferentiableExpression 2021-05-25 16:53:53 +03:00
c240fa4a9e [WIP] optimization refactoring 2021-05-25 16:42:23 +03:00
88e94a7fd9 [WIP] Optimization 2021-05-24 17:02:12 +03:00
3ec674c61b Merge branch 'dev' into feature/advanced-optimization
# Conflicts:
#	examples/src/main/kotlin/space/kscience/kmath/functions/integrate.kt
#	examples/src/main/kotlin/space/kscience/kmath/functions/matrixIntegration.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/integration/CMGaussRuleIntegrator.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/integration/CMIntegrator.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/CMOptimization.kt
#	kmath-commons/src/main/kotlin/space/kscience/kmath/commons/optimization/cmFit.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/integration/GaussIntegrator.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/integration/Integrand.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/integration/MultivariateIntegrand.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/integration/UnivariateIntegrand.kt
#	kmath-functions/src/commonTest/kotlin/space/kscience/kmath/integration/GaussIntegralTest.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/FunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/NoDerivFunctionOptimization.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/optimization/Optimization.kt
2021-05-24 14:44:08 +03:00
380c76fe40 Piecewise optimization 2021-05-23 20:01:07 +03:00