Commit Graph

707 Commits

Author SHA1 Message Date
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
a24c8dcbce Simpson and spline integration 2021-05-22 20:08:49 +03:00
Iaroslav Postovalov
189449f40e Fix unresolved reference in generated type parameter 2021-05-21 20:08:17 +07:00
Iaroslav Postovalov
15a0258b7d Nd4j based TensorAlgebra implementation, drop Nd4jArrayLongStructure 2021-05-20 21:42:36 +07:00
Iaroslav Postovalov
d7a4228f5f Add out variance to StructureND and some related types, make some unrelated changes 2021-05-20 19:57:55 +07:00
a67c112793 add xor 2021-05-18 10:22:33 +03:00
Alexander Nozik
72f4d7c7e6
Update kmath-core/src/commonMain/kotlin/space/kscience/kmath/operations/Algebra.kt
Co-authored-by: Iaroslav Postovalov <38042667+CommanderTvis@users.noreply.github.com>
2021-05-17 10:10:54 +03:00
7f1789c556 Merge remote-tracking branch 'origin/dev' into feature/booleans 2021-05-16 20:52:22 +03:00
516444d1bc Fix and test 2021-05-16 20:51:46 +03:00
15d874fb06 Remove MST.Symbolic
Replace it by Symbol
LogicAlgebra
2021-05-16 19:53:21 +03:00
Iaroslav Postovalov
eb3a8655fb
Code generation of EJML linear spaces 2021-05-16 18:41:25 +07:00
4964fb2642 Merge remote-tracking branch 'origin/dev' into dev 2021-05-14 18:23:48 +03:00
42d130f69c Build tools update. Cleanup 2021-05-14 15:59:17 +03:00
fff7377687 ColumnarData returns nullable column 2021-05-14 12:42:27 +03:00
zhelenskiy
cf555bc8ae TODO removed as I already added what neeed 2021-05-14 10:48:57 +03:00
dc9ec54644 naming fix and doc update 2021-05-14 09:32:24 +03:00
1a615c503d re-apply bigint fix 2021-05-14 09:20:49 +03:00
1b60f71ed0 Revert "fixes to power"
This reverts commit bdb9ce6a
2021-05-14 09:14:48 +03:00
Alexander Nozik
bdb9ce6a59
fixes to power 2021-05-14 09:10:05 +03:00
Alexander Nozik
a299003236
Merge branch 'dev' into dev 2021-05-14 09:06:21 +03:00
zhelenskiy
c204747401 Reusing of existing power function 2021-05-13 22:44:33 +03:00
zhelenskiy
1e94538931 Unstable API annotation added + inconsistent docs fix + unnecessary BigIntField usage removed 2021-05-13 13:11:20 +03:00
f5289abdc3 Introduce PerformancePitfall annotation 2021-05-13 11:09:49 +03:00
97c4b81717 Introduce PerformancePitfall annotation 2021-05-13 11:02:20 +03:00
zhelenskiy
8443fac4ae UInt can be used in exponent (in pow) now. 2021-05-12 14:10:32 +03:00
zhelenskiy
1e71f29d5e Large addition tests added 2021-05-12 13:59:41 +03:00
zhelenskiy
ded01251d1 Karatsuba enhancement 2021-05-12 11:05:42 +03:00
zhelenskiy
ed86a31c50 Placing pow outside the Ring interface. 2021-05-12 04:58:48 +03:00
zhelenskiy
b4e47494fc Parsing of decimal values takes 9 immediately digits but not 1. 2021-05-12 04:42:17 +03:00
zhelenskiy
9184bd55de Parser optimization 2021-05-12 02:01:49 +03:00
zhelenskiy
74d14970b9 empty string parsing fixed 2021-05-12 00:58:27 +03:00
zhelenskiy
2da0648d73 Karatsuba added
Incorrect equals fix test
Incorrect overflow handling support
2021-05-11 01:40:45 +03:00
zhelenskiy
3ad7f32ada Incorrect BigInt equality fixed 2021-05-10 18:41:40 +03:00
zhelenskiy
d17a3ac6ef Further optimization of power is added 2021-05-10 18:24:13 +03:00
zhelenskiy
1716b7f5d1 Fast power is added 2021-05-10 17:57:49 +03:00
Iaroslav Postovalov
bbef697b7d
Document and change retention for UnstableKMathAPI 2021-05-09 18:10:06 +07:00
0622be2494 Merge remote-tracking branch 'origin/dev' into dev 2021-05-08 11:35:15 +03:00
Roland Grinis
b7cc4e4b1b merge dev 2021-05-06 07:45:53 +01:00
Alexander Nozik
eca1ad48f5
Merge pull request #273 from mipt-npm/feature/jupyter
Add Jupyter integration
2021-05-02 21:28:17 +03:00
Iaroslav Postovalov
83c7ec8c6b
Deprecate AlgebraElements.kt 2021-05-01 18:46:11 +07:00
Roland Grinis
1b6bd67b90 No virtual mutable buffers 2021-04-30 21:11:01 +01:00