scipy 1.15.2__cp311-cp311-win_amd64.whl → 1.16.0__cp311-cp311-win_amd64.whl

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 (769) hide show
  1. scipy/__config__.py +8 -8
  2. scipy/__init__.py +6 -9
  3. scipy/_cyutility.cp311-win_amd64.dll.a +0 -0
  4. scipy/_cyutility.cp311-win_amd64.pyd +0 -0
  5. scipy/_lib/_array_api.py +497 -161
  6. scipy/_lib/_array_api_compat_vendor.py +9 -0
  7. scipy/_lib/_bunch.py +4 -0
  8. scipy/_lib/_ccallback_c.cp311-win_amd64.dll.a +0 -0
  9. scipy/_lib/_ccallback_c.cp311-win_amd64.pyd +0 -0
  10. scipy/_lib/_docscrape.py +1 -1
  11. scipy/_lib/_elementwise_iterative_method.py +15 -26
  12. scipy/_lib/_fpumode.cp311-win_amd64.dll.a +0 -0
  13. scipy/_lib/_fpumode.cp311-win_amd64.pyd +0 -0
  14. scipy/_lib/_sparse.py +41 -0
  15. scipy/_lib/_test_ccallback.cp311-win_amd64.dll.a +0 -0
  16. scipy/_lib/_test_ccallback.cp311-win_amd64.pyd +0 -0
  17. scipy/_lib/_test_deprecation_call.cp311-win_amd64.dll.a +0 -0
  18. scipy/_lib/_test_deprecation_call.cp311-win_amd64.pyd +0 -0
  19. scipy/_lib/_test_deprecation_def.cp311-win_amd64.dll.a +0 -0
  20. scipy/_lib/_test_deprecation_def.cp311-win_amd64.pyd +0 -0
  21. scipy/_lib/_testutils.py +6 -2
  22. scipy/_lib/_uarray/_uarray.cp311-win_amd64.dll.a +0 -0
  23. scipy/_lib/_uarray/_uarray.cp311-win_amd64.pyd +0 -0
  24. scipy/_lib/_util.py +222 -125
  25. scipy/_lib/array_api_compat/__init__.py +4 -4
  26. scipy/_lib/array_api_compat/_internal.py +19 -6
  27. scipy/_lib/array_api_compat/common/__init__.py +1 -1
  28. scipy/_lib/array_api_compat/common/_aliases.py +365 -193
  29. scipy/_lib/array_api_compat/common/_fft.py +94 -64
  30. scipy/_lib/array_api_compat/common/_helpers.py +413 -180
  31. scipy/_lib/array_api_compat/common/_linalg.py +116 -40
  32. scipy/_lib/array_api_compat/common/_typing.py +179 -10
  33. scipy/_lib/array_api_compat/cupy/__init__.py +1 -4
  34. scipy/_lib/array_api_compat/cupy/_aliases.py +61 -41
  35. scipy/_lib/array_api_compat/cupy/_info.py +16 -6
  36. scipy/_lib/array_api_compat/cupy/_typing.py +24 -39
  37. scipy/_lib/array_api_compat/dask/array/__init__.py +6 -3
  38. scipy/_lib/array_api_compat/dask/array/_aliases.py +267 -108
  39. scipy/_lib/array_api_compat/dask/array/_info.py +105 -34
  40. scipy/_lib/array_api_compat/dask/array/fft.py +5 -8
  41. scipy/_lib/array_api_compat/dask/array/linalg.py +21 -22
  42. scipy/_lib/array_api_compat/numpy/__init__.py +13 -15
  43. scipy/_lib/array_api_compat/numpy/_aliases.py +98 -49
  44. scipy/_lib/array_api_compat/numpy/_info.py +36 -16
  45. scipy/_lib/array_api_compat/numpy/_typing.py +27 -43
  46. scipy/_lib/array_api_compat/numpy/fft.py +11 -5
  47. scipy/_lib/array_api_compat/numpy/linalg.py +75 -22
  48. scipy/_lib/array_api_compat/torch/__init__.py +3 -5
  49. scipy/_lib/array_api_compat/torch/_aliases.py +262 -159
  50. scipy/_lib/array_api_compat/torch/_info.py +27 -16
  51. scipy/_lib/array_api_compat/torch/_typing.py +3 -0
  52. scipy/_lib/array_api_compat/torch/fft.py +17 -18
  53. scipy/_lib/array_api_compat/torch/linalg.py +16 -16
  54. scipy/_lib/array_api_extra/__init__.py +26 -3
  55. scipy/_lib/array_api_extra/_delegation.py +171 -0
  56. scipy/_lib/array_api_extra/_lib/__init__.py +1 -0
  57. scipy/_lib/array_api_extra/_lib/_at.py +463 -0
  58. scipy/_lib/array_api_extra/_lib/_backends.py +46 -0
  59. scipy/_lib/array_api_extra/_lib/_funcs.py +937 -0
  60. scipy/_lib/array_api_extra/_lib/_lazy.py +357 -0
  61. scipy/_lib/array_api_extra/_lib/_testing.py +278 -0
  62. scipy/_lib/array_api_extra/_lib/_utils/__init__.py +1 -0
  63. scipy/_lib/array_api_extra/_lib/_utils/_compat.py +74 -0
  64. scipy/_lib/array_api_extra/_lib/_utils/_compat.pyi +45 -0
  65. scipy/_lib/array_api_extra/_lib/_utils/_helpers.py +559 -0
  66. scipy/_lib/array_api_extra/_lib/_utils/_typing.py +10 -0
  67. scipy/_lib/array_api_extra/_lib/_utils/_typing.pyi +105 -0
  68. scipy/_lib/array_api_extra/testing.py +359 -0
  69. scipy/_lib/decorator.py +2 -2
  70. scipy/_lib/doccer.py +1 -7
  71. scipy/_lib/messagestream.cp311-win_amd64.dll.a +0 -0
  72. scipy/_lib/messagestream.cp311-win_amd64.pyd +0 -0
  73. scipy/_lib/pyprima/__init__.py +212 -0
  74. scipy/_lib/pyprima/cobyla/__init__.py +0 -0
  75. scipy/_lib/pyprima/cobyla/cobyla.py +559 -0
  76. scipy/_lib/pyprima/cobyla/cobylb.py +714 -0
  77. scipy/_lib/pyprima/cobyla/geometry.py +226 -0
  78. scipy/_lib/pyprima/cobyla/initialize.py +215 -0
  79. scipy/_lib/pyprima/cobyla/trustregion.py +492 -0
  80. scipy/_lib/pyprima/cobyla/update.py +289 -0
  81. scipy/_lib/pyprima/common/__init__.py +0 -0
  82. scipy/_lib/pyprima/common/_bounds.py +34 -0
  83. scipy/_lib/pyprima/common/_linear_constraints.py +46 -0
  84. scipy/_lib/pyprima/common/_nonlinear_constraints.py +54 -0
  85. scipy/_lib/pyprima/common/_project.py +173 -0
  86. scipy/_lib/pyprima/common/checkbreak.py +93 -0
  87. scipy/_lib/pyprima/common/consts.py +47 -0
  88. scipy/_lib/pyprima/common/evaluate.py +99 -0
  89. scipy/_lib/pyprima/common/history.py +38 -0
  90. scipy/_lib/pyprima/common/infos.py +30 -0
  91. scipy/_lib/pyprima/common/linalg.py +435 -0
  92. scipy/_lib/pyprima/common/message.py +290 -0
  93. scipy/_lib/pyprima/common/powalg.py +131 -0
  94. scipy/_lib/pyprima/common/preproc.py +277 -0
  95. scipy/_lib/pyprima/common/present.py +5 -0
  96. scipy/_lib/pyprima/common/ratio.py +54 -0
  97. scipy/_lib/pyprima/common/redrho.py +47 -0
  98. scipy/_lib/pyprima/common/selectx.py +296 -0
  99. scipy/_lib/tests/test__util.py +105 -121
  100. scipy/_lib/tests/test_array_api.py +169 -34
  101. scipy/_lib/tests/test_bunch.py +7 -0
  102. scipy/_lib/tests/test_ccallback.py +2 -10
  103. scipy/_lib/tests/test_public_api.py +13 -0
  104. scipy/cluster/_hierarchy.cp311-win_amd64.dll.a +0 -0
  105. scipy/cluster/_hierarchy.cp311-win_amd64.pyd +0 -0
  106. scipy/cluster/_optimal_leaf_ordering.cp311-win_amd64.dll.a +0 -0
  107. scipy/cluster/_optimal_leaf_ordering.cp311-win_amd64.pyd +0 -0
  108. scipy/cluster/_vq.cp311-win_amd64.dll.a +0 -0
  109. scipy/cluster/_vq.cp311-win_amd64.pyd +0 -0
  110. scipy/cluster/hierarchy.py +393 -223
  111. scipy/cluster/tests/test_hierarchy.py +273 -335
  112. scipy/cluster/tests/test_vq.py +45 -61
  113. scipy/cluster/vq.py +39 -35
  114. scipy/conftest.py +282 -151
  115. scipy/constants/_constants.py +4 -1
  116. scipy/constants/tests/test_codata.py +2 -2
  117. scipy/constants/tests/test_constants.py +11 -18
  118. scipy/datasets/_download_all.py +15 -1
  119. scipy/datasets/_fetchers.py +7 -1
  120. scipy/datasets/_utils.py +1 -1
  121. scipy/differentiate/_differentiate.py +25 -25
  122. scipy/differentiate/tests/test_differentiate.py +24 -25
  123. scipy/fft/_basic.py +20 -0
  124. scipy/fft/_helper.py +3 -34
  125. scipy/fft/_pocketfft/helper.py +29 -1
  126. scipy/fft/_pocketfft/pypocketfft.cp311-win_amd64.dll.a +0 -0
  127. scipy/fft/_pocketfft/pypocketfft.cp311-win_amd64.pyd +0 -0
  128. scipy/fft/_pocketfft/tests/test_basic.py +2 -4
  129. scipy/fft/_pocketfft/tests/test_real_transforms.py +4 -4
  130. scipy/fft/_realtransforms.py +13 -0
  131. scipy/fft/tests/test_basic.py +27 -25
  132. scipy/fft/tests/test_fftlog.py +16 -7
  133. scipy/fft/tests/test_helper.py +18 -34
  134. scipy/fft/tests/test_real_transforms.py +8 -10
  135. scipy/fftpack/convolve.cp311-win_amd64.dll.a +0 -0
  136. scipy/fftpack/convolve.cp311-win_amd64.pyd +0 -0
  137. scipy/fftpack/tests/test_basic.py +2 -4
  138. scipy/fftpack/tests/test_real_transforms.py +8 -9
  139. scipy/integrate/_bvp.py +9 -3
  140. scipy/integrate/_cubature.py +3 -2
  141. scipy/integrate/_dop.cp311-win_amd64.dll.a +0 -0
  142. scipy/integrate/_dop.cp311-win_amd64.pyd +0 -0
  143. scipy/integrate/_ivp/common.py +3 -3
  144. scipy/integrate/_ivp/ivp.py +9 -2
  145. scipy/integrate/_ivp/tests/test_ivp.py +19 -0
  146. scipy/integrate/_lsoda.cp311-win_amd64.dll.a +0 -0
  147. scipy/integrate/_lsoda.cp311-win_amd64.pyd +0 -0
  148. scipy/integrate/_ode.py +9 -2
  149. scipy/integrate/_odepack.cp311-win_amd64.dll.a +0 -0
  150. scipy/integrate/_odepack.cp311-win_amd64.pyd +0 -0
  151. scipy/integrate/_quad_vec.py +21 -29
  152. scipy/integrate/_quadpack.cp311-win_amd64.dll.a +0 -0
  153. scipy/integrate/_quadpack.cp311-win_amd64.pyd +0 -0
  154. scipy/integrate/_quadpack_py.py +11 -7
  155. scipy/integrate/_quadrature.py +3 -3
  156. scipy/integrate/_rules/_base.py +2 -2
  157. scipy/integrate/_tanhsinh.py +57 -54
  158. scipy/integrate/_test_multivariate.cp311-win_amd64.dll.a +0 -0
  159. scipy/integrate/_test_multivariate.cp311-win_amd64.pyd +0 -0
  160. scipy/integrate/_test_odeint_banded.cp311-win_amd64.dll.a +0 -0
  161. scipy/integrate/_test_odeint_banded.cp311-win_amd64.pyd +0 -0
  162. scipy/integrate/_vode.cp311-win_amd64.dll.a +0 -0
  163. scipy/integrate/_vode.cp311-win_amd64.pyd +0 -0
  164. scipy/integrate/tests/test__quad_vec.py +0 -6
  165. scipy/integrate/tests/test_banded_ode_solvers.py +85 -0
  166. scipy/integrate/tests/test_cubature.py +21 -35
  167. scipy/integrate/tests/test_quadrature.py +6 -8
  168. scipy/integrate/tests/test_tanhsinh.py +61 -43
  169. scipy/interpolate/__init__.py +70 -58
  170. scipy/interpolate/_bary_rational.py +22 -22
  171. scipy/interpolate/_bsplines.py +119 -66
  172. scipy/interpolate/_cubic.py +65 -50
  173. scipy/interpolate/_dfitpack.cp311-win_amd64.dll.a +0 -0
  174. scipy/interpolate/_dfitpack.cp311-win_amd64.pyd +0 -0
  175. scipy/interpolate/_dierckx.cp311-win_amd64.dll.a +0 -0
  176. scipy/interpolate/_dierckx.cp311-win_amd64.pyd +0 -0
  177. scipy/interpolate/_fitpack.cp311-win_amd64.dll.a +0 -0
  178. scipy/interpolate/_fitpack.cp311-win_amd64.pyd +0 -0
  179. scipy/interpolate/_fitpack2.py +9 -6
  180. scipy/interpolate/_fitpack_impl.py +32 -26
  181. scipy/interpolate/_fitpack_repro.py +23 -19
  182. scipy/interpolate/_interpnd.cp311-win_amd64.dll.a +0 -0
  183. scipy/interpolate/_interpnd.cp311-win_amd64.pyd +0 -0
  184. scipy/interpolate/_interpolate.py +30 -12
  185. scipy/interpolate/_ndbspline.py +13 -18
  186. scipy/interpolate/_ndgriddata.py +5 -8
  187. scipy/interpolate/_polyint.py +95 -31
  188. scipy/interpolate/_ppoly.cp311-win_amd64.dll.a +0 -0
  189. scipy/interpolate/_ppoly.cp311-win_amd64.pyd +0 -0
  190. scipy/interpolate/_rbf.py +2 -2
  191. scipy/interpolate/_rbfinterp.py +1 -1
  192. scipy/interpolate/_rbfinterp_pythran.cp311-win_amd64.dll.a +0 -0
  193. scipy/interpolate/_rbfinterp_pythran.cp311-win_amd64.pyd +0 -0
  194. scipy/interpolate/_rgi.py +31 -26
  195. scipy/interpolate/_rgi_cython.cp311-win_amd64.dll.a +0 -0
  196. scipy/interpolate/_rgi_cython.cp311-win_amd64.pyd +0 -0
  197. scipy/interpolate/dfitpack.py +0 -20
  198. scipy/interpolate/interpnd.py +1 -2
  199. scipy/interpolate/tests/test_bary_rational.py +2 -2
  200. scipy/interpolate/tests/test_bsplines.py +97 -1
  201. scipy/interpolate/tests/test_fitpack2.py +39 -1
  202. scipy/interpolate/tests/test_interpnd.py +32 -20
  203. scipy/interpolate/tests/test_interpolate.py +48 -4
  204. scipy/interpolate/tests/test_rgi.py +2 -1
  205. scipy/io/_fast_matrix_market/__init__.py +2 -0
  206. scipy/io/_fast_matrix_market/_fmm_core.cp311-win_amd64.dll.a +0 -0
  207. scipy/io/_fast_matrix_market/_fmm_core.cp311-win_amd64.pyd +0 -0
  208. scipy/io/_harwell_boeing/_fortran_format_parser.py +19 -16
  209. scipy/io/_harwell_boeing/hb.py +7 -11
  210. scipy/io/_idl.py +5 -7
  211. scipy/io/_netcdf.py +15 -5
  212. scipy/io/_test_fortran.cp311-win_amd64.dll.a +0 -0
  213. scipy/io/_test_fortran.cp311-win_amd64.pyd +0 -0
  214. scipy/io/arff/tests/test_arffread.py +3 -3
  215. scipy/io/matlab/__init__.py +5 -3
  216. scipy/io/matlab/_mio.py +4 -1
  217. scipy/io/matlab/_mio5.py +19 -13
  218. scipy/io/matlab/_mio5_utils.cp311-win_amd64.dll.a +0 -0
  219. scipy/io/matlab/_mio5_utils.cp311-win_amd64.pyd +0 -0
  220. scipy/io/matlab/_mio_utils.cp311-win_amd64.dll.a +0 -0
  221. scipy/io/matlab/_mio_utils.cp311-win_amd64.pyd +0 -0
  222. scipy/io/matlab/_miobase.py +4 -1
  223. scipy/io/matlab/_streams.cp311-win_amd64.dll.a +0 -0
  224. scipy/io/matlab/_streams.cp311-win_amd64.pyd +0 -0
  225. scipy/io/matlab/tests/test_mio.py +46 -18
  226. scipy/io/matlab/tests/test_mio_funcs.py +1 -1
  227. scipy/io/tests/test_mmio.py +7 -1
  228. scipy/io/tests/test_wavfile.py +41 -0
  229. scipy/io/wavfile.py +57 -10
  230. scipy/linalg/_basic.py +113 -86
  231. scipy/linalg/_cythonized_array_utils.cp311-win_amd64.dll.a +0 -0
  232. scipy/linalg/_cythonized_array_utils.cp311-win_amd64.pyd +0 -0
  233. scipy/linalg/_decomp.py +22 -9
  234. scipy/linalg/_decomp_cholesky.py +28 -13
  235. scipy/linalg/_decomp_cossin.py +45 -30
  236. scipy/linalg/_decomp_interpolative.cp311-win_amd64.dll.a +0 -0
  237. scipy/linalg/_decomp_interpolative.cp311-win_amd64.pyd +0 -0
  238. scipy/linalg/_decomp_ldl.py +4 -1
  239. scipy/linalg/_decomp_lu.py +18 -6
  240. scipy/linalg/_decomp_lu_cython.cp311-win_amd64.dll.a +0 -0
  241. scipy/linalg/_decomp_lu_cython.cp311-win_amd64.pyd +0 -0
  242. scipy/linalg/_decomp_polar.py +2 -0
  243. scipy/linalg/_decomp_qr.py +6 -2
  244. scipy/linalg/_decomp_qz.py +3 -0
  245. scipy/linalg/_decomp_schur.py +3 -1
  246. scipy/linalg/_decomp_svd.py +13 -2
  247. scipy/linalg/_decomp_update.cp311-win_amd64.dll.a +0 -0
  248. scipy/linalg/_decomp_update.cp311-win_amd64.pyd +0 -0
  249. scipy/linalg/_expm_frechet.py +4 -0
  250. scipy/linalg/_fblas.cp311-win_amd64.dll.a +0 -0
  251. scipy/linalg/_fblas.cp311-win_amd64.pyd +0 -0
  252. scipy/linalg/_flapack.cp311-win_amd64.dll.a +0 -0
  253. scipy/linalg/_flapack.cp311-win_amd64.pyd +0 -0
  254. scipy/linalg/_linalg_pythran.cp311-win_amd64.dll.a +0 -0
  255. scipy/linalg/_linalg_pythran.cp311-win_amd64.pyd +0 -0
  256. scipy/linalg/_matfuncs.py +187 -4
  257. scipy/linalg/_matfuncs_expm.cp311-win_amd64.dll.a +0 -0
  258. scipy/linalg/_matfuncs_expm.cp311-win_amd64.pyd +0 -0
  259. scipy/linalg/_matfuncs_schur_sqrtm.cp311-win_amd64.dll.a +0 -0
  260. scipy/linalg/_matfuncs_schur_sqrtm.cp311-win_amd64.pyd +0 -0
  261. scipy/linalg/_matfuncs_sqrtm.py +1 -99
  262. scipy/linalg/_matfuncs_sqrtm_triu.cp311-win_amd64.dll.a +0 -0
  263. scipy/linalg/_matfuncs_sqrtm_triu.cp311-win_amd64.pyd +0 -0
  264. scipy/linalg/_procrustes.py +2 -0
  265. scipy/linalg/_sketches.py +17 -6
  266. scipy/linalg/_solve_toeplitz.cp311-win_amd64.dll.a +0 -0
  267. scipy/linalg/_solve_toeplitz.cp311-win_amd64.pyd +0 -0
  268. scipy/linalg/_solvers.py +7 -2
  269. scipy/linalg/_special_matrices.py +26 -36
  270. scipy/linalg/blas.py +35 -24
  271. scipy/linalg/cython_blas.cp311-win_amd64.dll.a +0 -0
  272. scipy/linalg/cython_blas.cp311-win_amd64.pyd +0 -0
  273. scipy/linalg/cython_lapack.cp311-win_amd64.dll.a +0 -0
  274. scipy/linalg/cython_lapack.cp311-win_amd64.pyd +0 -0
  275. scipy/linalg/lapack.py +22 -2
  276. scipy/linalg/tests/_cython_examples/meson.build +7 -0
  277. scipy/linalg/tests/test_basic.py +31 -16
  278. scipy/linalg/tests/test_batch.py +588 -0
  279. scipy/linalg/tests/test_cythonized_array_utils.py +0 -2
  280. scipy/linalg/tests/test_decomp.py +40 -3
  281. scipy/linalg/tests/test_decomp_cossin.py +14 -0
  282. scipy/linalg/tests/test_decomp_ldl.py +1 -1
  283. scipy/linalg/tests/test_interpolative.py +17 -0
  284. scipy/linalg/tests/test_lapack.py +115 -7
  285. scipy/linalg/tests/test_matfuncs.py +157 -102
  286. scipy/linalg/tests/test_procrustes.py +0 -7
  287. scipy/linalg/tests/test_solve_toeplitz.py +1 -1
  288. scipy/linalg/tests/test_special_matrices.py +1 -5
  289. scipy/ndimage/__init__.py +1 -0
  290. scipy/ndimage/_ctest.cp311-win_amd64.dll.a +0 -0
  291. scipy/ndimage/_ctest.cp311-win_amd64.pyd +0 -0
  292. scipy/ndimage/_cytest.cp311-win_amd64.dll.a +0 -0
  293. scipy/ndimage/_cytest.cp311-win_amd64.pyd +0 -0
  294. scipy/ndimage/_delegators.py +8 -2
  295. scipy/ndimage/_filters.py +453 -5
  296. scipy/ndimage/_interpolation.py +36 -6
  297. scipy/ndimage/_measurements.py +4 -2
  298. scipy/ndimage/_morphology.py +5 -0
  299. scipy/ndimage/_nd_image.cp311-win_amd64.dll.a +0 -0
  300. scipy/ndimage/_nd_image.cp311-win_amd64.pyd +0 -0
  301. scipy/ndimage/_ndimage_api.py +2 -1
  302. scipy/ndimage/_ni_docstrings.py +5 -1
  303. scipy/ndimage/_ni_label.cp311-win_amd64.dll.a +0 -0
  304. scipy/ndimage/_ni_label.cp311-win_amd64.pyd +0 -0
  305. scipy/ndimage/_ni_support.py +1 -5
  306. scipy/ndimage/_rank_filter_1d.cp311-win_amd64.dll.a +0 -0
  307. scipy/ndimage/_rank_filter_1d.cp311-win_amd64.pyd +0 -0
  308. scipy/ndimage/_support_alternative_backends.py +18 -6
  309. scipy/ndimage/tests/test_filters.py +384 -259
  310. scipy/ndimage/tests/test_fourier.py +7 -9
  311. scipy/ndimage/tests/test_interpolation.py +68 -61
  312. scipy/ndimage/tests/test_measurements.py +18 -35
  313. scipy/ndimage/tests/test_morphology.py +143 -131
  314. scipy/ndimage/tests/test_splines.py +1 -3
  315. scipy/odr/__odrpack.cp311-win_amd64.dll.a +0 -0
  316. scipy/odr/__odrpack.cp311-win_amd64.pyd +0 -0
  317. scipy/optimize/_basinhopping.py +13 -7
  318. scipy/optimize/_bglu_dense.cp311-win_amd64.dll.a +0 -0
  319. scipy/optimize/_bglu_dense.cp311-win_amd64.pyd +0 -0
  320. scipy/optimize/_bracket.py +46 -26
  321. scipy/optimize/_chandrupatla.py +9 -10
  322. scipy/optimize/_cobyla_py.py +104 -123
  323. scipy/optimize/_constraints.py +14 -10
  324. scipy/optimize/_differentiable_functions.py +371 -230
  325. scipy/optimize/_differentialevolution.py +4 -3
  326. scipy/optimize/_direct.cp311-win_amd64.dll.a +0 -0
  327. scipy/optimize/_direct.cp311-win_amd64.pyd +0 -0
  328. scipy/optimize/_dual_annealing.py +1 -1
  329. scipy/optimize/_elementwise.py +1 -4
  330. scipy/optimize/_group_columns.cp311-win_amd64.dll.a +0 -0
  331. scipy/optimize/_group_columns.cp311-win_amd64.pyd +0 -0
  332. scipy/optimize/_highspy/_core.cp311-win_amd64.dll.a +0 -0
  333. scipy/optimize/_highspy/_core.cp311-win_amd64.pyd +0 -0
  334. scipy/optimize/_highspy/_highs_options.cp311-win_amd64.dll.a +0 -0
  335. scipy/optimize/_highspy/_highs_options.cp311-win_amd64.pyd +0 -0
  336. scipy/optimize/_highspy/_highs_wrapper.py +6 -4
  337. scipy/optimize/_lbfgsb.cp311-win_amd64.dll.a +0 -0
  338. scipy/optimize/_lbfgsb.cp311-win_amd64.pyd +0 -0
  339. scipy/optimize/_lbfgsb_py.py +80 -24
  340. scipy/optimize/_linprog_doc.py +2 -2
  341. scipy/optimize/_linprog_highs.py +11 -11
  342. scipy/optimize/_linprog_ip.py +25 -10
  343. scipy/optimize/_linprog_util.py +18 -19
  344. scipy/optimize/_lsap.cp311-win_amd64.dll.a +0 -0
  345. scipy/optimize/_lsap.cp311-win_amd64.pyd +0 -0
  346. scipy/optimize/_lsq/common.py +3 -3
  347. scipy/optimize/_lsq/dogbox.py +16 -2
  348. scipy/optimize/_lsq/givens_elimination.cp311-win_amd64.dll.a +0 -0
  349. scipy/optimize/_lsq/givens_elimination.cp311-win_amd64.pyd +0 -0
  350. scipy/optimize/_lsq/least_squares.py +198 -126
  351. scipy/optimize/_lsq/lsq_linear.py +6 -6
  352. scipy/optimize/_lsq/trf.py +35 -8
  353. scipy/optimize/_milp.py +3 -1
  354. scipy/optimize/_minimize.py +105 -36
  355. scipy/optimize/_minpack.cp311-win_amd64.dll.a +0 -0
  356. scipy/optimize/_minpack.cp311-win_amd64.pyd +0 -0
  357. scipy/optimize/_minpack_py.py +21 -14
  358. scipy/optimize/_moduleTNC.cp311-win_amd64.dll.a +0 -0
  359. scipy/optimize/_moduleTNC.cp311-win_amd64.pyd +0 -0
  360. scipy/optimize/_nnls.py +20 -21
  361. scipy/optimize/_nonlin.py +34 -3
  362. scipy/optimize/_numdiff.py +288 -110
  363. scipy/optimize/_optimize.py +86 -48
  364. scipy/optimize/_pava_pybind.cp311-win_amd64.dll.a +0 -0
  365. scipy/optimize/_pava_pybind.cp311-win_amd64.pyd +0 -0
  366. scipy/optimize/_remove_redundancy.py +5 -5
  367. scipy/optimize/_root_scalar.py +1 -1
  368. scipy/optimize/_shgo.py +6 -0
  369. scipy/optimize/_shgo_lib/_complex.py +1 -1
  370. scipy/optimize/_slsqp_py.py +216 -124
  371. scipy/optimize/_slsqplib.cp311-win_amd64.dll.a +0 -0
  372. scipy/optimize/_slsqplib.cp311-win_amd64.pyd +0 -0
  373. scipy/optimize/_spectral.py +1 -1
  374. scipy/optimize/_tnc.py +8 -1
  375. scipy/optimize/_trlib/_trlib.cp311-win_amd64.dll.a +0 -0
  376. scipy/optimize/_trlib/_trlib.cp311-win_amd64.pyd +0 -0
  377. scipy/optimize/_trustregion.py +20 -6
  378. scipy/optimize/_trustregion_constr/canonical_constraint.py +7 -7
  379. scipy/optimize/_trustregion_constr/equality_constrained_sqp.py +1 -1
  380. scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py +11 -3
  381. scipy/optimize/_trustregion_constr/projections.py +12 -8
  382. scipy/optimize/_trustregion_constr/qp_subproblem.py +9 -9
  383. scipy/optimize/_trustregion_constr/tests/test_projections.py +7 -7
  384. scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py +77 -77
  385. scipy/optimize/_trustregion_constr/tr_interior_point.py +5 -5
  386. scipy/optimize/_trustregion_exact.py +0 -1
  387. scipy/optimize/_zeros.cp311-win_amd64.dll.a +0 -0
  388. scipy/optimize/_zeros.cp311-win_amd64.pyd +0 -0
  389. scipy/optimize/_zeros_py.py +97 -17
  390. scipy/optimize/cython_optimize/_zeros.cp311-win_amd64.dll.a +0 -0
  391. scipy/optimize/cython_optimize/_zeros.cp311-win_amd64.pyd +0 -0
  392. scipy/optimize/slsqp.py +0 -1
  393. scipy/optimize/tests/test__basinhopping.py +1 -1
  394. scipy/optimize/tests/test__differential_evolution.py +4 -4
  395. scipy/optimize/tests/test__linprog_clean_inputs.py +5 -3
  396. scipy/optimize/tests/test__numdiff.py +66 -22
  397. scipy/optimize/tests/test__remove_redundancy.py +2 -2
  398. scipy/optimize/tests/test__shgo.py +9 -1
  399. scipy/optimize/tests/test_bracket.py +71 -46
  400. scipy/optimize/tests/test_chandrupatla.py +133 -135
  401. scipy/optimize/tests/test_cobyla.py +74 -45
  402. scipy/optimize/tests/test_constraints.py +1 -1
  403. scipy/optimize/tests/test_differentiable_functions.py +226 -6
  404. scipy/optimize/tests/test_lbfgsb_hessinv.py +22 -0
  405. scipy/optimize/tests/test_least_squares.py +125 -13
  406. scipy/optimize/tests/test_linear_assignment.py +3 -3
  407. scipy/optimize/tests/test_linprog.py +3 -3
  408. scipy/optimize/tests/test_lsq_linear.py +6 -6
  409. scipy/optimize/tests/test_minimize_constrained.py +2 -2
  410. scipy/optimize/tests/test_minpack.py +4 -4
  411. scipy/optimize/tests/test_nnls.py +43 -3
  412. scipy/optimize/tests/test_nonlin.py +36 -0
  413. scipy/optimize/tests/test_optimize.py +98 -20
  414. scipy/optimize/tests/test_slsqp.py +36 -4
  415. scipy/optimize/tests/test_zeros.py +34 -1
  416. scipy/signal/__init__.py +12 -23
  417. scipy/signal/_delegators.py +568 -0
  418. scipy/signal/_filter_design.py +459 -241
  419. scipy/signal/_fir_filter_design.py +262 -90
  420. scipy/signal/_lti_conversion.py +3 -2
  421. scipy/signal/_ltisys.py +118 -91
  422. scipy/signal/_max_len_seq_inner.cp311-win_amd64.dll.a +0 -0
  423. scipy/signal/_max_len_seq_inner.cp311-win_amd64.pyd +0 -0
  424. scipy/signal/_peak_finding_utils.cp311-win_amd64.dll.a +0 -0
  425. scipy/signal/_peak_finding_utils.cp311-win_amd64.pyd +0 -0
  426. scipy/signal/_polyutils.py +172 -0
  427. scipy/signal/_short_time_fft.py +553 -76
  428. scipy/signal/_signal_api.py +30 -0
  429. scipy/signal/_signaltools.py +719 -396
  430. scipy/signal/_sigtools.cp311-win_amd64.dll.a +0 -0
  431. scipy/signal/_sigtools.cp311-win_amd64.pyd +0 -0
  432. scipy/signal/_sosfilt.cp311-win_amd64.dll.a +0 -0
  433. scipy/signal/_sosfilt.cp311-win_amd64.pyd +0 -0
  434. scipy/signal/_spectral_py.py +230 -50
  435. scipy/signal/_spline.cp311-win_amd64.dll.a +0 -0
  436. scipy/signal/_spline.cp311-win_amd64.pyd +0 -0
  437. scipy/signal/_spline_filters.py +108 -68
  438. scipy/signal/_support_alternative_backends.py +73 -0
  439. scipy/signal/_upfirdn.py +4 -1
  440. scipy/signal/_upfirdn_apply.cp311-win_amd64.dll.a +0 -0
  441. scipy/signal/_upfirdn_apply.cp311-win_amd64.pyd +0 -0
  442. scipy/signal/_waveforms.py +2 -11
  443. scipy/signal/_wavelets.py +1 -1
  444. scipy/signal/fir_filter_design.py +1 -0
  445. scipy/signal/spline.py +4 -11
  446. scipy/signal/tests/_scipy_spectral_test_shim.py +5 -182
  447. scipy/signal/tests/test_bsplines.py +114 -79
  448. scipy/signal/tests/test_cont2discrete.py +9 -2
  449. scipy/signal/tests/test_filter_design.py +721 -481
  450. scipy/signal/tests/test_fir_filter_design.py +332 -140
  451. scipy/signal/tests/test_savitzky_golay.py +4 -3
  452. scipy/signal/tests/test_short_time_fft.py +231 -5
  453. scipy/signal/tests/test_signaltools.py +2150 -1349
  454. scipy/signal/tests/test_spectral.py +50 -6
  455. scipy/signal/tests/test_splines.py +161 -96
  456. scipy/signal/tests/test_upfirdn.py +84 -50
  457. scipy/signal/tests/test_waveforms.py +20 -0
  458. scipy/signal/tests/test_windows.py +607 -466
  459. scipy/signal/windows/_windows.py +287 -148
  460. scipy/sparse/__init__.py +23 -4
  461. scipy/sparse/_base.py +269 -120
  462. scipy/sparse/_bsr.py +7 -4
  463. scipy/sparse/_compressed.py +59 -234
  464. scipy/sparse/_construct.py +90 -38
  465. scipy/sparse/_coo.py +115 -181
  466. scipy/sparse/_csc.py +4 -4
  467. scipy/sparse/_csparsetools.cp311-win_amd64.dll.a +0 -0
  468. scipy/sparse/_csparsetools.cp311-win_amd64.pyd +0 -0
  469. scipy/sparse/_csr.py +2 -2
  470. scipy/sparse/_data.py +48 -48
  471. scipy/sparse/_dia.py +105 -21
  472. scipy/sparse/_dok.py +0 -23
  473. scipy/sparse/_index.py +4 -4
  474. scipy/sparse/_matrix.py +23 -0
  475. scipy/sparse/_sparsetools.cp311-win_amd64.dll.a +0 -0
  476. scipy/sparse/_sparsetools.cp311-win_amd64.pyd +0 -0
  477. scipy/sparse/_sputils.py +37 -22
  478. scipy/sparse/base.py +0 -9
  479. scipy/sparse/bsr.py +0 -14
  480. scipy/sparse/compressed.py +0 -23
  481. scipy/sparse/construct.py +0 -6
  482. scipy/sparse/coo.py +0 -14
  483. scipy/sparse/csc.py +0 -3
  484. scipy/sparse/csgraph/_flow.cp311-win_amd64.dll.a +0 -0
  485. scipy/sparse/csgraph/_flow.cp311-win_amd64.pyd +0 -0
  486. scipy/sparse/csgraph/_matching.cp311-win_amd64.dll.a +0 -0
  487. scipy/sparse/csgraph/_matching.cp311-win_amd64.pyd +0 -0
  488. scipy/sparse/csgraph/_min_spanning_tree.cp311-win_amd64.dll.a +0 -0
  489. scipy/sparse/csgraph/_min_spanning_tree.cp311-win_amd64.pyd +0 -0
  490. scipy/sparse/csgraph/_reordering.cp311-win_amd64.dll.a +0 -0
  491. scipy/sparse/csgraph/_reordering.cp311-win_amd64.pyd +0 -0
  492. scipy/sparse/csgraph/_shortest_path.cp311-win_amd64.dll.a +0 -0
  493. scipy/sparse/csgraph/_shortest_path.cp311-win_amd64.pyd +0 -0
  494. scipy/sparse/csgraph/_tools.cp311-win_amd64.dll.a +0 -0
  495. scipy/sparse/csgraph/_tools.cp311-win_amd64.pyd +0 -0
  496. scipy/sparse/csgraph/_traversal.cp311-win_amd64.dll.a +0 -0
  497. scipy/sparse/csgraph/_traversal.cp311-win_amd64.pyd +0 -0
  498. scipy/sparse/csgraph/tests/test_matching.py +14 -2
  499. scipy/sparse/csgraph/tests/test_pydata_sparse.py +4 -1
  500. scipy/sparse/csgraph/tests/test_shortest_path.py +83 -27
  501. scipy/sparse/csr.py +0 -5
  502. scipy/sparse/data.py +1 -6
  503. scipy/sparse/dia.py +0 -7
  504. scipy/sparse/dok.py +0 -10
  505. scipy/sparse/linalg/_dsolve/_superlu.cp311-win_amd64.dll.a +0 -0
  506. scipy/sparse/linalg/_dsolve/_superlu.cp311-win_amd64.pyd +0 -0
  507. scipy/sparse/linalg/_dsolve/linsolve.py +9 -0
  508. scipy/sparse/linalg/_dsolve/tests/test_linsolve.py +35 -28
  509. scipy/sparse/linalg/_eigen/arpack/_arpack.cp311-win_amd64.dll.a +0 -0
  510. scipy/sparse/linalg/_eigen/arpack/_arpack.cp311-win_amd64.pyd +0 -0
  511. scipy/sparse/linalg/_eigen/arpack/arpack.py +28 -20
  512. scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py +6 -6
  513. scipy/sparse/linalg/_expm_multiply.py +8 -3
  514. scipy/sparse/linalg/_interface.py +29 -26
  515. scipy/sparse/linalg/_isolve/_gcrotmk.py +6 -5
  516. scipy/sparse/linalg/_isolve/iterative.py +51 -45
  517. scipy/sparse/linalg/_isolve/lgmres.py +6 -6
  518. scipy/sparse/linalg/_isolve/minres.py +5 -5
  519. scipy/sparse/linalg/_isolve/tfqmr.py +7 -7
  520. scipy/sparse/linalg/_isolve/utils.py +2 -8
  521. scipy/sparse/linalg/_matfuncs.py +1 -1
  522. scipy/sparse/linalg/_norm.py +1 -1
  523. scipy/sparse/linalg/_propack/_cpropack.cp311-win_amd64.dll.a +0 -0
  524. scipy/sparse/linalg/_propack/_cpropack.cp311-win_amd64.pyd +0 -0
  525. scipy/sparse/linalg/_propack/_dpropack.cp311-win_amd64.dll.a +0 -0
  526. scipy/sparse/linalg/_propack/_dpropack.cp311-win_amd64.pyd +0 -0
  527. scipy/sparse/linalg/_propack/_spropack.cp311-win_amd64.dll.a +0 -0
  528. scipy/sparse/linalg/_propack/_spropack.cp311-win_amd64.pyd +0 -0
  529. scipy/sparse/linalg/_propack/_zpropack.cp311-win_amd64.dll.a +0 -0
  530. scipy/sparse/linalg/_propack/_zpropack.cp311-win_amd64.pyd +0 -0
  531. scipy/sparse/linalg/_special_sparse_arrays.py +39 -38
  532. scipy/sparse/linalg/tests/test_expm_multiply.py +10 -0
  533. scipy/sparse/linalg/tests/test_interface.py +35 -0
  534. scipy/sparse/linalg/tests/test_pydata_sparse.py +18 -0
  535. scipy/sparse/tests/test_arithmetic1d.py +5 -2
  536. scipy/sparse/tests/test_base.py +224 -40
  537. scipy/sparse/tests/test_common1d.py +17 -12
  538. scipy/sparse/tests/test_construct.py +1 -1
  539. scipy/sparse/tests/test_coo.py +272 -4
  540. scipy/sparse/tests/test_sparsetools.py +5 -0
  541. scipy/sparse/tests/test_sputils.py +36 -7
  542. scipy/spatial/_ckdtree.cp311-win_amd64.dll.a +0 -0
  543. scipy/spatial/_ckdtree.cp311-win_amd64.pyd +0 -0
  544. scipy/spatial/_distance_pybind.cp311-win_amd64.dll.a +0 -0
  545. scipy/spatial/_distance_pybind.cp311-win_amd64.pyd +0 -0
  546. scipy/spatial/_distance_wrap.cp311-win_amd64.dll.a +0 -0
  547. scipy/spatial/_distance_wrap.cp311-win_amd64.pyd +0 -0
  548. scipy/spatial/_hausdorff.cp311-win_amd64.dll.a +0 -0
  549. scipy/spatial/_hausdorff.cp311-win_amd64.pyd +0 -0
  550. scipy/spatial/_qhull.cp311-win_amd64.dll.a +0 -0
  551. scipy/spatial/_qhull.cp311-win_amd64.pyd +0 -0
  552. scipy/spatial/_voronoi.cp311-win_amd64.dll.a +0 -0
  553. scipy/spatial/_voronoi.cp311-win_amd64.pyd +0 -0
  554. scipy/spatial/distance.py +49 -42
  555. scipy/spatial/tests/test_distance.py +15 -1
  556. scipy/spatial/tests/test_kdtree.py +1 -0
  557. scipy/spatial/tests/test_qhull.py +106 -2
  558. scipy/spatial/transform/__init__.py +5 -3
  559. scipy/spatial/transform/_rigid_transform.cp311-win_amd64.dll.a +0 -0
  560. scipy/spatial/transform/_rigid_transform.cp311-win_amd64.pyd +0 -0
  561. scipy/spatial/transform/_rotation.cp311-win_amd64.dll.a +0 -0
  562. scipy/spatial/transform/_rotation.cp311-win_amd64.pyd +0 -0
  563. scipy/spatial/transform/tests/test_rigid_transform.py +1221 -0
  564. scipy/spatial/transform/tests/test_rotation.py +1342 -790
  565. scipy/spatial/transform/tests/test_rotation_groups.py +3 -3
  566. scipy/spatial/transform/tests/test_rotation_spline.py +29 -8
  567. scipy/special/__init__.py +1 -47
  568. scipy/special/_add_newdocs.py +34 -772
  569. scipy/special/_basic.py +22 -25
  570. scipy/special/_comb.cp311-win_amd64.dll.a +0 -0
  571. scipy/special/_comb.cp311-win_amd64.pyd +0 -0
  572. scipy/special/_ellip_harm_2.cp311-win_amd64.dll.a +0 -0
  573. scipy/special/_ellip_harm_2.cp311-win_amd64.pyd +0 -0
  574. scipy/special/_gufuncs.cp311-win_amd64.dll.a +0 -0
  575. scipy/special/_gufuncs.cp311-win_amd64.pyd +0 -0
  576. scipy/special/_logsumexp.py +83 -69
  577. scipy/special/_orthogonal.pyi +1 -1
  578. scipy/special/_specfun.cp311-win_amd64.dll.a +0 -0
  579. scipy/special/_specfun.cp311-win_amd64.pyd +0 -0
  580. scipy/special/_special_ufuncs.cp311-win_amd64.dll.a +0 -0
  581. scipy/special/_special_ufuncs.cp311-win_amd64.pyd +0 -0
  582. scipy/special/_spherical_bessel.py +4 -4
  583. scipy/special/_support_alternative_backends.py +212 -119
  584. scipy/special/_test_internal.cp311-win_amd64.dll.a +0 -0
  585. scipy/special/_test_internal.cp311-win_amd64.pyd +0 -0
  586. scipy/special/_testutils.py +4 -4
  587. scipy/special/_ufuncs.cp311-win_amd64.dll.a +0 -0
  588. scipy/special/_ufuncs.cp311-win_amd64.pyd +0 -0
  589. scipy/special/_ufuncs.pyi +1 -0
  590. scipy/special/_ufuncs.pyx +215 -1400
  591. scipy/special/_ufuncs_cxx.cp311-win_amd64.dll.a +0 -0
  592. scipy/special/_ufuncs_cxx.cp311-win_amd64.pyd +0 -0
  593. scipy/special/_ufuncs_cxx.pxd +2 -15
  594. scipy/special/_ufuncs_cxx.pyx +5 -44
  595. scipy/special/_ufuncs_cxx_defs.h +2 -16
  596. scipy/special/_ufuncs_defs.h +0 -8
  597. scipy/special/cython_special.cp311-win_amd64.dll.a +0 -0
  598. scipy/special/cython_special.cp311-win_amd64.pyd +0 -0
  599. scipy/special/cython_special.pxd +1 -1
  600. scipy/special/tests/_cython_examples/meson.build +10 -1
  601. scipy/special/tests/test_basic.py +153 -20
  602. scipy/special/tests/test_boost_ufuncs.py +3 -0
  603. scipy/special/tests/test_cdflib.py +35 -11
  604. scipy/special/tests/test_gammainc.py +16 -0
  605. scipy/special/tests/test_hyp2f1.py +23 -2
  606. scipy/special/tests/test_log1mexp.py +85 -0
  607. scipy/special/tests/test_logsumexp.py +220 -64
  608. scipy/special/tests/test_mpmath.py +1 -0
  609. scipy/special/tests/test_nan_inputs.py +1 -1
  610. scipy/special/tests/test_orthogonal.py +17 -18
  611. scipy/special/tests/test_sf_error.py +3 -2
  612. scipy/special/tests/test_sph_harm.py +6 -7
  613. scipy/special/tests/test_support_alternative_backends.py +211 -76
  614. scipy/stats/__init__.py +4 -1
  615. scipy/stats/_ansari_swilk_statistics.cp311-win_amd64.dll.a +0 -0
  616. scipy/stats/_ansari_swilk_statistics.cp311-win_amd64.pyd +0 -0
  617. scipy/stats/_axis_nan_policy.py +5 -12
  618. scipy/stats/_biasedurn.cp311-win_amd64.dll.a +0 -0
  619. scipy/stats/_biasedurn.cp311-win_amd64.pyd +0 -0
  620. scipy/stats/_continued_fraction.py +387 -0
  621. scipy/stats/_continuous_distns.py +296 -319
  622. scipy/stats/_correlation.py +1 -1
  623. scipy/stats/_covariance.py +6 -3
  624. scipy/stats/_discrete_distns.py +39 -32
  625. scipy/stats/_distn_infrastructure.py +39 -12
  626. scipy/stats/_distribution_infrastructure.py +920 -238
  627. scipy/stats/_entropy.py +9 -10
  628. scipy/{_lib → stats}/_finite_differences.py +1 -1
  629. scipy/stats/_hypotests.py +83 -50
  630. scipy/stats/_kde.py +53 -49
  631. scipy/stats/_ksstats.py +1 -1
  632. scipy/stats/_levy_stable/__init__.py +7 -15
  633. scipy/stats/_levy_stable/levyst.cp311-win_amd64.dll.a +0 -0
  634. scipy/stats/_levy_stable/levyst.cp311-win_amd64.pyd +0 -0
  635. scipy/stats/_morestats.py +118 -73
  636. scipy/stats/_mstats_basic.py +13 -17
  637. scipy/stats/_mstats_extras.py +8 -8
  638. scipy/stats/_multivariate.py +89 -113
  639. scipy/stats/_new_distributions.py +97 -20
  640. scipy/stats/_page_trend_test.py +12 -5
  641. scipy/stats/_probability_distribution.py +265 -43
  642. scipy/stats/_qmc.py +14 -9
  643. scipy/stats/_qmc_cy.cp311-win_amd64.dll.a +0 -0
  644. scipy/stats/_qmc_cy.cp311-win_amd64.pyd +0 -0
  645. scipy/stats/_qmvnt.py +16 -95
  646. scipy/stats/_qmvnt_cy.cp311-win_amd64.dll.a +0 -0
  647. scipy/stats/_qmvnt_cy.cp311-win_amd64.pyd +0 -0
  648. scipy/stats/_quantile.py +335 -0
  649. scipy/stats/_rcont/rcont.cp311-win_amd64.dll.a +0 -0
  650. scipy/stats/_rcont/rcont.cp311-win_amd64.pyd +0 -0
  651. scipy/stats/_resampling.py +5 -30
  652. scipy/stats/_sampling.py +1 -1
  653. scipy/stats/_sobol.cp311-win_amd64.dll.a +0 -0
  654. scipy/stats/_sobol.cp311-win_amd64.pyd +0 -0
  655. scipy/stats/_stats.cp311-win_amd64.dll.a +0 -0
  656. scipy/stats/_stats.cp311-win_amd64.pyd +0 -0
  657. scipy/stats/_stats_mstats_common.py +21 -2
  658. scipy/stats/_stats_py.py +551 -477
  659. scipy/stats/_stats_pythran.cp311-win_amd64.dll.a +0 -0
  660. scipy/stats/_stats_pythran.cp311-win_amd64.pyd +0 -0
  661. scipy/stats/_unuran/unuran_wrapper.cp311-win_amd64.dll.a +0 -0
  662. scipy/stats/_unuran/unuran_wrapper.cp311-win_amd64.pyd +0 -0
  663. scipy/stats/_unuran/unuran_wrapper.pyi +2 -1
  664. scipy/stats/_variation.py +6 -8
  665. scipy/stats/_wilcoxon.py +13 -7
  666. scipy/stats/tests/common_tests.py +6 -4
  667. scipy/stats/tests/test_axis_nan_policy.py +62 -24
  668. scipy/stats/tests/test_continued_fraction.py +173 -0
  669. scipy/stats/tests/test_continuous.py +379 -60
  670. scipy/stats/tests/test_continuous_basic.py +18 -12
  671. scipy/stats/tests/test_discrete_basic.py +14 -8
  672. scipy/stats/tests/test_discrete_distns.py +16 -16
  673. scipy/stats/tests/test_distributions.py +117 -75
  674. scipy/stats/tests/test_entropy.py +40 -48
  675. scipy/stats/tests/test_fit.py +4 -3
  676. scipy/stats/tests/test_hypotests.py +153 -24
  677. scipy/stats/tests/test_kdeoth.py +109 -41
  678. scipy/stats/tests/test_marray.py +289 -0
  679. scipy/stats/tests/test_morestats.py +81 -49
  680. scipy/stats/tests/test_mstats_basic.py +3 -3
  681. scipy/stats/tests/test_multivariate.py +434 -83
  682. scipy/stats/tests/test_qmc.py +13 -10
  683. scipy/stats/tests/test_quantile.py +199 -0
  684. scipy/stats/tests/test_rank.py +119 -112
  685. scipy/stats/tests/test_resampling.py +47 -56
  686. scipy/stats/tests/test_sampling.py +9 -4
  687. scipy/stats/tests/test_stats.py +799 -939
  688. scipy/stats/tests/test_variation.py +8 -6
  689. scipy/version.py +2 -2
  690. scipy-1.16.0.dist-info/DELVEWHEEL +2 -0
  691. {scipy-1.15.2.dist-info → scipy-1.16.0.dist-info}/LICENSE.txt +4 -4
  692. {scipy-1.15.2.dist-info → scipy-1.16.0.dist-info}/METADATA +12 -12
  693. {scipy-1.15.2.dist-info → scipy-1.16.0.dist-info}/RECORD +695 -703
  694. scipy/_lib/array_api_extra/_funcs.py +0 -484
  695. scipy/_lib/array_api_extra/_typing.py +0 -8
  696. scipy/interpolate/_bspl.cp311-win_amd64.dll.a +0 -0
  697. scipy/interpolate/_bspl.cp311-win_amd64.pyd +0 -0
  698. scipy/optimize/_cobyla.cp311-win_amd64.dll.a +0 -0
  699. scipy/optimize/_cobyla.cp311-win_amd64.pyd +0 -0
  700. scipy/optimize/_cython_nnls.cp311-win_amd64.dll.a +0 -0
  701. scipy/optimize/_cython_nnls.cp311-win_amd64.pyd +0 -0
  702. scipy/optimize/_slsqp.cp311-win_amd64.dll.a +0 -0
  703. scipy/optimize/_slsqp.cp311-win_amd64.pyd +0 -0
  704. scipy/spatial/qhull_src/COPYING.txt +0 -38
  705. scipy/special/libsf_error_state.dll +0 -0
  706. scipy/special/libsf_error_state.dll.a +0 -0
  707. scipy/special/tests/test_log_softmax.py +0 -109
  708. scipy/special/tests/test_xsf_cuda.py +0 -114
  709. scipy/special/xsf/binom.h +0 -89
  710. scipy/special/xsf/cdflib.h +0 -100
  711. scipy/special/xsf/cephes/airy.h +0 -307
  712. scipy/special/xsf/cephes/besselpoly.h +0 -51
  713. scipy/special/xsf/cephes/beta.h +0 -257
  714. scipy/special/xsf/cephes/cbrt.h +0 -131
  715. scipy/special/xsf/cephes/chbevl.h +0 -85
  716. scipy/special/xsf/cephes/chdtr.h +0 -193
  717. scipy/special/xsf/cephes/const.h +0 -87
  718. scipy/special/xsf/cephes/ellie.h +0 -293
  719. scipy/special/xsf/cephes/ellik.h +0 -251
  720. scipy/special/xsf/cephes/ellpe.h +0 -107
  721. scipy/special/xsf/cephes/ellpk.h +0 -117
  722. scipy/special/xsf/cephes/expn.h +0 -260
  723. scipy/special/xsf/cephes/gamma.h +0 -398
  724. scipy/special/xsf/cephes/hyp2f1.h +0 -596
  725. scipy/special/xsf/cephes/hyperg.h +0 -361
  726. scipy/special/xsf/cephes/i0.h +0 -149
  727. scipy/special/xsf/cephes/i1.h +0 -158
  728. scipy/special/xsf/cephes/igam.h +0 -421
  729. scipy/special/xsf/cephes/igam_asymp_coeff.h +0 -195
  730. scipy/special/xsf/cephes/igami.h +0 -313
  731. scipy/special/xsf/cephes/j0.h +0 -225
  732. scipy/special/xsf/cephes/j1.h +0 -198
  733. scipy/special/xsf/cephes/jv.h +0 -715
  734. scipy/special/xsf/cephes/k0.h +0 -164
  735. scipy/special/xsf/cephes/k1.h +0 -163
  736. scipy/special/xsf/cephes/kn.h +0 -243
  737. scipy/special/xsf/cephes/lanczos.h +0 -112
  738. scipy/special/xsf/cephes/ndtr.h +0 -275
  739. scipy/special/xsf/cephes/poch.h +0 -85
  740. scipy/special/xsf/cephes/polevl.h +0 -167
  741. scipy/special/xsf/cephes/psi.h +0 -194
  742. scipy/special/xsf/cephes/rgamma.h +0 -111
  743. scipy/special/xsf/cephes/scipy_iv.h +0 -811
  744. scipy/special/xsf/cephes/shichi.h +0 -248
  745. scipy/special/xsf/cephes/sici.h +0 -224
  746. scipy/special/xsf/cephes/sindg.h +0 -221
  747. scipy/special/xsf/cephes/tandg.h +0 -139
  748. scipy/special/xsf/cephes/trig.h +0 -58
  749. scipy/special/xsf/cephes/unity.h +0 -186
  750. scipy/special/xsf/cephes/zeta.h +0 -172
  751. scipy/special/xsf/config.h +0 -304
  752. scipy/special/xsf/digamma.h +0 -205
  753. scipy/special/xsf/error.h +0 -57
  754. scipy/special/xsf/evalpoly.h +0 -47
  755. scipy/special/xsf/expint.h +0 -266
  756. scipy/special/xsf/hyp2f1.h +0 -694
  757. scipy/special/xsf/iv_ratio.h +0 -173
  758. scipy/special/xsf/lambertw.h +0 -150
  759. scipy/special/xsf/loggamma.h +0 -163
  760. scipy/special/xsf/sici.h +0 -200
  761. scipy/special/xsf/tools.h +0 -427
  762. scipy/special/xsf/trig.h +0 -164
  763. scipy/special/xsf/wright_bessel.h +0 -843
  764. scipy/special/xsf/zlog1.h +0 -35
  765. scipy/stats/_mvn.cp311-win_amd64.dll.a +0 -0
  766. scipy/stats/_mvn.cp311-win_amd64.pyd +0 -0
  767. scipy-1.15.2.dist-info/DELVEWHEEL +0 -2
  768. /scipy-1.15.2-cp311-cp311-win_amd64.whl → /scipy-1.16.0-cp311-cp311-win_amd64.whl +0 -0
  769. {scipy-1.15.2.dist-info → scipy-1.16.0.dist-info}/WHEEL +0 -0
@@ -0,0 +1,93 @@
1
+ '''
2
+ This module checks whether to break out of the solver loop.
3
+
4
+ Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.
5
+
6
+ Dedicated to late Professor M. J. D. Powell FRS (1936--2015).
7
+
8
+ Python translation by Nickolai Belakovski.
9
+ '''
10
+
11
+ from .infos import INFO_DEFAULT, NAN_INF_X, NAN_INF_F, FTARGET_ACHIEVED, MAXFUN_REACHED
12
+
13
+ import numpy as np
14
+
15
+ def checkbreak_unc(maxfun, nf, f, ftarget, x):
16
+ '''
17
+ This module checks whether to break out of the solver loop in the unconstrained case.
18
+ '''
19
+
20
+ # Outputs
21
+ info = INFO_DEFAULT
22
+
23
+ # Local variables
24
+ srname = "CHECKbreak_UNC"
25
+
26
+ # Preconditions
27
+ assert INFO_DEFAULT not in [NAN_INF_X, NAN_INF_F, FTARGET_ACHIEVED, MAXFUN_REACHED], f'NAN_INF_X, NAN_INF_F, FTARGET_ACHIEVED, and MAXFUN_REACHED differ from INFO_DFT {srname}'
28
+ # X does not contain NaN if the initial X does not contain NaN and the subroutines generating
29
+ # trust-region/geometry steps work properly so that they never produce a step containing NaN/Inf.
30
+ assert not any(np.isnan(x)), f'X does not contain NaN {srname}'
31
+ # With the moderated extreme barrier, F cannot be NaN/+Inf.
32
+ assert not (any(np.isnan(f)) or any(np.isposinf(f))), f'F is not NaN/+Inf {srname}'
33
+
34
+ #====================#
35
+ # Calculation starts #
36
+ #====================#
37
+
38
+ # Although X should not contain NaN unless there is a bug, we include the following for security.
39
+ # X can be Inf, as finite + finite can be Inf numerically.
40
+ if any(np.isnan(x)) or any(np.isinf(x)):
41
+ info = NAN_INF_X
42
+
43
+ # Although NAN_INF_F should not happen unless there is a bug, we include the following for security.
44
+ if any(np.isnan(f)) or any(np.isposinf(f)):
45
+ info = NAN_INF_F
46
+
47
+ if f <= ftarget:
48
+ info = FTARGET_ACHIEVED
49
+
50
+ if nf >= maxfun:
51
+ info = MAXFUN_REACHED
52
+
53
+ return info
54
+
55
+ def checkbreak_con(maxfun, nf, cstrv, ctol, f, ftarget, x):
56
+ '''
57
+ This module checks whether to break out of the solver loop in the constrained case.
58
+ '''
59
+
60
+ # Outputs
61
+ info = INFO_DEFAULT
62
+
63
+ # Local variables
64
+ srname = "CHECKbreak_CON"
65
+
66
+ # Preconditions
67
+ assert INFO_DEFAULT not in [NAN_INF_X, NAN_INF_F, FTARGET_ACHIEVED, MAXFUN_REACHED], f'NAN_INF_X, NAN_INF_F, FTARGET_ACHIEVED, and MAXFUN_REACHED differ from INFO_DFT {srname}'
68
+ # X does not contain NaN if the initial X does not contain NaN and the subroutines generating
69
+ # trust-region/geometry steps work properly so that they never produce a step containing NaN/Inf.
70
+ assert not any(np.isnan(x)), f'X does not contain NaN {srname}'
71
+ # With the moderated extreme barrier, F or CSTRV cannot be NaN/+Inf.
72
+ assert not (np.isnan(f) or np.isposinf(f) or np.isnan(cstrv) or np.isposinf(cstrv)), f'F or CSTRV is not NaN/+Inf {srname}'
73
+
74
+ #====================#
75
+ # Calculation starts #
76
+ #====================#
77
+
78
+ # Although X should not contain NaN unless there is a bug, we include the following for security.
79
+ # X can be Inf, as finite + finite can be Inf numerically.
80
+ if any(np.isnan(x)) or any(np.isinf(x)):
81
+ info = NAN_INF_X
82
+
83
+ # Although NAN_INF_F should not happen unless there is a bug, we include the following for security.
84
+ if np.isnan(f) or np.isposinf(f) or np.isnan(cstrv) or np.isposinf(cstrv):
85
+ info = NAN_INF_F
86
+
87
+ if cstrv <= ctol and f <= ftarget:
88
+ info = FTARGET_ACHIEVED
89
+
90
+ if nf >= maxfun:
91
+ info = MAXFUN_REACHED
92
+
93
+ return info
@@ -0,0 +1,47 @@
1
+ '''
2
+ This is a module defining some constants.
3
+
4
+ Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.
5
+
6
+ Dedicated to late Professor M. J. D. Powell FRS (1936--2015).
7
+
8
+ Python translation by Nickolai Belakovski.
9
+ '''
10
+
11
+ import numpy as np
12
+ import os
13
+
14
+ DEBUGGING = bool(os.getenv('PRIMA_DEBUGGING'))
15
+
16
+ REALMIN = np.finfo(float).tiny
17
+ REALMAX = np.finfo(float).max
18
+ FUNCMAX = 10.0**30
19
+ CONSTRMAX = FUNCMAX
20
+ EPS = np.finfo(float).eps
21
+
22
+ # Any bound with an absolute value at least BOUNDMAX is considered as no bound.
23
+ BOUNDMAX = REALMAX/4
24
+
25
+ # Some default values
26
+ RHOBEG_DEFAULT = 1
27
+ RHOEND_DEFAULT = 1e-6
28
+ FTARGET_DEFAULT = -REALMAX
29
+ CTOL_DEFAULT = np.sqrt(EPS)
30
+ CWEIGHT_DEFAULT = 1e8
31
+ ETA1_DEFAULT = 0.1
32
+ ETA2_DEFAULT = 0.7
33
+ GAMMA1_DEFAULT = 0.5
34
+ GAMMA2_DEFAULT = 2
35
+ IPRINT_DEFAULT = 0
36
+ MAXFUN_DIM_DEFAULT = 500
37
+
38
+ PRIMA_MAX_HIST_MEM_MB = 300 # 1MB > 10^5*REAL64. 100 can be too small.
39
+
40
+ # Maximal amount of memory (Byte) allowed for XHIST, FHIST, CONHIST, CHIST, and the filters.
41
+ MHM = PRIMA_MAX_HIST_MEM_MB * 10**6
42
+ # Make sure that MAXHISTMEM does not exceed HUGE(0) to avoid overflow and memory errors.
43
+ MAXHISTMEM = min(MHM, np.iinfo(np.int32).max)
44
+
45
+ # Maximal length of the filter used in constrained solvers.
46
+ MIN_MAXFILT = 200 # Should be positive; < 200 is not recommended.
47
+ MAXFILT_DEFAULT = 10 * MIN_MAXFILT
@@ -0,0 +1,99 @@
1
+ '''
2
+ This is a module evaluating the objective/constraint function with Nan/Inf handling.
3
+
4
+ Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.
5
+
6
+ Dedicated to late Professor M. J. D. Powell FRS (1936--2015).
7
+
8
+ Python translation by Nickolai Belakovski.
9
+ '''
10
+
11
+ import numpy as np
12
+ from .consts import FUNCMAX, CONSTRMAX, REALMAX, DEBUGGING
13
+ from .linalg import matprod, primasum
14
+
15
+ # This is a module evaluating the objective/constraint function with Nan/Inf handling.
16
+
17
+
18
+ def moderatex(x):
19
+ '''
20
+ This function moderates a decision variable. It replaces NaN by 0 and Inf/-Inf by
21
+ REALMAX/-REALMAX.
22
+ '''
23
+ x[np.isnan(x)] = 0
24
+ x = np.clip(x, -REALMAX, REALMAX)
25
+ return x
26
+
27
+ def moderatef(f):
28
+ """
29
+ This function moderates the function value of a MINIMIZATION problem. It replaces
30
+ NaN and any value above FUNCMAX by FUNCMAX.
31
+ """
32
+ f = FUNCMAX if np.isnan(f) else f
33
+ f = np.clip(f, -REALMAX, FUNCMAX)
34
+ # We may moderate huge negative function values as follows, but we decide not to.
35
+ # f = np.clip(f, -FUNCMAX, FUNCMAX)
36
+ return f
37
+
38
+
39
+ def moderatec(c):
40
+ """
41
+ This function moderates the constraint value, the constraint demanding this value
42
+ to be NONNEGATIVE. It replaces any value below -CONSTRMAX by -CONSTRMAX, and any
43
+ NaN or value above CONSTRMAX by CONSTRMAX.
44
+ """
45
+ np.nan_to_num(c, copy=False, nan=CONSTRMAX)
46
+ c = np.clip(c, -CONSTRMAX, CONSTRMAX)
47
+ return c
48
+
49
+
50
+ def evaluate(calcfc, x, m_nlcon, amat, bvec):
51
+ """
52
+ This function evaluates CALCFC at X, returning the objective function value and the
53
+ constraint value. Nan/Inf are handled by a moderated extreme barrier.
54
+ """
55
+
56
+ # Sizes
57
+ m_lcon = len(bvec) if bvec is not None else 0
58
+
59
+ # Preconditions
60
+ if DEBUGGING:
61
+ # X should not contain NaN if the initial X does not contain NaN and the
62
+ # subroutines generating # trust-region/geometry steps work properly so that
63
+ # they never produce a step containing NaN/Inf.
64
+ assert not any(np.isnan(x))
65
+
66
+ #====================#
67
+ # Calculation starts #
68
+ #====================#
69
+
70
+ constr = np.zeros(m_lcon + m_nlcon)
71
+ if amat is not None:
72
+ constr[:m_lcon] = matprod(x, amat.T) - bvec
73
+
74
+ if any(np.isnan(x)):
75
+ # Although this should not happen unless there is a bug, we include this case
76
+ # for robustness.
77
+ f = primasum(x)
78
+ constr = np.ones(m_nlcon) * f
79
+ else:
80
+ f, constr[m_lcon:] = calcfc(moderatex(x))
81
+
82
+ # Moderated extreme barrier: replace NaN/huge objective or constraint values
83
+ # with a large but finite value. This is naive, and better approaches surely
84
+ # exist.
85
+ f = moderatef(f)
86
+ constr[m_lcon:] = moderatec(constr[m_lcon:])
87
+
88
+ #==================#
89
+ # Calculation ends #
90
+ #==================#
91
+
92
+ # Postconditions
93
+ if DEBUGGING:
94
+ # With X not containing NaN, and with the moderated extreme barrier, F cannot
95
+ # be NaN/+Inf, and CONSTR cannot be NaN/-Inf.
96
+ assert not (np.isnan(f) or np.isposinf(f))
97
+ assert not any(np.isnan(constr) | np.isposinf(constr))
98
+
99
+ return f, constr
@@ -0,0 +1,38 @@
1
+ '''
2
+ This module provides subroutines that handle the X/F/C histories of the solver, taking into
3
+ account that MAXHIST may be smaller than NF.
4
+
5
+ Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.
6
+
7
+ Dedicated to late Professor M. J. D. Powell FRS (1936--2015).
8
+
9
+ Python translation by Nickolai Belakovski.
10
+ '''
11
+
12
+ def savehist(maxhist, x, xhist, f, fhist, cstrv, chist, constr, conhist):
13
+ '''
14
+ Save the data values to the history lists.
15
+
16
+ The implementation of this function is vastly different from the Fortran implementation.
17
+ This is mostly due to the ease of creating and appending to lists in Python
18
+
19
+ However just like the Fortran version we should be concerned about both performance
20
+ and memory constraints. It will probably be better to initialize an array of NaN for
21
+ each of the histories and keep track of how many indices we have stored. Not needed for
22
+ the moment.
23
+ '''
24
+ if len(xhist) < maxhist:
25
+ xhist.append(x)
26
+ fhist.append(f)
27
+ chist.append(cstrv)
28
+ conhist.append(constr)
29
+ else:
30
+ # This effectively accomplishes what rangehist does in the Fortran implementation
31
+ xhist.pop(0)
32
+ fhist.pop(0)
33
+ chist.pop(0)
34
+ conhist.pop(0)
35
+ xhist.append(x)
36
+ fhist.append(f)
37
+ chist.append(cstrv)
38
+ conhist.append(constr)
@@ -0,0 +1,30 @@
1
+ '''
2
+ This is a module defining exit flags.
3
+
4
+ Translated from Zaikun Zhang's modern-Fortran reference implementation in PRIMA.
5
+
6
+ Dedicated to late Professor M. J. D. Powell FRS (1936--2015).
7
+
8
+ Python translation by Nickolai Belakovski.
9
+ '''
10
+
11
+ INFO_DEFAULT = 0
12
+ SMALL_TR_RADIUS = 0
13
+ FTARGET_ACHIEVED = 1
14
+ TRSUBP_FAILED = 2
15
+ MAXFUN_REACHED = 3
16
+ MAXTR_REACHED = 20
17
+ NAN_INF_X = -1
18
+ NAN_INF_F = -2
19
+ NAN_INF_MODEL = -3
20
+ NO_SPACE_BETWEEN_BOUNDS = 6
21
+ DAMAGING_ROUNDING = 7
22
+ ZERO_LINEAR_CONSTRAINT = 8
23
+ CALLBACK_TERMINATE = 30
24
+
25
+ # Stop-codes.
26
+ # The following codes are used by ERROR STOP as stop-codes, which should be default integers.
27
+ INVALID_INPUT = 100
28
+ ASSERTION_FAILS = 101
29
+ VALIDATION_FAILS = 102
30
+ MEMORY_ALLOCATION_FAILS = 103