gplite 2.1.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- gplite-2.1.2/.gitignore +18 -0
- gplite-2.1.2/CHANGELOG.md +59 -0
- gplite-2.1.2/LICENSE +674 -0
- gplite-2.1.2/PKG-INFO +822 -0
- gplite-2.1.2/README.md +133 -0
- gplite-2.1.2/benchmarks/README.md +25 -0
- gplite-2.1.2/benchmarks/bench_active_learning.py +177 -0
- gplite-2.1.2/benchmarks/bench_gaussian_process.py +177 -0
- gplite-2.1.2/benchmarks/bench_kernels.py +127 -0
- gplite-2.1.2/benchmarks/benchmark_gpy.py +54 -0
- gplite-2.1.2/examples/active_learning_ei_max.csv +9 -0
- gplite-2.1.2/examples/active_learning_example.py +115 -0
- gplite-2.1.2/examples/active_learning_mae.csv +6 -0
- gplite-2.1.2/examples/active_learning_random.csv +9 -0
- gplite-2.1.2/examples/active_learning_uncertainty.csv +9 -0
- gplite-2.1.2/examples/anisotropic_kernel_example.py +89 -0
- gplite-2.1.2/examples/composite_kernels.py +220 -0
- gplite-2.1.2/examples/kernel_comparison_example.py +75 -0
- gplite-2.1.2/examples/save_load_example.py +82 -0
- gplite-2.1.2/pyproject.toml +28 -0
- gplite-2.1.2/src/gplite/ActiveLearning/README.md +158 -0
- gplite-2.1.2/src/gplite/ActiveLearning/__init__.py +3 -0
- gplite-2.1.2/src/gplite/ActiveLearning/active_learning.py +399 -0
- gplite-2.1.2/src/gplite/ActiveLearning/selection_functions.py +184 -0
- gplite-2.1.2/src/gplite/GaussianProcess/README.md +133 -0
- gplite-2.1.2/src/gplite/GaussianProcess/__init__.py +3 -0
- gplite-2.1.2/src/gplite/GaussianProcess/gaussian_process.py +366 -0
- gplite-2.1.2/src/gplite/Kernels/README.md +176 -0
- gplite-2.1.2/src/gplite/Kernels/__init__.py +11 -0
- gplite-2.1.2/src/gplite/Kernels/_base.py +345 -0
- gplite-2.1.2/src/gplite/Kernels/_composite.py +427 -0
- gplite-2.1.2/src/gplite/Kernels/constant.py +181 -0
- gplite-2.1.2/src/gplite/Kernels/matern.py +381 -0
- gplite-2.1.2/src/gplite/Kernels/periodic.py +364 -0
- gplite-2.1.2/src/gplite/Kernels/rbf.py +320 -0
- gplite-2.1.2/src/gplite/Optimization/README.md +119 -0
- gplite-2.1.2/src/gplite/Optimization/__init__.py +0 -0
- gplite-2.1.2/src/gplite/Optimization/active_learning/__init__.py +0 -0
- gplite-2.1.2/src/gplite/Optimization/active_learning/loss_functions.py +58 -0
- gplite-2.1.2/src/gplite/Optimization/active_learning/optimization.py +189 -0
- gplite-2.1.2/src/gplite/Optimization/gaussian_process/__init__.py +0 -0
- gplite-2.1.2/src/gplite/Optimization/gaussian_process/loss_functions.py +108 -0
- gplite-2.1.2/src/gplite/Optimization/gaussian_process/optimization.py +193 -0
- gplite-2.1.2/src/gplite/__init__.py +17 -0
- gplite-2.1.2/src/gplite/_utils/__init__.py +0 -0
- gplite-2.1.2/src/gplite/_utils/_computation.py +129 -0
- gplite-2.1.2/src/gplite/_utils/_constants.py +10 -0
- gplite-2.1.2/src/gplite/_utils/_data.py +134 -0
- gplite-2.1.2/src/gplite/_utils/_errors.py +7 -0
- gplite-2.1.2/src/gplite/_utils/_types.py +16 -0
- gplite-2.1.2/src/gplite/_utils/_validation.py +360 -0
- gplite-2.1.2/src/gplite/py.typed +0 -0
gplite-2.1.2/.gitignore
ADDED
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
Notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
## [2.1.2] - 2026-03-07
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **Benchmarking** [Benchmark suite](benchmarks/) for testing compute-heavy sections of this package
|
|
9
|
+
|
|
10
|
+
## [2.1.1] - 2026-03-07
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **Performance** Minor changes to computation utilities and optimization algorithms for increased performance
|
|
15
|
+
|
|
16
|
+
### Fixed
|
|
17
|
+
|
|
18
|
+
- v2.1.0 changelog now correctly reflects the date it was released
|
|
19
|
+
|
|
20
|
+
## [2.1.0] - 2026-03-05
|
|
21
|
+
|
|
22
|
+
### Added
|
|
23
|
+
|
|
24
|
+
- **Matérn kernel** (`MaternKernel`) with support for ν=1.5 (once differentiable) and ν=2.5 (twice differentiable), including isotropic and anisotropic variants
|
|
25
|
+
- **Expected Improvement** selection strategies for active learning: `ei_max` (maximize) and `ei_min` (minimize) for Bayesian optimization use cases
|
|
26
|
+
- **Model save/load**: `gp.save(filepath)` and `GaussianProcess.load(filepath)` using pickle serialization
|
|
27
|
+
- Efficient `_compute_diag` method on all kernels for O(n) predictive variance computation instead of O(n²)
|
|
28
|
+
- [Example files for usage reference](examples/)
|
|
29
|
+
- **Logging capability** to give ActiveLearner updates in a file rather than (or along with) stdout
|
|
30
|
+
|
|
31
|
+
### Fixed
|
|
32
|
+
|
|
33
|
+
- Predictive variance now correctly computed for non-unit-diagonal kernels (e.g., `ConstantKernel * RBFKernel`); previously hardcoded `k(x,x) = 1`
|
|
34
|
+
- Active learning optimizer now refits the model after setting final hyperparameters, matching GP optimizer behavior
|
|
35
|
+
- Active learning optimizer fallback path now refits when all screening runs fail
|
|
36
|
+
- Missing `raise` in `validate_variable_names` — wrong number of variable names was silently accepted
|
|
37
|
+
- Active learning `max_points` budget now correctly accounts for initial training points and clamps `batch_size` to prevent overshooting
|
|
38
|
+
- Installation instructions now have the correct link for installing the package with uv and standalone pip
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- Refactored Cholesky decomposition into two clear phases (exponential noise retry, then eigenvalue fallback), fixing incorrect noise return value after eigenvalue correction
|
|
43
|
+
- Renamed `SMALL_EPSILON` to `EPSILON` in `_utils/_constants.py`
|
|
44
|
+
- `_validate_input_data` in base `Kernel` class changed from abstract to concrete method, reducing boilerplate in concrete kernel subclasses
|
|
45
|
+
- Default `max_points` in `ActiveLearner` now uses `len(y_full)` instead of `np.floor(len(y_full))`, returning an int instead of float
|
|
46
|
+
- Removed unused `self.x_test` and `self.y_test` attributes from `GaussianProcess`
|
|
47
|
+
- Simplified `fit()` method by removing redundant `_fit_without_optimization()` call in the optimize branch
|
|
48
|
+
|
|
49
|
+
## [2.0.0] - 2026-02-15
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
### Features
|
|
53
|
+
|
|
54
|
+
- Gaussian Process regression with automatic hyperparameter optimization via log marginal likelihood
|
|
55
|
+
- Kernels: RBF, Periodic, Constant, with additive and product composition (`+` and `*`)
|
|
56
|
+
- Anisotropic (ARD) kernel variants with per-dimension hyperparameters when applicable
|
|
57
|
+
- Active learning with uncertainty, max absolute error, and random selection strategies
|
|
58
|
+
- Input and target normalization
|
|
59
|
+
- String export of fitted GP expressions for integration with external tools (e.g., OpenMM)
|