bs-python-utils 0.9__tar.gz → 0.9.3__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 (65) hide show
  1. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/PKG-INFO +4 -1
  2. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/README.md +3 -0
  3. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bivariate_quantiles.py +12 -19
  4. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils.egg-info/PKG-INFO +4 -1
  5. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/pyproject.toml +1 -1
  6. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/LICENSE +0 -0
  7. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid1prec13.txt +0 -0
  8. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid1prec17.txt +0 -0
  9. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid1prec9.txt +0 -0
  10. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid2prec13.txt +0 -0
  11. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid2prec17.txt +0 -0
  12. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid2prec9.txt +0 -0
  13. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid3prec13.txt +0 -0
  14. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid3prec17.txt +0 -0
  15. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid3prec9.txt +0 -0
  16. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid4prec13.txt +0 -0
  17. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid4prec17.txt +0 -0
  18. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid4prec9.txt +0 -0
  19. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid5prec13.txt +0 -0
  20. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid5prec17.txt +0 -0
  21. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/GaussHermiteSparseGrids/GHsparseGrid5prec9.txt +0 -0
  22. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/Timer.py +0 -0
  23. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/__init__.py +0 -0
  24. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_altair.py +0 -0
  25. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_logging.py +0 -0
  26. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_mathstr.py +0 -0
  27. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_mem.py +0 -0
  28. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_opt.py +0 -0
  29. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_plots.py +0 -0
  30. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_seaborn.py +0 -0
  31. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bs_sparse_gaussian.py +0 -0
  32. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bsmplutils.py +0 -0
  33. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bsnputils.py +0 -0
  34. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bssputils.py +0 -0
  35. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bsstats.py +0 -0
  36. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/bsutils.py +0 -0
  37. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/chebyshev.py +0 -0
  38. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/distance_covariances.py +0 -0
  39. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_altair.py +0 -0
  40. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_distance_covariances.py +0 -0
  41. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_mem.py +0 -0
  42. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_mpl.py +0 -0
  43. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_opt.py +0 -0
  44. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_seaborn.py +0 -0
  45. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_sklearn.py +0 -0
  46. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/examples/examples_sparse_gaussian.py +0 -0
  47. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/pandas_utils.py +0 -0
  48. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/sklearn_utils.py +0 -0
  49. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils/streamlit_utils.py +0 -0
  50. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils.egg-info/SOURCES.txt +0 -0
  51. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils.egg-info/dependency_links.txt +0 -0
  52. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils.egg-info/requires.txt +0 -0
  53. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/bs_python_utils.egg-info/top_level.txt +0 -0
  54. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/setup.cfg +0 -0
  55. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bivariate_quantiles.py +0 -0
  56. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bs_opt.py +0 -0
  57. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bs_sparse_gaussian.py +0 -0
  58. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bsnputils.py +0 -0
  59. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bssputils.py +0 -0
  60. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bsstats.py +0 -0
  61. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_bsutils.py +0 -0
  62. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_chebyshev.py +0 -0
  63. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_nptri.py +0 -0
  64. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_random_draws.py +0 -0
  65. {bs_python_utils-0.9 → bs_python_utils-0.9.3}/tests/test_sklearn_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bs-python-utils
3
- Version: 0.9
3
+ Version: 0.9.3
4
4
  Summary: Utilities programs for my Python code
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
@@ -43,6 +43,9 @@ Dynamic: license-file
43
43
 
44
44
  ### Release notes
45
45
 
46
+ #### 0.9 (March 18, 2026)
47
+ Improved bivariate quantiles.
48
+
46
49
  #### 0.8.5 (January 25, 2026)
47
50
  Added colored logger.
48
51
 
@@ -13,6 +13,9 @@
13
13
 
14
14
  ### Release notes
15
15
 
16
+ #### 0.9 (March 18, 2026)
17
+ Improved bivariate quantiles.
18
+
16
19
  #### 0.8.5 (January 25, 2026)
17
20
  Added colored logger.
18
21
 
@@ -115,31 +115,24 @@ def _objgrad(
115
115
  # sys.exit(1)
116
116
 
117
117
  EPS = 1e-12
118
- obj_val = 0.0
119
- probs = np.zeros(n)
120
118
  bivrank = np.zeros((n, 2))
121
- for k in range(n):
122
- Mk = M[k, :]
123
- mk = m[k, :]
124
- pos_diffs = np.maximum(Mk - mk, 0.0)
125
- # print(f"pos_diffs for k={k} are {pos_diffs}")
126
- pos_diffs_sq = np.maximum(Mk * Mk - mk * mk, 0.0)
127
- probs[k] = pos_diffs @ tau1_weights
128
- # print(f"probs[{k}] = {probs[k]}")
129
- factor1 = (tau1_nodes * pos_diffs) @ tau1_weights
130
- factor2 = (pos_diffs_sq @ tau1_weights) / 2.0
131
- obj_val += y1[k] * factor1 + y2[k] * factor2 - vs1[k] * probs[k]
132
- if probs[k] > EPS:
133
- bivrank[k, 0] = factor1 / probs[k]
134
- bivrank[k, 1] = factor2 / probs[k]
135
-
136
- # print(f"{np.min(probs)=}")
119
+
120
+ pos_diffs = np.maximum(M - m, 0.0)
121
+ pos_diffs_sq = np.maximum(M * M - m * m, 0.0)
122
+ probs = pos_diffs @ tau1_weights
123
+ factor1 = (pos_diffs * tau1_nodes) @ tau1_weights
124
+ factor2 = (pos_diffs_sq @ tau1_weights) / 2.0
125
+ obj_val = y1 @ factor1 + y2 @ factor2 - vs1 @ probs
126
+
127
+ if np.min(probs) > EPS:
128
+ bivrank[:, 0] = factor1 / probs
129
+ bivrank[:, 1] = factor2 / probs
137
130
 
138
131
  if gr:
139
132
  grad_val = probs[-1] - probs[:-1]
140
133
  return obj_val, grad_val, bivrank
141
134
  else:
142
- return obj_val
135
+ return cast(float, obj_val)
143
136
 
144
137
 
145
138
  def _obj(v: np.ndarray, args: list):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: bs-python-utils
3
- Version: 0.9
3
+ Version: 0.9.3
4
4
  Summary: Utilities programs for my Python code
5
5
  Requires-Python: >=3.12
6
6
  Description-Content-Type: text/markdown
@@ -43,6 +43,9 @@ Dynamic: license-file
43
43
 
44
44
  ### Release notes
45
45
 
46
+ #### 0.9 (March 18, 2026)
47
+ Improved bivariate quantiles.
48
+
46
49
  #### 0.8.5 (January 25, 2026)
47
50
  Added colored logger.
48
51
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "bs-python-utils"
3
- version = "0.9"
3
+ version = "0.9.3"
4
4
  description = "Utilities programs for my Python code"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.12"
File without changes
File without changes