Commit Graph

213 Commits

Author SHA1 Message Date
Gleb Minaev
5d4514a742 More test tools! More tests!! More fixes of stupid bugs!!! 😭 2022-03-19 19:35:41 +03:00
Gleb Minaev
90a7c4d901 Simplified use of Rational (current BigInt are hard to use and actually useless). Added tests, fixed bug. 2022-03-19 18:08:43 +03:00
Gleb Minaev
a965f5683f Added some tests and some utilities for tests. Fixed bug in utility of PolynomialSpace. 2022-03-19 16:54:30 +03:00
Gleb Minaev
85cd3b4de6 Added some test. Fixed bug in algebraicStub.kt 2022-03-18 20:39:01 +03:00
Gleb Minaev
cdc85291bc Fixed bug in implementations of polynomial operations 2022-03-18 20:04:21 +03:00
Gleb Minaev
ed2f14b68e Optimised existing substitution function. Prototyped substitution for RFs. 2022-03-18 01:47:03 +03:00
Gleb Minaev
86553e9f35 Added utilities. Rewrote polynomial-in-polynomial substitution 2022-03-17 16:28:41 +03:00
Gleb Minaev
d63c4acf10 Added space and scope fabrics for RFs 2022-03-17 16:27:02 +03:00
Gleb Minaev
ffd3ae7684 Optimized allocation during coefficients generation in Polynomial 2022-03-17 16:02:41 +03:00
Gleb Minaev
a8a95c9df7 Fixed typo 2022-03-17 02:15:48 +03:00
Gleb Minaev
e5186d469a Fixed issue with confusing countOfVariables in Numbered... 2022-03-17 02:12:40 +03:00
Gleb Minaev
2082175af5 Fixed typos. 2022-03-16 23:31:07 +03:00
Gleb Minaev
75fd920735 Deleted suddenly missed region marks and unused error classes 2022-03-16 23:22:51 +03:00
Gleb Minaev
3c9d8a4eee Deleted all region marks 2022-03-16 22:44:55 +03:00
Gleb Minaev
24944cdb16 Added support of power function to abstract structures.
Implemented exponentiation by squaring as default implementation of `power`. Updated docs in algebraicStub.kt and updated realisations in it.
2022-03-16 15:19:27 +03:00
Gleb Minaev
9aa131a9c6 Replaced Variable in Labeled... by Symbol and deleted it 2022-03-16 01:06:39 +03:00
Gleb Minaev
16cf1bc65e Implemented all derivative-like functions 2022-03-16 00:47:07 +03:00
Gleb Minaev
bb5e638b31 Added polynomial spaces and scopes fabrics 2022-03-15 20:38:27 +03:00
Gleb Minaev
1f9d8d34f5 Tried to add constructors and/or fabrics for polynomials 2022-03-15 20:18:39 +03:00
Gleb Minaev
91c9ea61da Added derivative-like functions to Polynomial 2022-03-15 18:10:11 +03:00
Gleb Minaev
1754ae0695 Added some docs 2022-03-15 16:43:22 +03:00
Gleb Minaev
79736a0a9b Forgot to remove unnecessary tailrec 2022-03-15 15:36:10 +03:00
Gleb Minaev
f86529d659 Optimized optimizedMultiply and optimizedAddMultiplied for cases of negative value of other and multiplier 2022-03-15 15:35:17 +03:00
Gleb Minaev
ebd7f799ad Attempts to implement derivatives and antiderivatives 2022-03-15 00:47:23 +03:00
Gleb Minaev
31ccf744c5 Deleted useless annotations JvmName, JsName and Suppress 2022-03-14 23:33:00 +03:00
Gleb Minaev
fb01d85197 Removed extra JSName annotations. Now everything builds 2022-03-14 22:23:50 +03:00
Gleb Minaev
44febbdd73 Processed labeledRationalFunctionUtil.kt 2022-03-14 20:19:42 +03:00
Gleb Minaev
dd820da765 1. Prototyped rest 2 algebraic structures of rational functions
2. Added `constantZero` and `constantOne` to abstract spaces and applied them instead of `ring.zero` and `ring.one`
3. Moved logic of `R.isZero` and 5 others to `AbstractRationalFunctionalSpace`
4. Deleted forgotten overridden functions of constants
5. Added KMath contributors' copyright notes
6. Added TODO 😄 The `NumberedPolynomial`'s `countOfVariables` is a confusing
2022-03-14 19:59:53 +03:00
Gleb Minaev
07f4b83722 Fixed forgotten TODOs 2022-03-14 14:18:15 +03:00
Gleb Minaev
de53d032af 1. Prototyped Rational Functions
2. Added abstract interfaces for removing boilerplates
3. Changed or added default values in interfaces
4. Renamed non-operator `equals` to `equalsTo`, and made it infix
2022-03-14 14:14:24 +03:00
Gleb Minaev
93de1d5311 Added support for all polynomials. But standard utilities still are not fully implemented. 2022-03-13 03:44:16 +03:00
Gleb Minaev
cab5958107 Added abstract rational functions 2022-03-13 03:44:16 +03:00
Gleb Minaev
191dd02e47 Restructured Polynomial 2022-03-13 03:44:15 +03:00
4575ab2b79
Update interpolation API to agree with other conventions. 2022-03-07 10:39:59 +03:00
Iaroslav Postovalov
7ceb0b69b8 Revert license removal and update copyright 2021-11-16 18:14:34 +07:00
a1351aa942 Buffer views 2021-11-08 17:50:49 +03:00
bf504ae6c5 Basic series 2021-11-05 16:58:13 +03:00
688382eed6 Shapeless ND and Buffer algebras 2021-10-17 12:42:35 +03:00
abae29bbed DoubleBuffer algebra refactoring 2021-10-02 18:54:45 +03:00
89eebbecb7 Fix EJML inversion issue 2021-09-21 21:24:27 +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
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
afd5908784 Revise grammar of KDoc comments, refresh documentation files 2021-07-29 07:16:26 +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
95c0b2d3f0 [WIP] optimization with QOW 2021-06-08 14:27:45 +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
12805712d3 Integrand toString 2021-05-24 14:30:51 +03:00
380c76fe40 Piecewise optimization 2021-05-23 20:01:07 +03:00
ec7a971df7 Separate double-based integrator for a Simpson rule 2021-05-22 20:17:52 +03:00
a24c8dcbce Simpson and spline integration 2021-05-22 20:08:49 +03:00
18509f1259 Simpson integrator 2021-05-21 23:14:07 +03:00
8a07140f7c Minor piecewise rework 2021-05-19 22:35:06 +03:00
0898285542 Removed Any restriction on polynomials 2021-05-19 12:58:01 +03:00
d45d44f96d Fix Interpolation 2021-05-17 21:55:32 +03:00
53a6d3543f [WIP] Interpolation fix 2021-05-17 16:53:12 +03:00
e6c6925209 Fix integration borders 2021-05-16 22:33:53 +03:00
d1e76175b7 Refactor integrator API. 2021-05-16 14:09:21 +03:00
6f39b38a72 Refactor integrator API. 2021-05-16 13:59:37 +03:00
6eb95f26eb Additional piecewise extension 2021-05-14 12:11:37 +03:00
feb5743f58 Change signature of one of integrate helpers 2021-05-13 11:10:59 +03:00
257337f4fb [WIP] Refactor optimization 2021-04-25 22:34:59 +03:00
fd4108b74f fix segmented integral 2021-04-19 11:26:06 +03:00
07e39a068d Use split interval for integration. 2021-04-18 19:43:03 +03:00
6c215abf13 Fix BigInt benchmark. 2021-04-17 10:08:04 +03:00
ef1200aad0 Update integration API 2021-04-16 16:39:27 +03:00
65a8d8f581 Field element integration 2021-04-16 15:50:33 +03:00
Iaroslav Postovalov
e9c31b7827
Merge branch 'master' into dev
# Conflicts:
#	README.md
#	build.gradle.kts
#	examples/src/main/kotlin/space/kscience/kmath/stat/DistributionBenchmark.kt
#	examples/src/main/kotlin/space/kscience/kmath/structures/ParallelRealNDField.kt
#	kmath-ast/README.md
#	kmath-ast/build.gradle.kts
#	kmath-ast/src/commonMain/kotlin/space/kscience/kmath/ast/MstExpression.kt
#	kmath-complex/README.md
#	kmath-complex/build.gradle.kts
#	kmath-complex/src/commonMain/kotlin/space/kscience/kmath/complex/ComplexNDField.kt
#	kmath-core/README.md
#	kmath-core/build.gradle.kts
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/expressions/MST.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/expressions/MstAlgebra.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/nd/RealNDField.kt
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/structures/RealBufferField.kt
#	kmath-coroutines/build.gradle.kts
#	kmath-coroutines/src/commonMain/kotlin/space/kscience/kmath/chains/BlockingRealChain.kt
#	kmath-coroutines/src/jvmMain/kotlin/space/kscience/kmath/structures/LazyNDStructure.kt
#	kmath-dimensions/src/commonTest/kotlin/kscience/dimensions/DMatrixContextTest.kt
#	kmath-for-real/README.md
#	kmath-functions/README.md
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/interpolation/Interpolator.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/interpolation/LoessInterpolator.kt
#	kmath-functions/src/commonMain/kotlin/space/kscience/kmath/interpolation/XYPointSet.kt
#	kmath-geometry/build.gradle.kts
#	kmath-nd4j/README.md
#	kmath-nd4j/build.gradle.kts
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/distributions/FactorizedDistribution.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/Distribution.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/Fitting.kt
#	kmath-stat/src/commonMain/kotlin/space/kscience/kmath/stat/OptimizationProblem.kt
#	kmath-stat/src/jvmMain/kotlin/space/kscience/kmath/stat/distributions.kt
#	kmath-viktor/src/main/kotlin/space/kscience/kmath/viktor/ViktorNDStructure.kt
2021-04-16 18:02:44 +07:00
ba3c9b6d45 BigIntBenchmarks. cleanup 2021-04-16 09:47:30 +03:00
Iaroslav Postovalov
41b7349a43
Setup copyright headers, add references to third-party files, update LICENSE 2021-04-16 00:15:00 +07:00
19ec6a57a4 Gauss-Legendre working test 2021-04-15 19:39:46 +03:00
93bc371622 WIP Integrator tests 2021-04-15 09:53:29 +03:00
e2ceb64d36 Fix errors and migrations 2021-04-14 23:26:21 +03:00
6cea5742e8 Blocking statistics. Move MST to core 2021-04-14 12:40:26 +03: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
cd05ca6e95 Initial Optimization API 2021-03-24 16:36:06 +03:00
e216fd50f5 Merge remote-tracking branch 'origin/dev' into dev
# Conflicts:
#	build.gradle.kts
#	kmath-core/src/commonMain/kotlin/space/kscience/kmath/misc/XYPointSet.kt
#	kmath-ejml/src/main/kotlin/space/kscience/kmath/ejml/EjmlLinearSpace.kt
2021-03-24 13:33:08 +03:00
Iaroslav Postovalov
4d160b81b9
Improve KDoc comments for kmath-functions 2021-03-23 19:48:12 +07:00
Iaroslav Postovalov
67aa173927
Some documentation updates 2021-03-22 16:11:54 +07:00
aeceb4a337 Move dataset to core 2021-03-19 14:53:14 +03:00
206e4cbcf6 Real -> Double 2021-03-16 21:17:26 +03:00
05f742452d Structure naming change 2021-03-16 20:56:20 +03:00
105b84b87c minor cosmetics 2021-03-16 20:44:03 +03:00
874875c13a API for integration 2021-03-16 15:05:44 +03:00
52a942dbe2 integrand 2021-03-12 19:29:06 +03:00
522f39cef3 replace Space by Group 2021-03-10 22:09:19 +03:00
6a5ca2a115 Code review. 2021-03-10 18:02:04 +03:00
8ae8ebe871 Fully refactor algebra split ScaleOperations from Space. 2021-03-08 21:03:48 +03:00
8485d28872 Change package name to space.kscience 2021-02-18 11:17:28 +03:00
Iaroslav Postovalov
9210bc9198
Merge branch 'dev' into feature/mp-samplers 2021-02-06 23:12:16 +07:00
85927c9f6b Documentation update. 2021-01-30 20:12:14 +03:00
061398b009 [WIP] Refactor NDStructures 2021-01-22 23:22:24 +03: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
1c1580c8e6 Generification of autodiff and chi2 2020-10-27 17:57:49 +03:00
Iaroslav Postovalov
612f6f0082
Refactor, remove unused files, remove BasicSampler 2020-10-16 16:49:47 +07:00
28190f9800 scientifik -> kscience 2020-09-20 22:39:27 +03:00
Iaroslav Postovalov
8b171ac3a3
Update changelog 2020-09-12 09:22:26 +07:00
Iaroslav Postovalov
2b15d69f11
Enable functions module and unmark Polynomial inline 2020-09-10 15:22:01 +07:00
Iaroslav Postovalov
fc5ec8fed7
Drop koma support, add more explicit visibility modifiers 2020-09-09 22:31:54 +07:00
Iaroslav Postovalov
f567f73d19
Specify explicit API visbility, minor refactoring (error handling, etc.) 2020-09-09 11:28:54 +07:00
Iaroslav Postovalov
6b79e79d21
Update tools and Kotlin, specify public explicitly, minor contracts refactor 2020-09-09 09:55:26 +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
e00a66ca42 Fix linear interpolator const 2020-02-13 16:21:41 +03:00
068b90e7ab Add different ways to provide data for XY interpolator 2020-02-12 22:26:25 +03:00
73f40105c4 Interpolation API 2020-02-12 21:57:21 +03:00
d56b4148be Generalized linear interpolation 2020-01-12 20:51:16 +03:00
396b31d106 Linear interpolation 2020-01-12 10:49:42 +03:00
8662935dbe Merge branch 'master' into dev 2020-01-12 10:02:28 +03:00