Commit Graph

219 Commits

Author SHA1 Message Date
0aa73cd48f Vector space refactor (optimization) 2021-03-14 09:43:22 +03:00
5e6f65a181 WIP Matrix refactor 2021-03-13 18:19:10 +03:00
9bc8e8fbf9 WIP vector space refactor 2021-03-12 22:52:18 +03:00
Alexander Nozik
f449bdd58f
Merge pull request #219 from mipt-npm/refactor/algebra-scale
Fully refactor algebra split ScaleOperations from Space.
2021-03-11 11:28:54 +03:00
fe95c4e48e Code review. 2021-03-10 18:20:23 +03:00
6a5ca2a115 Code review. 2021-03-10 18:02:04 +03:00
Iaroslav Postovalov
940718098d
Revise benchmarks code
Revise benchmarks code by using kotlinx.benchmark type aliases
(it will simplify creating multiplatform benchmarks), using
Blackhole class to consume results, moving all the constant state
to private companion objects
2021-03-10 21:35:28 +07:00
8ae8ebe871 Fully refactor algebra split ScaleOperations from Space. 2021-03-08 21:03:48 +03:00
6581f3dd8a Cleanup 2021-02-19 13:38:32 +03:00
8485d28872 Change package name to space.kscience 2021-02-18 11:17:28 +03:00
f201210fa0 Merge remote-tracking branch 'origin/dev' into dev 2021-02-15 09:35:14 +03:00
Iaroslav Postovalov
d69a04bb6e
Merge branch 'dev' into feature/mp-samplers 2021-02-12 20:58:03 +07:00
Iaroslav Postovalov
6aeccef889
Fix benchmarks again 2021-02-11 15:20:29 +07:00
a384b323c3 Update examples to use with instead of invoke on algebras 2021-02-11 11:17:44 +03:00
Alexander Nozik
cd4bfdf59e
Merge pull request #156 from mipt-npm/feature/quaternion
Add fast quaternion implementation, minor changes to complex
2021-02-11 11:01:29 +03:00
Iaroslav Postovalov
a891734ef0
Add newline 2021-02-11 14:53:20 +07:00
Iaroslav Postovalov
b02091402f
Remove explicity qualification 2021-02-11 14:52:26 +07:00
Iaroslav Postovalov
e6876c3f97
Fix benchmarks source set 2021-02-11 14:49:15 +07:00
Iaroslav Postovalov
cd96845c31
Discard a change 2021-02-09 18:12:35 +07:00
Iaroslav Postovalov
9210bc9198
Merge branch 'dev' into feature/mp-samplers 2021-02-06 23:12:16 +07:00
Iaroslav Postovalov
4f78286756
Fix after-merge problems 2021-01-30 17:19:46 +07:00
Iaroslav Postovalov
70c0b614a3
Merge branch 'dev' into feature/quaternion
# Conflicts:
#	CHANGELOG.md
#	examples/src/main/kotlin/kscience/kmath/operations/ComplexDemo.kt
#	examples/src/main/kotlin/kscience/kmath/structures/ComplexND.kt
#	kmath-complex/src/commonMain/kotlin/kscience/kmath/complex/ComplexNDField.kt
#	kmath-core/src/commonMain/kotlin/kscience/kmath/structures/NDAlgebra.kt
#	kmath-core/src/commonTest/kotlin/kscience/kmath/structures/NDFieldTest.kt
2021-01-29 17:00:57 +07:00
45866b500f Merge remote-tracking branch 'origin/dev' into refactor/ndalgebra
# Conflicts:
#	CHANGELOG.md
#	examples/src/benchmarks/kotlin/kscience/kmath/benchmarks/LinearAlgebraBenchmark.kt
#	kmath-commons/src/main/kotlin/kscience/kmath/commons/linear/CMMatrix.kt
#	kmath-for-real/src/commonMain/kotlin/kscience/kmath/real/RealMatrix.kt
2021-01-28 20:07:43 +03:00
Iaroslav Postovalov
b20081f161
Fix capitalization of LUP related references (LUP -> Lup) 2021-01-24 22:12:43 +07:00
8a2f1586e2 suppress unused 2021-01-24 17:11:14 +03:00
aff7bbab41 Matrix performance optimization 2021-01-24 17:07:19 +03:00
3bbb39f30d cleanup parallel field example 2021-01-24 10:26:56 +03:00
9829a16a32 Optimize Real NDField 2021-01-24 10:15:16 +03:00
1cb41f4dc2 Optimize Real NDField 2021-01-23 22:16:27 +03:00
Iaroslav Postovalov
9342824c96
Merge branch 'dev' into feature/quaternion 2021-01-24 02:00:22 +07:00
Iaroslav Postovalov
9c77f8f02f
Remove incorrect lines 2021-01-24 01:59:42 +07:00
Iaroslav Postovalov
624460c52d
Merge branch 'dev' into feature/mp-samplers
# Conflicts:
#	examples/src/main/kotlin/kscience/kmath/stat/DistributionBenchmark.kt
#	kmath-core/src/commonMain/kotlin/kscience/kmath/structures/Structure2D.kt
2021-01-24 01:55:32 +07:00
332c04b573 [WIP] Refactor NDStructures 2021-01-23 19:19:13 +03:00
061398b009 [WIP] Refactor NDStructures 2021-01-22 23:22:24 +03:00
Iaroslav Postovalov
2d1d6c008e
Fix after-merge problems 2021-01-20 15:07:12 +07:00
d0c9d97706 Minor optimization for RealNDAlgebra 2021-01-19 22:29:19 +03:00
Iaroslav Postovalov
9748e0bfbe
Merge branch 'dev' into feature/quaternion
# Conflicts:
#	CHANGELOG.md
#	examples/src/main/kotlin/kscience/kmath/stat/DistributionBenchmark.kt
#	kmath-complex/src/commonMain/kotlin/kscience/kmath/complex/ComplexNDField.kt
#	kmath-core/src/commonMain/kotlin/kscience/kmath/operations/Complex.kt
#	kmath-core/src/commonTest/kotlin/kscience/kmath/structures/NDFieldTest.kt
2021-01-20 01:10:31 +07:00
ab32cd9561 Numeric operations are decoupled from Ring 2021-01-19 17:16:43 +03:00
4635080317 Optimize RealMatrix dot operation 2021-01-18 21:33:53 +03:00
44ea32e843 Merge remote-tracking branch 'origin/dev' into dev 2021-01-07 18:07:26 +03:00
b288704528 Optimize RealMatrix dot operation 2021-01-07 18:07:00 +03:00
Iaroslav Postovalov
acf9dd2b6a
Extract complex and quaternion systems to another module 2021-01-06 21:01:37 +07:00
Iaroslav Postovalov
2f11660439
Replace Distribution.normal with NormalDistribution 2020-12-12 21:03:28 +07:00
Iaroslav Postovalov
e43aad33fe
Add missing import 2020-12-12 17:13:14 +07:00
Iaroslav Postovalov
5c54640e60
Merge branch 'dev' into mp-samplers
# Conflicts:
#	examples/src/main/kotlin/kscience/kmath/stat/DistributionDemo.kt
#	kmath-stat/src/jvmMain/kotlin/kscience/kmath/stat/distributions.kt
2020-12-12 17:11:09 +07:00
Iaroslav Postovalov
f001389f4c
Merge branch 'dev' into feature/dynamic-ops-currying
# Conflicts:
#	kmath-core/src/commonMain/kotlin/kscience/kmath/linear/MatrixContext.kt
2020-12-08 15:12:52 +07:00
Iaroslav Postovalov
e62cf4fc65
Rewrite ASM codegen to use curried operators, fix bugs, update benchmarks 2020-12-08 14:42:42 +07:00
712df04170 Implemented #131 2020-12-01 21:21:56 +03:00
89c0d863d2 Benchmark refactoring 2020-11-29 22:26:05 +03:00
625e624cab kmath-for-real refactoring 2020-11-29 21:38:12 +03:00
Iaroslav Postovalov
5a3fccb455
Add reference to Commons Math implementation of InternalErf, fix markdown issues, rename prob package in examples to stat 2020-11-29 22:02:06 +07:00
5b653f10d7 kmath-for-real refactoring 2020-11-29 13:32:20 +03:00
Iaroslav Postovalov
f18cd9ad40
Fix package names 2020-11-29 16:25:08 +07:00
Iaroslav Postovalov
3c602e859d
Merge branch 'dev' into mp-samplers
# Conflicts:
#	examples/src/main/kotlin/kscience/kmath/commons/prob/DistributionBenchmark.kt
#	examples/src/main/kotlin/kscience/kmath/commons/prob/DistributionDemo.kt
#	kmath-commons/src/main/kotlin/kscience/kmath/commons/expressions/DiffExpression.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/distributions/NormalDistribution.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/internal/InternalErf.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/internal/InternalGamma.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/internal/InternalUtils.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/AhrensDieterExponentialSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/AhrensDieterMarsagliaTsangGammaSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/AliasMethodDiscreteSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/BoxMullerNormalizedGaussianSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/GaussianSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/KempSmallMeanPoissonSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/LargeMeanPoissonSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/MarsagliaNormalizedGaussianSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/NormalizedGaussianSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/PoissonSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/SmallMeanPoissonSampler.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/samplers/ZigguratNormalizedGaussianSampler.kt
#	kmath-stat/src/jvmMain/kotlin/kscience/kmath/stat/distributions.kt
2020-11-02 01:16:29 +07:00
Iaroslav Postovalov
33d23c8d28
Duplicate repositories declared in main build script, fix errors 2020-11-02 01:08:55 +07:00
Iaroslav Postovalov
6b71d8525d
Merge branch 'dev' into kotlingrad
# Conflicts:
#	examples/build.gradle.kts
#	examples/src/main/kotlin/kscience/kmath/ast/ExpressionsInterpretersBenchmark.kt
2020-10-30 19:08:50 +07:00
Iaroslav Postovalov
d14e437659
Update DifferentiableExpression by providing second type argument representing the result of differentiation 2020-10-30 16:57:19 +07:00
Iaroslav Postovalov
ef7066b8c9
Update example 2020-10-30 16:40:58 +07:00
Iaroslav Postovalov
bc4eb95ae7
Add extension functions for DifferentiableMstExpression 2020-10-30 16:40:43 +07:00
Iaroslav Postovalov
29a670483b
Update KG and Maven repos, delete symbol delegate provider, implement working differentiable mst expression based on SFun shape to MST conversion 2020-10-30 01:09:11 +07:00
Iaroslav Postovalov
095b165fa4
Uncomment expressions benchmark, and add factory methods for Nd4jRing and Nd4jField 2020-10-29 23:59:36 +07:00
Iaroslav Postovalov
7f8abbdd20
Fix typo, introduce KG protocol delegating to algebra 2020-10-29 02:22:34 +07:00
Iaroslav Postovalov
2b7803290f
Merge branch 'dev' into kotlingrad
# Conflicts:
#	settings.gradle.kts
2020-10-28 18:37:21 +07:00
Iaroslav Postovalov
55909aee0d
Add additional constructor 2020-10-28 18:36:00 +07:00
dfa1bcaf01 prob renamed to stat 2020-10-28 09:16:21 +03:00
Iaroslav Postovalov
612f6f0082
Refactor, remove unused files, remove BasicSampler 2020-10-16 16:49:47 +07:00
e44423192d Tools version update 2020-10-13 20:34:17 +03:00
Iaroslav Postovalov
381137724d
Rename KG module 2020-10-13 19:47:07 +07:00
Iaroslav Postovalov
4bf430b2c0
Rename converter functions, add symbol delegate provider for MstAlgebra 2020-10-12 23:17:54 +07:00
Iaroslav Postovalov
54069fd37e
Add example of new AST API 2020-10-12 22:42:34 +07:00
Iaroslav Postovalov
26d81bddb5
Merge remote-tracking branch 'origin/dev' into mp-samplers
# Conflicts:
#	examples/src/main/kotlin/kscience/kmath/commons/prob/DistributionBenchmark.kt
2020-10-02 01:35:55 +07:00
Iaroslav Postovalov
0e6448cd3e
Merge pull request #136 from mipt-npm/ejml
Drop koma module, implement kmath-ejml module copying it, but for EJML SimpleMatrix
2020-10-02 01:30:39 +07:00
Iaroslav Postovalov
254ee9eced
Merge remote-tracking branch 'origin/dev' into even-more-docs 2020-10-01 20:59:34 +07:00
049ac89667 More informative toString for NDBuffer and Complex 2020-09-30 12:30:06 +03:00
Iaroslav Postovalov
b83293a057
Update example 2020-09-27 15:52:18 +07:00
Iaroslav Postovalov
e35a364aa8
Merge remote-tracking branch 'origin/dev' into mp-samplers
# Conflicts:
#	examples/src/main/kotlin/kscience/kmath/commons/prob/DistributionBenchmark.kt
#	examples/src/main/kotlin/kscience/kmath/commons/prob/DistributionDemo.kt
#	kmath-coroutines/src/commonMain/kotlin/kscience/kmath/chains/Chain.kt
#	kmath-coroutines/src/commonMain/kotlin/scientifik/kmath/chains/BlockingIntChain.kt
#	kmath-coroutines/src/commonMain/kotlin/scientifik/kmath/chains/BlockingRealChain.kt
#	kmath-prob/build.gradle.kts
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/Distribution.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/AhrensDieterExponentialSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/AhrensDieterMarsagliaTsangGammaSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/AliasMethodDiscreteSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/BoxMullerNormalizedGaussianSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/GaussianSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/InternalGamma.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/InternalUtils.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/KempSmallMeanPoissonSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/LargeMeanPoissonSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/MarsagliaNormalizedGaussianSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/NormalizedGaussianSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/PoissonSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/SmallMeanPoissonSampler.kt
#	kmath-prob/src/commonMain/kotlin/kscience/kmath/prob/samplers/ZigguratNormalizedGaussianSampler.kt
#	kmath-prob/src/commonMain/kotlin/scientifik/kmath/prob/FactorizedDistribution.kt
#	kmath-prob/src/commonMain/kotlin/scientifik/kmath/prob/RandomChain.kt
#	kmath-prob/src/commonMain/kotlin/scientifik/kmath/prob/RandomGenerator.kt
#	kmath-prob/src/jvmMain/kotlin/kscience/kmath/prob/distributions.kt
#	kmath-prob/src/jvmMain/kotlin/scientifik/kmath/prob/RandomSourceGenerator.kt
2020-09-27 14:54:20 +07:00
Iaroslav Postovalov
940fabfac2
Add more KDoc comments, fix grammar issue 2020-09-27 14:50:07 +07:00
Iaroslav
12b599fff2
Fix some packaging issues, add some KDoc comments, minor refactor 2020-09-23 21:15:54 +07:00
Iaroslav
86793d6fac
Fix package 2020-09-21 20:56:30 +07:00
Iaroslav
029f534cc2
Merge remote-tracking branch 'origin/dev' into ejml
# Conflicts:
#	CHANGELOG.md
#	README.md
#	examples/build.gradle.kts
#	examples/src/main/kotlin/scientifik/kmath/linear/LinearAlgebraBenchmark.kt
#	examples/src/main/kotlin/scientifik/kmath/linear/MultiplicationBenchmark.kt
#	kmath-core/src/commonMain/kotlin/kscience/kmath/linear/MatrixContext.kt
2020-09-21 18:55:47 +07:00
28190f9800 scientifik -> kscience 2020-09-20 22:39:27 +03:00
5032523bbf Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	build.gradle.kts
#	examples/src/main/kotlin/scientifik/kmath/linear/LinearAlgebraBenchmark.kt
#	kmath-ast/build.gradle.kts
#	kmath-ast/src/commonMain/kotlin/scientifik/kmath/ast/MstAlgebra.kt
#	kmath-commons/build.gradle.kts
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/misc/AutoDiff.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/operations/Complex.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/Buffers.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/FlaggedBuffer.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/IntBuffer.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/RealBuffer.kt
#	kmath-core/src/commonMain/kotlin/scientifik/kmath/structures/ShortBuffer.kt
#	kmath-for-real/build.gradle.kts
#	kmath-functions/build.gradle.kts
#	kmath-memory/build.gradle.kts
#	kmath-prob/build.gradle.kts
2020-09-20 21:59:10 +03:00
Iaroslav
a4eb54228d
Merge remote-tracking branch 'origin/dev' into ejml 2020-09-20 16:39:23 +07:00
Iaroslav
5eaeb82a0f
Make one-liners not one-liners, add newlines at EOFs, optimize imports and Kotlin extension configurations 2020-09-20 16:36:48 +07:00
9617b79647 Merge remote-tracking branch 'origin/kotlin14' into dev
# Conflicts:
#	build.gradle.kts
#	kmath-core/build.gradle.kts
#	kmath-memory/build.gradle.kts
#	settings.gradle.kts
2020-09-20 10:39:25 +03:00
Iaroslav Postovalov
d55e4a3f84
Merge remote-tracking branch 'origin/dev' into ejml 2020-09-15 17:46:26 +07:00
72340705fe Build refactor 2020-09-12 14:59:12 +03:00
Iaroslav Postovalov
b5fa1ed6e8
Merge remote-tracking branch 'origin/dev' into mp-samplers
# Conflicts:
#	kmath-coroutines/src/commonMain/kotlin/scientifik/kmath/chains/BlockingIntChain.kt
#	kmath-coroutines/src/commonMain/kotlin/scientifik/kmath/chains/BlockingRealChain.kt
#	kmath-coroutines/src/commonMain/kotlin/scientifik/kmath/chains/Chain.kt
#	kmath-prob/src/commonMain/kotlin/scientifik/kmath/prob/RandomChain.kt
2020-09-10 23:42:33 +07:00
Iaroslav Postovalov
d1184802bd
Drop koma module, implement kmath-ejml module copying it, but for EJML SimpleMatrix 2020-09-09 23:42:43 +07:00
Iaroslav Postovalov
fc5ec8fed7
Drop koma support, add more explicit visibility modifiers 2020-09-09 22:31:54 +07:00
Iaroslav
5e4522bb06
Upgrade build tools plugin to dev version; file reformat; change dependencies' versions; specify visibility explicitly at certain places (core, especially), make some interfaces fun 2020-09-08 16:40:47 +07:00
Iaroslav Postovalov
40888f66d6
Replace opt-in annotations with useExperimentalAnnotation for modules 2020-08-22 16:49:21 +07:00
Iaroslav
1d18832aa6
Provide contracts for many functions, make inline several functions, replace <algebra>.run { and with(<algebra>> { with <algebra> {, add newlines at EOFs, specify operator modifier explicitly at many places, reformat files, replace if (...) error guards with require and check 2020-08-22 02:42:59 +07:00
Iaroslav
551d4991fb
Merge remote-tracking branch 'origin/dev' into mp-samplers 2020-06-27 20:47:57 +07:00
Iaroslav
27605aee82
Merge remote-tracking branch 'origin/dev' into adv-expr 2020-06-27 19:56:00 +07:00
4b067f7a97 DoubleBuffer -> RealBuffer. Number algebra refactoring. 2020-06-27 12:19:43 +03:00
Commander Tvis
002de8d23a
Merge remote-tracking branch 'origin/dev' into adv-expr
# Conflicts:
#	examples/build.gradle.kts
2020-06-25 10:28:32 +07:00
Commander Tvis
c9de04a610
Make benchmarks 'naive' 2020-06-25 10:24:21 +07:00
668d13c9d1 Minor refactoring + domains 2020-06-23 20:03:45 +03:00
Iaroslav
675ace272c
Minor Gradle settings modification, add benchmarks of different Expression implementatinos 2020-06-23 03:38:20 +07:00
96550922cd Removal of AsmExpression 2020-06-15 22:07:31 +03:00
Iaroslav
822f960e9c
Fix broken demos, add newlines at the end of files 2020-06-08 18:19:18 +07:00
8533a31677 Optimized blocking chains for primitive numbers generation. 2020-05-23 10:45:02 +03:00
3f68c0c34e Fix demo for distributions 2020-05-22 21:28:14 +03:00
30730f1051 Dimensions for JS 2020-04-27 15:43:03 +03:00
169801060b Examples for type-safe dimensions 2019-12-09 19:57:26 +03:00
4060c70b17 Examples for type-safe dimensions 2019-12-09 19:52:00 +03:00
9936b9e4b7 Viktor prototype with inline 2019-12-09 17:37:17 +03:00
cbac4fca33 Viktor prototype with compiler bug 2019-12-08 17:25:36 +03:00
f9836a6477 Viktor prototype 2019-12-08 15:48:25 +03:00
1e70bebba6 Version update + some useful extensions 2019-11-20 16:12:41 +03:00
e5e9367c43 Factorized distributions/named priors 2019-09-02 13:07:42 +03:00
88759807ab Added complex example for article 2019-06-26 18:51:01 +03:00
651f8323f3 Basic support for BigInteger (#69) 2019-06-09 22:03:35 +03:00
fe05fc5a14 Added chain mappers 2019-06-09 10:06:48 +03:00
1b647b6014 Random demo 2019-06-08 16:44:49 +03:00
cd1c155e7d Examples fix 2019-06-08 16:30:06 +03:00
f480aa1c5c Example fix 2019-06-08 16:25:51 +03:00
9c2164cd64 Distribution implementations for commons-math 2019-06-08 14:26:44 +03:00