fastlpr 1.0.0__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.
Files changed (64) hide show
  1. fastlpr-1.0.0/CHANGELOG.md +35 -0
  2. fastlpr-1.0.0/LICENSE +674 -0
  3. fastlpr-1.0.0/MANIFEST.in +4 -0
  4. fastlpr-1.0.0/PKG-INFO +485 -0
  5. fastlpr-1.0.0/README.md +432 -0
  6. fastlpr-1.0.0/pyproject.toml +90 -0
  7. fastlpr-1.0.0/setup.cfg +4 -0
  8. fastlpr-1.0.0/setup.py +94 -0
  9. fastlpr-1.0.0/src/fastlpr/__init__.py +127 -0
  10. fastlpr-1.0.0/src/fastlpr/_nufft_accel.c +31390 -0
  11. fastlpr-1.0.0/src/fastlpr/_nufft_accel.pyx +197 -0
  12. fastlpr-1.0.0/src/fastlpr/api.py +1147 -0
  13. fastlpr-1.0.0/src/fastlpr/backend_selection.py +304 -0
  14. fastlpr-1.0.0/src/fastlpr/bandwidth.py +137 -0
  15. fastlpr-1.0.0/src/fastlpr/batch.py +762 -0
  16. fastlpr-1.0.0/src/fastlpr/benchmarking.py +355 -0
  17. fastlpr-1.0.0/src/fastlpr/caching.py +551 -0
  18. fastlpr-1.0.0/src/fastlpr/confidence.py +304 -0
  19. fastlpr-1.0.0/src/fastlpr/convolution.py +939 -0
  20. fastlpr-1.0.0/src/fastlpr/core.py +379 -0
  21. fastlpr-1.0.0/src/fastlpr/data/2d_order2_formula_python.txt +1 -0
  22. fastlpr-1.0.0/src/fastlpr/design_matrix_optimized.py +614 -0
  23. fastlpr-1.0.0/src/fastlpr/fast_interp.py +252 -0
  24. fastlpr-1.0.0/src/fastlpr/fft_backend.py +1197 -0
  25. fastlpr-1.0.0/src/fastlpr/gpu.py +835 -0
  26. fastlpr-1.0.0/src/fastlpr/grid.py +74 -0
  27. fastlpr-1.0.0/src/fastlpr/interp_numba.py +855 -0
  28. fastlpr-1.0.0/src/fastlpr/interp_optimized.py +589 -0
  29. fastlpr-1.0.0/src/fastlpr/kde_plotting.py +307 -0
  30. fastlpr-1.0.0/src/fastlpr/kernel.py +444 -0
  31. fastlpr-1.0.0/src/fastlpr/lwp_estimator.py +467 -0
  32. fastlpr-1.0.0/src/fastlpr/lwp_formulas.py +451 -0
  33. fastlpr-1.0.0/src/fastlpr/matlab_interp.py +368 -0
  34. fastlpr-1.0.0/src/fastlpr/matlab_rng.py +226 -0
  35. fastlpr-1.0.0/src/fastlpr/memory_utils.py +170 -0
  36. fastlpr-1.0.0/src/fastlpr/model.py +126 -0
  37. fastlpr-1.0.0/src/fastlpr/nufft.py +604 -0
  38. fastlpr-1.0.0/src/fastlpr/nufft_batch.py +626 -0
  39. fastlpr-1.0.0/src/fastlpr/nufft_numba.py +647 -0
  40. fastlpr-1.0.0/src/fastlpr/nufftn_type1.py +751 -0
  41. fastlpr-1.0.0/src/fastlpr/plotting.py +182 -0
  42. fastlpr-1.0.0/src/fastlpr/predict.py +131 -0
  43. fastlpr-1.0.0/src/fastlpr/py.typed +0 -0
  44. fastlpr-1.0.0/src/fastlpr/regression.py +1691 -0
  45. fastlpr-1.0.0/src/fastlpr/solvers.py +407 -0
  46. fastlpr-1.0.0/src/fastlpr/spreading_fused.py +349 -0
  47. fastlpr-1.0.0/src/fastlpr/structures.py +71 -0
  48. fastlpr-1.0.0/src/fastlpr/timing.py +122 -0
  49. fastlpr-1.0.0/src/fastlpr/type_utils.py +168 -0
  50. fastlpr-1.0.0/src/fastlpr/utils/__init__.py +69 -0
  51. fastlpr-1.0.0/src/fastlpr/utils/helpers.py +92 -0
  52. fastlpr-1.0.0/src/fastlpr/utils/matlab_rng.py +301 -0
  53. fastlpr-1.0.0/src/fastlpr/utils.py +55 -0
  54. fastlpr-1.0.0/src/fastlpr.egg-info/PKG-INFO +485 -0
  55. fastlpr-1.0.0/src/fastlpr.egg-info/SOURCES.txt +62 -0
  56. fastlpr-1.0.0/src/fastlpr.egg-info/dependency_links.txt +1 -0
  57. fastlpr-1.0.0/src/fastlpr.egg-info/not-zip-safe +1 -0
  58. fastlpr-1.0.0/src/fastlpr.egg-info/requires.txt +21 -0
  59. fastlpr-1.0.0/src/fastlpr.egg-info/top_level.txt +1 -0
  60. fastlpr-1.0.0/tests/test_algorithm.py +398 -0
  61. fastlpr-1.0.0/tests/test_bandwidth.py +540 -0
  62. fastlpr-1.0.0/tests/test_errors.py +346 -0
  63. fastlpr-1.0.0/tests/test_kernel.py +504 -0
  64. fastlpr-1.0.0/tests/test_nufft.py +320 -0
@@ -0,0 +1,35 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] - 2025-12-05
9
+
10
+ ### Added
11
+
12
+ - Fast local polynomial regression via NUFFT with O(N + M log M) complexity
13
+ - Kernel density estimation (KDE) for 1D, 2D, and 3D data
14
+ - Local polynomial regression with orders 0 (Nadaraya-Watson), 1 (local linear), and 2 (local quadratic)
15
+ - Complex-valued response support
16
+ - Heteroscedastic variance estimation
17
+ - Automatic bandwidth selection via GCV (regression) and LCV (density estimation)
18
+ - 1-SE rule for conservative bandwidth selection
19
+ - Confidence interval computation
20
+ - Numba JIT compilation support (optional)
21
+
22
+ ### Main Functions
23
+
24
+ - cv_fastlpr() - Cross-validated local polynomial regression
25
+ - cv_fastkde() - Cross-validated kernel density estimation
26
+ - get_hlist() - Generate bandwidth grid
27
+ - fastlpr_predict() - Prediction at new data points
28
+ - fastlpr_interval() - Confidence interval computation
29
+ - fastlpr_plot() - Plotting utilities
30
+
31
+ ### Notes
32
+
33
+ - Python port of the MATLAB fastLPR toolbox
34
+ - Verified against MATLAB reference implementation (MSE < 1e-8)
35
+ - Performance: within 8x of MATLAB speed for all test cases