Implement Commons RNG-like samplers in kmath-prob module for Multiplatform #164

Merged
CommanderTvis merged 44 commits from feature/mp-samplers into dev 2021-03-31 09:25:44 +03:00

44 Commits

Author SHA1 Message Date
Iaroslav Postovalov
9574099f9b
Fix post-merge issues 2021-03-31 02:24:21 +07:00
Iaroslav Postovalov
f26cad6d18
Merge branch 'dev' into feature/mp-samplers
# Conflicts:
#	examples/src/main/kotlin/space/kscience/kmath/commons/fit/fitWithAutoDiff.kt
#	examples/src/main/kotlin/space/kscience/kmath/stat/DistributionBenchmark.kt
#	examples/src/main/kotlin/space/kscience/kmath/stat/DistributionDemo.kt
#	kmath-commons/src/test/kotlin/space/kscience/kmath/commons/optimization/OptimizeTest.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/Buffer.kt
#	kmath-coroutines/src/commonMain/kotlin/kscience/kmath/chains/BlockingRealChain.kt
#	kmath-stat/src/commonMain/kotlin/kscience/kmath/stat/SamplerAlgebra.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/Distribution.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/RandomChain.kt
#	kmath-stat/src/jvmMain/kotlin/space/kscience/kmath/stat/distributions.kt
2021-03-31 01:48:26 +07:00
Iaroslav Postovalov
d69a04bb6e
Merge branch 'dev' into feature/mp-samplers 2021-02-12 20:58:03 +07:00
Iaroslav Postovalov
39f2c6c3f4
Merge branch 'dev' into feature/mp-samplers 2021-02-07 02:58:10 +07:00
Iaroslav Postovalov
9210bc9198
Merge branch 'dev' into feature/mp-samplers 2021-02-06 23:12:16 +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
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
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
Iaroslav Postovalov
12758d589e
Merge branch 'dev' into mp-samplers 2020-11-29 16:25:25 +07: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
55909aee0d
Add additional constructor 2020-10-28 18:36:00 +07:00
Iaroslav Postovalov
59b120e086
Fix platform declarations 2020-10-23 17:01:16 +07:00
Iaroslav Postovalov
826ec727b7
Merge branch 'dev' into mp-samplers 2020-10-21 02:29:53 +07:00
Iaroslav Postovalov
612f6f0082
Refactor, remove unused files, remove BasicSampler 2020-10-16 16:49:47 +07:00
Iaroslav Postovalov
d4aa4587a9
Add missing files 2020-10-15 23:53:19 +07:00
Iaroslav Postovalov
0c6fff3878
Code refactoring, implement NormalDistribution 2020-10-15 23:52:50 +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
b665a3a2fc
Merge remote-tracking branch 'origin/dev' into mp-samplers 2020-09-28 03:02:48 +07:00
Iaroslav Postovalov
b83293a057
Update example 2020-09-27 15:52:18 +07:00
Iaroslav Postovalov
53ebec2e01
Perform 1.4 and explicit API migrations, refactor blocking chain, make tests work 2020-09-27 15:16:12 +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
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
019f60c721
Merge remote-tracking branch 'origin/dev' into mp-samplers 2020-07-26 13:39:35 +07:00
Iaroslav
551d4991fb
Merge remote-tracking branch 'origin/dev' into mp-samplers 2020-06-27 20:47:57 +07:00
Iaroslav
6fc6d124ca
Merge remote-tracking branch 'mipt-npm/dev' into mp-samplers 2020-06-16 14:49:56 +07:00
Iaroslav
fae33ed062
Merge remote-tracking branch 'mipt-npm/dev' into mp-samplers 2020-06-14 01:41:36 +07:00
Iaroslav
8b9c03e616
Merge remote-tracking branch 'mipt-npm/dev' into mp-samplers 2020-06-12 17:40:37 +07:00
Iaroslav
a03c82f758
Simplify BlockingIntChain and BlockingRealChain; add blocking extension function for RandomChain; copy general documentation to samplers created with Apache Commons RNG 2020-06-12 02:49:06 +07:00
Commander Tvis
46f6d57fd9
Add 2 more samplers, replace SimpleChain with generator.chain 2020-06-12 01:13:15 +07:00
Commander Tvis
8cdc596549
Merge remote-tracking branch 'mipt-npm/dev' into dev 2020-06-11 10:39:05 +07:00
Iaroslav
822f960e9c
Fix broken demos, add newlines at the end of files 2020-06-08 18:19:18 +07:00
Iaroslav
246feacd72
Delete unused RandomGenerator-to-URP adapter 2020-06-08 18:05:56 +07:00
Iaroslav
46649a1ddf
Delete unused InternalUtils functions 2020-06-08 18:02:15 +07:00
Iaroslav
d4226b7e7d
Reformat 2020-06-08 17:38:48 +07:00
Iaroslav
5ff76209aa
Specify type explicitly 2020-06-08 17:37:35 +07:00
Iaroslav
2b24bd979e
Add Apache Javadocs references 2020-06-08 17:36:14 +07:00
Iaroslav
e7b1203c2d
Move init blocks checks to factory method of and make all the samplers' constructor private 2020-06-08 17:29:57 +07:00
Iaroslav
28062cb096
Minimal refactor of existing random API, move samplers implementations to samplers package, implement Sampler<T> by all the Samplers 2020-06-08 17:16:57 +07:00
Iaroslav
bc59f8b287
Merger kmath-prob and kmath-commons-rng-part 2020-06-08 15:13:54 +07:00
Iaroslav
2de9548c23
Implement commons-rng particle in pure Kotlin 2020-06-07 22:12:04 +07:00