scipy 1.15.3__cp312-cp312-win_amd64.whl → 1.16.0__cp312-cp312-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 (760) hide show
  1. scipy/__config__.py +8 -8
  2. scipy/__init__.py +3 -6
  3. scipy/_cyutility.cp312-win_amd64.dll.a +0 -0
  4. scipy/_cyutility.cp312-win_amd64.pyd +0 -0
  5. scipy/_lib/_array_api.py +486 -161
  6. scipy/_lib/_array_api_compat_vendor.py +9 -0
  7. scipy/_lib/_bunch.py +4 -0
  8. scipy/_lib/_ccallback_c.cp312-win_amd64.dll.a +0 -0
  9. scipy/_lib/_ccallback_c.cp312-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.cp312-win_amd64.dll.a +0 -0
  13. scipy/_lib/_fpumode.cp312-win_amd64.pyd +0 -0
  14. scipy/_lib/_sparse.py +41 -0
  15. scipy/_lib/_test_ccallback.cp312-win_amd64.dll.a +0 -0
  16. scipy/_lib/_test_ccallback.cp312-win_amd64.pyd +0 -0
  17. scipy/_lib/_test_deprecation_call.cp312-win_amd64.dll.a +0 -0
  18. scipy/_lib/_test_deprecation_call.cp312-win_amd64.pyd +0 -0
  19. scipy/_lib/_test_deprecation_def.cp312-win_amd64.dll.a +0 -0
  20. scipy/_lib/_test_deprecation_def.cp312-win_amd64.pyd +0 -0
  21. scipy/_lib/_testutils.py +6 -2
  22. scipy/_lib/_uarray/_uarray.cp312-win_amd64.dll.a +0 -0
  23. scipy/_lib/_uarray/_uarray.cp312-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.cp312-win_amd64.dll.a +0 -0
  72. scipy/_lib/messagestream.cp312-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 +166 -35
  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.cp312-win_amd64.dll.a +0 -0
  105. scipy/cluster/_hierarchy.cp312-win_amd64.pyd +0 -0
  106. scipy/cluster/_optimal_leaf_ordering.cp312-win_amd64.dll.a +0 -0
  107. scipy/cluster/_optimal_leaf_ordering.cp312-win_amd64.pyd +0 -0
  108. scipy/cluster/_vq.cp312-win_amd64.dll.a +0 -0
  109. scipy/cluster/_vq.cp312-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.cp312-win_amd64.dll.a +0 -0
  127. scipy/fft/_pocketfft/pypocketfft.cp312-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.cp312-win_amd64.dll.a +0 -0
  136. scipy/fftpack/convolve.cp312-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.cp312-win_amd64.dll.a +0 -0
  142. scipy/integrate/_dop.cp312-win_amd64.pyd +0 -0
  143. scipy/integrate/_lsoda.cp312-win_amd64.dll.a +0 -0
  144. scipy/integrate/_lsoda.cp312-win_amd64.pyd +0 -0
  145. scipy/integrate/_ode.py +9 -2
  146. scipy/integrate/_odepack.cp312-win_amd64.dll.a +0 -0
  147. scipy/integrate/_odepack.cp312-win_amd64.pyd +0 -0
  148. scipy/integrate/_quad_vec.py +21 -29
  149. scipy/integrate/_quadpack.cp312-win_amd64.dll.a +0 -0
  150. scipy/integrate/_quadpack.cp312-win_amd64.pyd +0 -0
  151. scipy/integrate/_quadpack_py.py +11 -7
  152. scipy/integrate/_quadrature.py +3 -3
  153. scipy/integrate/_rules/_base.py +2 -2
  154. scipy/integrate/_tanhsinh.py +48 -47
  155. scipy/integrate/_test_multivariate.cp312-win_amd64.dll.a +0 -0
  156. scipy/integrate/_test_multivariate.cp312-win_amd64.pyd +0 -0
  157. scipy/integrate/_test_odeint_banded.cp312-win_amd64.dll.a +0 -0
  158. scipy/integrate/_test_odeint_banded.cp312-win_amd64.pyd +0 -0
  159. scipy/integrate/_vode.cp312-win_amd64.dll.a +0 -0
  160. scipy/integrate/_vode.cp312-win_amd64.pyd +0 -0
  161. scipy/integrate/tests/test__quad_vec.py +0 -6
  162. scipy/integrate/tests/test_banded_ode_solvers.py +85 -0
  163. scipy/integrate/tests/test_cubature.py +21 -35
  164. scipy/integrate/tests/test_quadrature.py +6 -8
  165. scipy/integrate/tests/test_tanhsinh.py +56 -48
  166. scipy/interpolate/__init__.py +70 -58
  167. scipy/interpolate/_bary_rational.py +22 -22
  168. scipy/interpolate/_bsplines.py +119 -66
  169. scipy/interpolate/_cubic.py +65 -50
  170. scipy/interpolate/_dfitpack.cp312-win_amd64.dll.a +0 -0
  171. scipy/interpolate/_dfitpack.cp312-win_amd64.pyd +0 -0
  172. scipy/interpolate/_dierckx.cp312-win_amd64.dll.a +0 -0
  173. scipy/interpolate/_dierckx.cp312-win_amd64.pyd +0 -0
  174. scipy/interpolate/_fitpack.cp312-win_amd64.dll.a +0 -0
  175. scipy/interpolate/_fitpack.cp312-win_amd64.pyd +0 -0
  176. scipy/interpolate/_fitpack2.py +9 -6
  177. scipy/interpolate/_fitpack_impl.py +32 -26
  178. scipy/interpolate/_fitpack_repro.py +23 -19
  179. scipy/interpolate/_interpnd.cp312-win_amd64.dll.a +0 -0
  180. scipy/interpolate/_interpnd.cp312-win_amd64.pyd +0 -0
  181. scipy/interpolate/_interpolate.py +30 -12
  182. scipy/interpolate/_ndbspline.py +13 -18
  183. scipy/interpolate/_ndgriddata.py +5 -8
  184. scipy/interpolate/_polyint.py +95 -31
  185. scipy/interpolate/_ppoly.cp312-win_amd64.dll.a +0 -0
  186. scipy/interpolate/_ppoly.cp312-win_amd64.pyd +0 -0
  187. scipy/interpolate/_rbf.py +2 -2
  188. scipy/interpolate/_rbfinterp.py +1 -1
  189. scipy/interpolate/_rbfinterp_pythran.cp312-win_amd64.dll.a +0 -0
  190. scipy/interpolate/_rbfinterp_pythran.cp312-win_amd64.pyd +0 -0
  191. scipy/interpolate/_rgi.py +31 -26
  192. scipy/interpolate/_rgi_cython.cp312-win_amd64.dll.a +0 -0
  193. scipy/interpolate/_rgi_cython.cp312-win_amd64.pyd +0 -0
  194. scipy/interpolate/dfitpack.py +0 -20
  195. scipy/interpolate/interpnd.py +1 -2
  196. scipy/interpolate/tests/test_bary_rational.py +2 -2
  197. scipy/interpolate/tests/test_bsplines.py +97 -1
  198. scipy/interpolate/tests/test_fitpack2.py +39 -1
  199. scipy/interpolate/tests/test_interpnd.py +32 -20
  200. scipy/interpolate/tests/test_interpolate.py +48 -4
  201. scipy/interpolate/tests/test_rgi.py +2 -1
  202. scipy/io/_fast_matrix_market/__init__.py +2 -0
  203. scipy/io/_fast_matrix_market/_fmm_core.cp312-win_amd64.dll.a +0 -0
  204. scipy/io/_fast_matrix_market/_fmm_core.cp312-win_amd64.pyd +0 -0
  205. scipy/io/_harwell_boeing/_fortran_format_parser.py +19 -16
  206. scipy/io/_harwell_boeing/hb.py +7 -11
  207. scipy/io/_idl.py +5 -7
  208. scipy/io/_netcdf.py +15 -5
  209. scipy/io/_test_fortran.cp312-win_amd64.dll.a +0 -0
  210. scipy/io/_test_fortran.cp312-win_amd64.pyd +0 -0
  211. scipy/io/arff/tests/test_arffread.py +3 -3
  212. scipy/io/matlab/__init__.py +5 -3
  213. scipy/io/matlab/_mio.py +4 -1
  214. scipy/io/matlab/_mio5.py +19 -13
  215. scipy/io/matlab/_mio5_utils.cp312-win_amd64.dll.a +0 -0
  216. scipy/io/matlab/_mio5_utils.cp312-win_amd64.pyd +0 -0
  217. scipy/io/matlab/_mio_utils.cp312-win_amd64.dll.a +0 -0
  218. scipy/io/matlab/_mio_utils.cp312-win_amd64.pyd +0 -0
  219. scipy/io/matlab/_miobase.py +4 -1
  220. scipy/io/matlab/_streams.cp312-win_amd64.dll.a +0 -0
  221. scipy/io/matlab/_streams.cp312-win_amd64.pyd +0 -0
  222. scipy/io/matlab/tests/test_mio.py +46 -18
  223. scipy/io/matlab/tests/test_mio_funcs.py +1 -1
  224. scipy/io/tests/test_mmio.py +7 -1
  225. scipy/io/tests/test_wavfile.py +41 -0
  226. scipy/io/wavfile.py +57 -10
  227. scipy/linalg/_basic.py +113 -86
  228. scipy/linalg/_cythonized_array_utils.cp312-win_amd64.dll.a +0 -0
  229. scipy/linalg/_cythonized_array_utils.cp312-win_amd64.pyd +0 -0
  230. scipy/linalg/_decomp.py +22 -9
  231. scipy/linalg/_decomp_cholesky.py +28 -13
  232. scipy/linalg/_decomp_cossin.py +45 -30
  233. scipy/linalg/_decomp_interpolative.cp312-win_amd64.dll.a +0 -0
  234. scipy/linalg/_decomp_interpolative.cp312-win_amd64.pyd +0 -0
  235. scipy/linalg/_decomp_ldl.py +4 -1
  236. scipy/linalg/_decomp_lu.py +18 -6
  237. scipy/linalg/_decomp_lu_cython.cp312-win_amd64.dll.a +0 -0
  238. scipy/linalg/_decomp_lu_cython.cp312-win_amd64.pyd +0 -0
  239. scipy/linalg/_decomp_polar.py +2 -0
  240. scipy/linalg/_decomp_qr.py +6 -2
  241. scipy/linalg/_decomp_qz.py +3 -0
  242. scipy/linalg/_decomp_schur.py +3 -1
  243. scipy/linalg/_decomp_svd.py +13 -2
  244. scipy/linalg/_decomp_update.cp312-win_amd64.dll.a +0 -0
  245. scipy/linalg/_decomp_update.cp312-win_amd64.pyd +0 -0
  246. scipy/linalg/_expm_frechet.py +4 -0
  247. scipy/linalg/_fblas.cp312-win_amd64.dll.a +0 -0
  248. scipy/linalg/_fblas.cp312-win_amd64.pyd +0 -0
  249. scipy/linalg/_flapack.cp312-win_amd64.dll.a +0 -0
  250. scipy/linalg/_flapack.cp312-win_amd64.pyd +0 -0
  251. scipy/linalg/_linalg_pythran.cp312-win_amd64.dll.a +0 -0
  252. scipy/linalg/_linalg_pythran.cp312-win_amd64.pyd +0 -0
  253. scipy/linalg/_matfuncs.py +187 -4
  254. scipy/linalg/_matfuncs_expm.cp312-win_amd64.dll.a +0 -0
  255. scipy/linalg/_matfuncs_expm.cp312-win_amd64.pyd +0 -0
  256. scipy/linalg/_matfuncs_schur_sqrtm.cp312-win_amd64.dll.a +0 -0
  257. scipy/linalg/_matfuncs_schur_sqrtm.cp312-win_amd64.pyd +0 -0
  258. scipy/linalg/_matfuncs_sqrtm.py +1 -99
  259. scipy/linalg/_matfuncs_sqrtm_triu.cp312-win_amd64.dll.a +0 -0
  260. scipy/linalg/_matfuncs_sqrtm_triu.cp312-win_amd64.pyd +0 -0
  261. scipy/linalg/_procrustes.py +2 -0
  262. scipy/linalg/_sketches.py +17 -6
  263. scipy/linalg/_solve_toeplitz.cp312-win_amd64.dll.a +0 -0
  264. scipy/linalg/_solve_toeplitz.cp312-win_amd64.pyd +0 -0
  265. scipy/linalg/_solvers.py +7 -2
  266. scipy/linalg/_special_matrices.py +26 -36
  267. scipy/linalg/blas.py +35 -24
  268. scipy/linalg/cython_blas.cp312-win_amd64.dll.a +0 -0
  269. scipy/linalg/cython_blas.cp312-win_amd64.pyd +0 -0
  270. scipy/linalg/cython_lapack.cp312-win_amd64.dll.a +0 -0
  271. scipy/linalg/cython_lapack.cp312-win_amd64.pyd +0 -0
  272. scipy/linalg/lapack.py +22 -2
  273. scipy/linalg/tests/_cython_examples/meson.build +7 -0
  274. scipy/linalg/tests/test_basic.py +31 -16
  275. scipy/linalg/tests/test_batch.py +588 -0
  276. scipy/linalg/tests/test_cythonized_array_utils.py +0 -2
  277. scipy/linalg/tests/test_decomp.py +40 -3
  278. scipy/linalg/tests/test_decomp_cossin.py +14 -0
  279. scipy/linalg/tests/test_decomp_ldl.py +1 -1
  280. scipy/linalg/tests/test_lapack.py +115 -7
  281. scipy/linalg/tests/test_matfuncs.py +157 -102
  282. scipy/linalg/tests/test_procrustes.py +0 -7
  283. scipy/linalg/tests/test_solve_toeplitz.py +1 -1
  284. scipy/linalg/tests/test_special_matrices.py +1 -5
  285. scipy/ndimage/__init__.py +1 -0
  286. scipy/ndimage/_ctest.cp312-win_amd64.dll.a +0 -0
  287. scipy/ndimage/_ctest.cp312-win_amd64.pyd +0 -0
  288. scipy/ndimage/_cytest.cp312-win_amd64.dll.a +0 -0
  289. scipy/ndimage/_cytest.cp312-win_amd64.pyd +0 -0
  290. scipy/ndimage/_delegators.py +8 -2
  291. scipy/ndimage/_filters.py +453 -5
  292. scipy/ndimage/_interpolation.py +36 -6
  293. scipy/ndimage/_measurements.py +4 -2
  294. scipy/ndimage/_morphology.py +5 -0
  295. scipy/ndimage/_nd_image.cp312-win_amd64.dll.a +0 -0
  296. scipy/ndimage/_nd_image.cp312-win_amd64.pyd +0 -0
  297. scipy/ndimage/_ni_docstrings.py +5 -1
  298. scipy/ndimage/_ni_label.cp312-win_amd64.dll.a +0 -0
  299. scipy/ndimage/_ni_label.cp312-win_amd64.pyd +0 -0
  300. scipy/ndimage/_ni_support.py +1 -5
  301. scipy/ndimage/_rank_filter_1d.cp312-win_amd64.dll.a +0 -0
  302. scipy/ndimage/_rank_filter_1d.cp312-win_amd64.pyd +0 -0
  303. scipy/ndimage/_support_alternative_backends.py +18 -6
  304. scipy/ndimage/tests/test_filters.py +370 -259
  305. scipy/ndimage/tests/test_fourier.py +7 -9
  306. scipy/ndimage/tests/test_interpolation.py +68 -61
  307. scipy/ndimage/tests/test_measurements.py +18 -35
  308. scipy/ndimage/tests/test_morphology.py +143 -131
  309. scipy/ndimage/tests/test_splines.py +1 -3
  310. scipy/odr/__odrpack.cp312-win_amd64.dll.a +0 -0
  311. scipy/odr/__odrpack.cp312-win_amd64.pyd +0 -0
  312. scipy/optimize/_basinhopping.py +13 -7
  313. scipy/optimize/_bglu_dense.cp312-win_amd64.dll.a +0 -0
  314. scipy/optimize/_bglu_dense.cp312-win_amd64.pyd +0 -0
  315. scipy/optimize/_bracket.py +17 -24
  316. scipy/optimize/_chandrupatla.py +9 -10
  317. scipy/optimize/_cobyla_py.py +104 -123
  318. scipy/optimize/_constraints.py +14 -10
  319. scipy/optimize/_differentiable_functions.py +371 -230
  320. scipy/optimize/_differentialevolution.py +4 -3
  321. scipy/optimize/_direct.cp312-win_amd64.dll.a +0 -0
  322. scipy/optimize/_direct.cp312-win_amd64.pyd +0 -0
  323. scipy/optimize/_dual_annealing.py +1 -1
  324. scipy/optimize/_elementwise.py +1 -4
  325. scipy/optimize/_group_columns.cp312-win_amd64.dll.a +0 -0
  326. scipy/optimize/_group_columns.cp312-win_amd64.pyd +0 -0
  327. scipy/optimize/_highspy/_core.cp312-win_amd64.dll.a +0 -0
  328. scipy/optimize/_highspy/_core.cp312-win_amd64.pyd +0 -0
  329. scipy/optimize/_highspy/_highs_options.cp312-win_amd64.dll.a +0 -0
  330. scipy/optimize/_highspy/_highs_options.cp312-win_amd64.pyd +0 -0
  331. scipy/optimize/_lbfgsb.cp312-win_amd64.dll.a +0 -0
  332. scipy/optimize/_lbfgsb.cp312-win_amd64.pyd +0 -0
  333. scipy/optimize/_lbfgsb_py.py +80 -24
  334. scipy/optimize/_linprog_doc.py +2 -2
  335. scipy/optimize/_linprog_highs.py +2 -2
  336. scipy/optimize/_linprog_ip.py +25 -10
  337. scipy/optimize/_linprog_util.py +14 -16
  338. scipy/optimize/_lsap.cp312-win_amd64.dll.a +0 -0
  339. scipy/optimize/_lsap.cp312-win_amd64.pyd +0 -0
  340. scipy/optimize/_lsq/common.py +3 -3
  341. scipy/optimize/_lsq/dogbox.py +16 -2
  342. scipy/optimize/_lsq/givens_elimination.cp312-win_amd64.dll.a +0 -0
  343. scipy/optimize/_lsq/givens_elimination.cp312-win_amd64.pyd +0 -0
  344. scipy/optimize/_lsq/least_squares.py +198 -126
  345. scipy/optimize/_lsq/lsq_linear.py +6 -6
  346. scipy/optimize/_lsq/trf.py +35 -8
  347. scipy/optimize/_milp.py +3 -1
  348. scipy/optimize/_minimize.py +105 -36
  349. scipy/optimize/_minpack.cp312-win_amd64.dll.a +0 -0
  350. scipy/optimize/_minpack.cp312-win_amd64.pyd +0 -0
  351. scipy/optimize/_minpack_py.py +21 -14
  352. scipy/optimize/_moduleTNC.cp312-win_amd64.dll.a +0 -0
  353. scipy/optimize/_moduleTNC.cp312-win_amd64.pyd +0 -0
  354. scipy/optimize/_nnls.py +20 -21
  355. scipy/optimize/_nonlin.py +34 -3
  356. scipy/optimize/_numdiff.py +288 -110
  357. scipy/optimize/_optimize.py +86 -48
  358. scipy/optimize/_pava_pybind.cp312-win_amd64.dll.a +0 -0
  359. scipy/optimize/_pava_pybind.cp312-win_amd64.pyd +0 -0
  360. scipy/optimize/_remove_redundancy.py +5 -5
  361. scipy/optimize/_root_scalar.py +1 -1
  362. scipy/optimize/_shgo.py +6 -0
  363. scipy/optimize/_shgo_lib/_complex.py +1 -1
  364. scipy/optimize/_slsqp_py.py +216 -124
  365. scipy/optimize/_slsqplib.cp312-win_amd64.dll.a +0 -0
  366. scipy/optimize/_slsqplib.cp312-win_amd64.pyd +0 -0
  367. scipy/optimize/_spectral.py +1 -1
  368. scipy/optimize/_tnc.py +8 -1
  369. scipy/optimize/_trlib/_trlib.cp312-win_amd64.dll.a +0 -0
  370. scipy/optimize/_trlib/_trlib.cp312-win_amd64.pyd +0 -0
  371. scipy/optimize/_trustregion.py +20 -6
  372. scipy/optimize/_trustregion_constr/canonical_constraint.py +7 -7
  373. scipy/optimize/_trustregion_constr/equality_constrained_sqp.py +1 -1
  374. scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py +11 -3
  375. scipy/optimize/_trustregion_constr/projections.py +12 -8
  376. scipy/optimize/_trustregion_constr/qp_subproblem.py +9 -9
  377. scipy/optimize/_trustregion_constr/tests/test_projections.py +7 -7
  378. scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py +77 -77
  379. scipy/optimize/_trustregion_constr/tr_interior_point.py +5 -5
  380. scipy/optimize/_trustregion_exact.py +0 -1
  381. scipy/optimize/_zeros.cp312-win_amd64.dll.a +0 -0
  382. scipy/optimize/_zeros.cp312-win_amd64.pyd +0 -0
  383. scipy/optimize/_zeros_py.py +97 -17
  384. scipy/optimize/cython_optimize/_zeros.cp312-win_amd64.dll.a +0 -0
  385. scipy/optimize/cython_optimize/_zeros.cp312-win_amd64.pyd +0 -0
  386. scipy/optimize/slsqp.py +0 -1
  387. scipy/optimize/tests/test__basinhopping.py +1 -1
  388. scipy/optimize/tests/test__differential_evolution.py +4 -4
  389. scipy/optimize/tests/test__linprog_clean_inputs.py +5 -3
  390. scipy/optimize/tests/test__numdiff.py +66 -22
  391. scipy/optimize/tests/test__remove_redundancy.py +2 -2
  392. scipy/optimize/tests/test__shgo.py +9 -1
  393. scipy/optimize/tests/test_bracket.py +36 -46
  394. scipy/optimize/tests/test_chandrupatla.py +133 -135
  395. scipy/optimize/tests/test_cobyla.py +74 -45
  396. scipy/optimize/tests/test_constraints.py +1 -1
  397. scipy/optimize/tests/test_differentiable_functions.py +226 -6
  398. scipy/optimize/tests/test_lbfgsb_hessinv.py +22 -0
  399. scipy/optimize/tests/test_least_squares.py +125 -13
  400. scipy/optimize/tests/test_linear_assignment.py +3 -3
  401. scipy/optimize/tests/test_linprog.py +3 -3
  402. scipy/optimize/tests/test_lsq_linear.py +6 -6
  403. scipy/optimize/tests/test_minimize_constrained.py +2 -2
  404. scipy/optimize/tests/test_minpack.py +4 -4
  405. scipy/optimize/tests/test_nnls.py +43 -3
  406. scipy/optimize/tests/test_nonlin.py +36 -0
  407. scipy/optimize/tests/test_optimize.py +98 -20
  408. scipy/optimize/tests/test_slsqp.py +36 -4
  409. scipy/optimize/tests/test_zeros.py +34 -1
  410. scipy/signal/__init__.py +12 -23
  411. scipy/signal/_delegators.py +568 -0
  412. scipy/signal/_filter_design.py +459 -241
  413. scipy/signal/_fir_filter_design.py +262 -90
  414. scipy/signal/_lti_conversion.py +3 -2
  415. scipy/signal/_ltisys.py +118 -91
  416. scipy/signal/_max_len_seq_inner.cp312-win_amd64.dll.a +0 -0
  417. scipy/signal/_max_len_seq_inner.cp312-win_amd64.pyd +0 -0
  418. scipy/signal/_peak_finding_utils.cp312-win_amd64.dll.a +0 -0
  419. scipy/signal/_peak_finding_utils.cp312-win_amd64.pyd +0 -0
  420. scipy/signal/_polyutils.py +172 -0
  421. scipy/signal/_short_time_fft.py +519 -70
  422. scipy/signal/_signal_api.py +30 -0
  423. scipy/signal/_signaltools.py +719 -399
  424. scipy/signal/_sigtools.cp312-win_amd64.dll.a +0 -0
  425. scipy/signal/_sigtools.cp312-win_amd64.pyd +0 -0
  426. scipy/signal/_sosfilt.cp312-win_amd64.dll.a +0 -0
  427. scipy/signal/_sosfilt.cp312-win_amd64.pyd +0 -0
  428. scipy/signal/_spectral_py.py +230 -50
  429. scipy/signal/_spline.cp312-win_amd64.dll.a +0 -0
  430. scipy/signal/_spline.cp312-win_amd64.pyd +0 -0
  431. scipy/signal/_spline_filters.py +108 -68
  432. scipy/signal/_support_alternative_backends.py +73 -0
  433. scipy/signal/_upfirdn.py +4 -1
  434. scipy/signal/_upfirdn_apply.cp312-win_amd64.dll.a +0 -0
  435. scipy/signal/_upfirdn_apply.cp312-win_amd64.pyd +0 -0
  436. scipy/signal/_waveforms.py +2 -11
  437. scipy/signal/_wavelets.py +1 -1
  438. scipy/signal/fir_filter_design.py +1 -0
  439. scipy/signal/spline.py +4 -11
  440. scipy/signal/tests/_scipy_spectral_test_shim.py +2 -171
  441. scipy/signal/tests/test_bsplines.py +114 -79
  442. scipy/signal/tests/test_cont2discrete.py +9 -2
  443. scipy/signal/tests/test_filter_design.py +721 -481
  444. scipy/signal/tests/test_fir_filter_design.py +332 -140
  445. scipy/signal/tests/test_savitzky_golay.py +4 -3
  446. scipy/signal/tests/test_short_time_fft.py +221 -3
  447. scipy/signal/tests/test_signaltools.py +2145 -1349
  448. scipy/signal/tests/test_spectral.py +50 -6
  449. scipy/signal/tests/test_splines.py +161 -96
  450. scipy/signal/tests/test_upfirdn.py +84 -50
  451. scipy/signal/tests/test_waveforms.py +20 -0
  452. scipy/signal/tests/test_windows.py +607 -466
  453. scipy/signal/windows/_windows.py +287 -148
  454. scipy/sparse/__init__.py +23 -4
  455. scipy/sparse/_base.py +270 -108
  456. scipy/sparse/_bsr.py +7 -4
  457. scipy/sparse/_compressed.py +59 -231
  458. scipy/sparse/_construct.py +90 -38
  459. scipy/sparse/_coo.py +115 -181
  460. scipy/sparse/_csc.py +4 -4
  461. scipy/sparse/_csparsetools.cp312-win_amd64.dll.a +0 -0
  462. scipy/sparse/_csparsetools.cp312-win_amd64.pyd +0 -0
  463. scipy/sparse/_csr.py +2 -2
  464. scipy/sparse/_data.py +48 -48
  465. scipy/sparse/_dia.py +105 -18
  466. scipy/sparse/_dok.py +0 -23
  467. scipy/sparse/_index.py +4 -4
  468. scipy/sparse/_matrix.py +23 -0
  469. scipy/sparse/_sparsetools.cp312-win_amd64.dll.a +0 -0
  470. scipy/sparse/_sparsetools.cp312-win_amd64.pyd +0 -0
  471. scipy/sparse/_sputils.py +37 -22
  472. scipy/sparse/base.py +0 -9
  473. scipy/sparse/bsr.py +0 -14
  474. scipy/sparse/compressed.py +0 -23
  475. scipy/sparse/construct.py +0 -6
  476. scipy/sparse/coo.py +0 -14
  477. scipy/sparse/csc.py +0 -3
  478. scipy/sparse/csgraph/_flow.cp312-win_amd64.dll.a +0 -0
  479. scipy/sparse/csgraph/_flow.cp312-win_amd64.pyd +0 -0
  480. scipy/sparse/csgraph/_matching.cp312-win_amd64.dll.a +0 -0
  481. scipy/sparse/csgraph/_matching.cp312-win_amd64.pyd +0 -0
  482. scipy/sparse/csgraph/_min_spanning_tree.cp312-win_amd64.dll.a +0 -0
  483. scipy/sparse/csgraph/_min_spanning_tree.cp312-win_amd64.pyd +0 -0
  484. scipy/sparse/csgraph/_reordering.cp312-win_amd64.dll.a +0 -0
  485. scipy/sparse/csgraph/_reordering.cp312-win_amd64.pyd +0 -0
  486. scipy/sparse/csgraph/_shortest_path.cp312-win_amd64.dll.a +0 -0
  487. scipy/sparse/csgraph/_shortest_path.cp312-win_amd64.pyd +0 -0
  488. scipy/sparse/csgraph/_tools.cp312-win_amd64.dll.a +0 -0
  489. scipy/sparse/csgraph/_tools.cp312-win_amd64.pyd +0 -0
  490. scipy/sparse/csgraph/_traversal.cp312-win_amd64.dll.a +0 -0
  491. scipy/sparse/csgraph/_traversal.cp312-win_amd64.pyd +0 -0
  492. scipy/sparse/csgraph/tests/test_matching.py +14 -2
  493. scipy/sparse/csgraph/tests/test_pydata_sparse.py +4 -1
  494. scipy/sparse/csgraph/tests/test_shortest_path.py +83 -27
  495. scipy/sparse/csr.py +0 -5
  496. scipy/sparse/data.py +1 -6
  497. scipy/sparse/dia.py +0 -7
  498. scipy/sparse/dok.py +0 -10
  499. scipy/sparse/linalg/_dsolve/_superlu.cp312-win_amd64.dll.a +0 -0
  500. scipy/sparse/linalg/_dsolve/_superlu.cp312-win_amd64.pyd +0 -0
  501. scipy/sparse/linalg/_dsolve/linsolve.py +9 -0
  502. scipy/sparse/linalg/_dsolve/tests/test_linsolve.py +35 -28
  503. scipy/sparse/linalg/_eigen/arpack/_arpack.cp312-win_amd64.dll.a +0 -0
  504. scipy/sparse/linalg/_eigen/arpack/_arpack.cp312-win_amd64.pyd +0 -0
  505. scipy/sparse/linalg/_eigen/arpack/arpack.py +23 -17
  506. scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py +6 -6
  507. scipy/sparse/linalg/_interface.py +17 -18
  508. scipy/sparse/linalg/_isolve/_gcrotmk.py +4 -4
  509. scipy/sparse/linalg/_isolve/iterative.py +51 -45
  510. scipy/sparse/linalg/_isolve/lgmres.py +6 -6
  511. scipy/sparse/linalg/_isolve/minres.py +5 -5
  512. scipy/sparse/linalg/_isolve/tfqmr.py +7 -7
  513. scipy/sparse/linalg/_isolve/utils.py +2 -8
  514. scipy/sparse/linalg/_matfuncs.py +1 -1
  515. scipy/sparse/linalg/_norm.py +1 -1
  516. scipy/sparse/linalg/_propack/_cpropack.cp312-win_amd64.dll.a +0 -0
  517. scipy/sparse/linalg/_propack/_cpropack.cp312-win_amd64.pyd +0 -0
  518. scipy/sparse/linalg/_propack/_dpropack.cp312-win_amd64.dll.a +0 -0
  519. scipy/sparse/linalg/_propack/_dpropack.cp312-win_amd64.pyd +0 -0
  520. scipy/sparse/linalg/_propack/_spropack.cp312-win_amd64.dll.a +0 -0
  521. scipy/sparse/linalg/_propack/_spropack.cp312-win_amd64.pyd +0 -0
  522. scipy/sparse/linalg/_propack/_zpropack.cp312-win_amd64.dll.a +0 -0
  523. scipy/sparse/linalg/_propack/_zpropack.cp312-win_amd64.pyd +0 -0
  524. scipy/sparse/linalg/_special_sparse_arrays.py +39 -38
  525. scipy/sparse/linalg/tests/test_pydata_sparse.py +14 -0
  526. scipy/sparse/tests/test_arithmetic1d.py +5 -2
  527. scipy/sparse/tests/test_base.py +214 -42
  528. scipy/sparse/tests/test_common1d.py +7 -7
  529. scipy/sparse/tests/test_construct.py +1 -1
  530. scipy/sparse/tests/test_coo.py +272 -4
  531. scipy/sparse/tests/test_sparsetools.py +5 -0
  532. scipy/sparse/tests/test_sputils.py +36 -7
  533. scipy/spatial/_ckdtree.cp312-win_amd64.dll.a +0 -0
  534. scipy/spatial/_ckdtree.cp312-win_amd64.pyd +0 -0
  535. scipy/spatial/_distance_pybind.cp312-win_amd64.dll.a +0 -0
  536. scipy/spatial/_distance_pybind.cp312-win_amd64.pyd +0 -0
  537. scipy/spatial/_distance_wrap.cp312-win_amd64.dll.a +0 -0
  538. scipy/spatial/_distance_wrap.cp312-win_amd64.pyd +0 -0
  539. scipy/spatial/_hausdorff.cp312-win_amd64.dll.a +0 -0
  540. scipy/spatial/_hausdorff.cp312-win_amd64.pyd +0 -0
  541. scipy/spatial/_qhull.cp312-win_amd64.dll.a +0 -0
  542. scipy/spatial/_qhull.cp312-win_amd64.pyd +0 -0
  543. scipy/spatial/_voronoi.cp312-win_amd64.dll.a +0 -0
  544. scipy/spatial/_voronoi.cp312-win_amd64.pyd +0 -0
  545. scipy/spatial/distance.py +49 -42
  546. scipy/spatial/tests/test_distance.py +15 -1
  547. scipy/spatial/tests/test_kdtree.py +1 -0
  548. scipy/spatial/tests/test_qhull.py +7 -2
  549. scipy/spatial/transform/__init__.py +5 -3
  550. scipy/spatial/transform/_rigid_transform.cp312-win_amd64.dll.a +0 -0
  551. scipy/spatial/transform/_rigid_transform.cp312-win_amd64.pyd +0 -0
  552. scipy/spatial/transform/_rotation.cp312-win_amd64.dll.a +0 -0
  553. scipy/spatial/transform/_rotation.cp312-win_amd64.pyd +0 -0
  554. scipy/spatial/transform/tests/test_rigid_transform.py +1221 -0
  555. scipy/spatial/transform/tests/test_rotation.py +1213 -832
  556. scipy/spatial/transform/tests/test_rotation_groups.py +3 -3
  557. scipy/spatial/transform/tests/test_rotation_spline.py +29 -8
  558. scipy/special/__init__.py +1 -47
  559. scipy/special/_add_newdocs.py +34 -772
  560. scipy/special/_basic.py +22 -25
  561. scipy/special/_comb.cp312-win_amd64.dll.a +0 -0
  562. scipy/special/_comb.cp312-win_amd64.pyd +0 -0
  563. scipy/special/_ellip_harm_2.cp312-win_amd64.dll.a +0 -0
  564. scipy/special/_ellip_harm_2.cp312-win_amd64.pyd +0 -0
  565. scipy/special/_gufuncs.cp312-win_amd64.dll.a +0 -0
  566. scipy/special/_gufuncs.cp312-win_amd64.pyd +0 -0
  567. scipy/special/_logsumexp.py +67 -58
  568. scipy/special/_orthogonal.pyi +1 -1
  569. scipy/special/_specfun.cp312-win_amd64.dll.a +0 -0
  570. scipy/special/_specfun.cp312-win_amd64.pyd +0 -0
  571. scipy/special/_special_ufuncs.cp312-win_amd64.dll.a +0 -0
  572. scipy/special/_special_ufuncs.cp312-win_amd64.pyd +0 -0
  573. scipy/special/_spherical_bessel.py +4 -4
  574. scipy/special/_support_alternative_backends.py +212 -119
  575. scipy/special/_test_internal.cp312-win_amd64.dll.a +0 -0
  576. scipy/special/_test_internal.cp312-win_amd64.pyd +0 -0
  577. scipy/special/_testutils.py +4 -4
  578. scipy/special/_ufuncs.cp312-win_amd64.dll.a +0 -0
  579. scipy/special/_ufuncs.cp312-win_amd64.pyd +0 -0
  580. scipy/special/_ufuncs.pyi +1 -0
  581. scipy/special/_ufuncs.pyx +215 -1400
  582. scipy/special/_ufuncs_cxx.cp312-win_amd64.dll.a +0 -0
  583. scipy/special/_ufuncs_cxx.cp312-win_amd64.pyd +0 -0
  584. scipy/special/_ufuncs_cxx.pxd +2 -15
  585. scipy/special/_ufuncs_cxx.pyx +5 -44
  586. scipy/special/_ufuncs_cxx_defs.h +2 -16
  587. scipy/special/_ufuncs_defs.h +0 -8
  588. scipy/special/cython_special.cp312-win_amd64.dll.a +0 -0
  589. scipy/special/cython_special.cp312-win_amd64.pyd +0 -0
  590. scipy/special/cython_special.pxd +1 -1
  591. scipy/special/tests/_cython_examples/meson.build +10 -1
  592. scipy/special/tests/test_basic.py +153 -20
  593. scipy/special/tests/test_boost_ufuncs.py +3 -0
  594. scipy/special/tests/test_cdflib.py +35 -11
  595. scipy/special/tests/test_gammainc.py +16 -0
  596. scipy/special/tests/test_hyp2f1.py +2 -2
  597. scipy/special/tests/test_log1mexp.py +85 -0
  598. scipy/special/tests/test_logsumexp.py +206 -64
  599. scipy/special/tests/test_mpmath.py +1 -0
  600. scipy/special/tests/test_nan_inputs.py +1 -1
  601. scipy/special/tests/test_orthogonal.py +17 -18
  602. scipy/special/tests/test_sf_error.py +3 -2
  603. scipy/special/tests/test_sph_harm.py +6 -7
  604. scipy/special/tests/test_support_alternative_backends.py +211 -76
  605. scipy/stats/__init__.py +4 -1
  606. scipy/stats/_ansari_swilk_statistics.cp312-win_amd64.dll.a +0 -0
  607. scipy/stats/_ansari_swilk_statistics.cp312-win_amd64.pyd +0 -0
  608. scipy/stats/_axis_nan_policy.py +5 -12
  609. scipy/stats/_biasedurn.cp312-win_amd64.dll.a +0 -0
  610. scipy/stats/_biasedurn.cp312-win_amd64.pyd +0 -0
  611. scipy/stats/_continued_fraction.py +387 -0
  612. scipy/stats/_continuous_distns.py +277 -310
  613. scipy/stats/_correlation.py +1 -1
  614. scipy/stats/_covariance.py +6 -3
  615. scipy/stats/_discrete_distns.py +39 -32
  616. scipy/stats/_distn_infrastructure.py +39 -12
  617. scipy/stats/_distribution_infrastructure.py +920 -238
  618. scipy/stats/_entropy.py +9 -10
  619. scipy/{_lib → stats}/_finite_differences.py +1 -1
  620. scipy/stats/_hypotests.py +83 -50
  621. scipy/stats/_kde.py +53 -49
  622. scipy/stats/_ksstats.py +1 -1
  623. scipy/stats/_levy_stable/__init__.py +7 -15
  624. scipy/stats/_levy_stable/levyst.cp312-win_amd64.dll.a +0 -0
  625. scipy/stats/_levy_stable/levyst.cp312-win_amd64.pyd +0 -0
  626. scipy/stats/_morestats.py +118 -73
  627. scipy/stats/_mstats_basic.py +13 -17
  628. scipy/stats/_mstats_extras.py +8 -8
  629. scipy/stats/_multivariate.py +89 -113
  630. scipy/stats/_new_distributions.py +97 -20
  631. scipy/stats/_page_trend_test.py +12 -5
  632. scipy/stats/_probability_distribution.py +265 -43
  633. scipy/stats/_qmc.py +14 -9
  634. scipy/stats/_qmc_cy.cp312-win_amd64.dll.a +0 -0
  635. scipy/stats/_qmc_cy.cp312-win_amd64.pyd +0 -0
  636. scipy/stats/_qmvnt.py +16 -95
  637. scipy/stats/_qmvnt_cy.cp312-win_amd64.dll.a +0 -0
  638. scipy/stats/_qmvnt_cy.cp312-win_amd64.pyd +0 -0
  639. scipy/stats/_quantile.py +335 -0
  640. scipy/stats/_rcont/rcont.cp312-win_amd64.dll.a +0 -0
  641. scipy/stats/_rcont/rcont.cp312-win_amd64.pyd +0 -0
  642. scipy/stats/_resampling.py +5 -30
  643. scipy/stats/_sampling.py +1 -1
  644. scipy/stats/_sobol.cp312-win_amd64.dll.a +0 -0
  645. scipy/stats/_sobol.cp312-win_amd64.pyd +0 -0
  646. scipy/stats/_stats.cp312-win_amd64.dll.a +0 -0
  647. scipy/stats/_stats.cp312-win_amd64.pyd +0 -0
  648. scipy/stats/_stats_mstats_common.py +21 -2
  649. scipy/stats/_stats_py.py +551 -477
  650. scipy/stats/_stats_pythran.cp312-win_amd64.dll.a +0 -0
  651. scipy/stats/_stats_pythran.cp312-win_amd64.pyd +0 -0
  652. scipy/stats/_unuran/unuran_wrapper.cp312-win_amd64.dll.a +0 -0
  653. scipy/stats/_unuran/unuran_wrapper.cp312-win_amd64.pyd +0 -0
  654. scipy/stats/_unuran/unuran_wrapper.pyi +2 -1
  655. scipy/stats/_variation.py +6 -8
  656. scipy/stats/_wilcoxon.py +13 -7
  657. scipy/stats/tests/common_tests.py +6 -4
  658. scipy/stats/tests/test_axis_nan_policy.py +62 -24
  659. scipy/stats/tests/test_continued_fraction.py +173 -0
  660. scipy/stats/tests/test_continuous.py +379 -60
  661. scipy/stats/tests/test_continuous_basic.py +18 -12
  662. scipy/stats/tests/test_discrete_basic.py +14 -8
  663. scipy/stats/tests/test_discrete_distns.py +16 -16
  664. scipy/stats/tests/test_distributions.py +95 -75
  665. scipy/stats/tests/test_entropy.py +40 -48
  666. scipy/stats/tests/test_fit.py +4 -3
  667. scipy/stats/tests/test_hypotests.py +153 -24
  668. scipy/stats/tests/test_kdeoth.py +109 -41
  669. scipy/stats/tests/test_marray.py +289 -0
  670. scipy/stats/tests/test_morestats.py +81 -49
  671. scipy/stats/tests/test_mstats_basic.py +3 -3
  672. scipy/stats/tests/test_multivariate.py +434 -83
  673. scipy/stats/tests/test_qmc.py +13 -10
  674. scipy/stats/tests/test_quantile.py +199 -0
  675. scipy/stats/tests/test_rank.py +119 -112
  676. scipy/stats/tests/test_resampling.py +47 -56
  677. scipy/stats/tests/test_sampling.py +9 -4
  678. scipy/stats/tests/test_stats.py +799 -939
  679. scipy/stats/tests/test_variation.py +8 -6
  680. scipy/version.py +2 -2
  681. scipy-1.16.0.dist-info/DELVEWHEEL +2 -0
  682. {scipy-1.15.3.dist-info → scipy-1.16.0.dist-info}/LICENSE.txt +4 -4
  683. {scipy-1.15.3.dist-info → scipy-1.16.0.dist-info}/METADATA +11 -11
  684. {scipy-1.15.3.dist-info → scipy-1.16.0.dist-info}/RECORD +686 -694
  685. scipy/_lib/array_api_extra/_funcs.py +0 -484
  686. scipy/_lib/array_api_extra/_typing.py +0 -8
  687. scipy/interpolate/_bspl.cp312-win_amd64.dll.a +0 -0
  688. scipy/interpolate/_bspl.cp312-win_amd64.pyd +0 -0
  689. scipy/optimize/_cobyla.cp312-win_amd64.dll.a +0 -0
  690. scipy/optimize/_cobyla.cp312-win_amd64.pyd +0 -0
  691. scipy/optimize/_cython_nnls.cp312-win_amd64.dll.a +0 -0
  692. scipy/optimize/_cython_nnls.cp312-win_amd64.pyd +0 -0
  693. scipy/optimize/_slsqp.cp312-win_amd64.dll.a +0 -0
  694. scipy/optimize/_slsqp.cp312-win_amd64.pyd +0 -0
  695. scipy/spatial/qhull_src/COPYING.txt +0 -38
  696. scipy/special/libsf_error_state.dll +0 -0
  697. scipy/special/libsf_error_state.dll.a +0 -0
  698. scipy/special/tests/test_log_softmax.py +0 -109
  699. scipy/special/tests/test_xsf_cuda.py +0 -114
  700. scipy/special/xsf/binom.h +0 -89
  701. scipy/special/xsf/cdflib.h +0 -100
  702. scipy/special/xsf/cephes/airy.h +0 -307
  703. scipy/special/xsf/cephes/besselpoly.h +0 -51
  704. scipy/special/xsf/cephes/beta.h +0 -257
  705. scipy/special/xsf/cephes/cbrt.h +0 -131
  706. scipy/special/xsf/cephes/chbevl.h +0 -85
  707. scipy/special/xsf/cephes/chdtr.h +0 -193
  708. scipy/special/xsf/cephes/const.h +0 -87
  709. scipy/special/xsf/cephes/ellie.h +0 -293
  710. scipy/special/xsf/cephes/ellik.h +0 -251
  711. scipy/special/xsf/cephes/ellpe.h +0 -107
  712. scipy/special/xsf/cephes/ellpk.h +0 -117
  713. scipy/special/xsf/cephes/expn.h +0 -260
  714. scipy/special/xsf/cephes/gamma.h +0 -398
  715. scipy/special/xsf/cephes/hyp2f1.h +0 -596
  716. scipy/special/xsf/cephes/hyperg.h +0 -361
  717. scipy/special/xsf/cephes/i0.h +0 -149
  718. scipy/special/xsf/cephes/i1.h +0 -158
  719. scipy/special/xsf/cephes/igam.h +0 -421
  720. scipy/special/xsf/cephes/igam_asymp_coeff.h +0 -195
  721. scipy/special/xsf/cephes/igami.h +0 -313
  722. scipy/special/xsf/cephes/j0.h +0 -225
  723. scipy/special/xsf/cephes/j1.h +0 -198
  724. scipy/special/xsf/cephes/jv.h +0 -715
  725. scipy/special/xsf/cephes/k0.h +0 -164
  726. scipy/special/xsf/cephes/k1.h +0 -163
  727. scipy/special/xsf/cephes/kn.h +0 -243
  728. scipy/special/xsf/cephes/lanczos.h +0 -112
  729. scipy/special/xsf/cephes/ndtr.h +0 -275
  730. scipy/special/xsf/cephes/poch.h +0 -85
  731. scipy/special/xsf/cephes/polevl.h +0 -167
  732. scipy/special/xsf/cephes/psi.h +0 -194
  733. scipy/special/xsf/cephes/rgamma.h +0 -111
  734. scipy/special/xsf/cephes/scipy_iv.h +0 -811
  735. scipy/special/xsf/cephes/shichi.h +0 -248
  736. scipy/special/xsf/cephes/sici.h +0 -224
  737. scipy/special/xsf/cephes/sindg.h +0 -221
  738. scipy/special/xsf/cephes/tandg.h +0 -139
  739. scipy/special/xsf/cephes/trig.h +0 -58
  740. scipy/special/xsf/cephes/unity.h +0 -186
  741. scipy/special/xsf/cephes/zeta.h +0 -172
  742. scipy/special/xsf/config.h +0 -304
  743. scipy/special/xsf/digamma.h +0 -205
  744. scipy/special/xsf/error.h +0 -57
  745. scipy/special/xsf/evalpoly.h +0 -47
  746. scipy/special/xsf/expint.h +0 -266
  747. scipy/special/xsf/hyp2f1.h +0 -694
  748. scipy/special/xsf/iv_ratio.h +0 -173
  749. scipy/special/xsf/lambertw.h +0 -150
  750. scipy/special/xsf/loggamma.h +0 -163
  751. scipy/special/xsf/sici.h +0 -200
  752. scipy/special/xsf/tools.h +0 -427
  753. scipy/special/xsf/trig.h +0 -164
  754. scipy/special/xsf/wright_bessel.h +0 -843
  755. scipy/special/xsf/zlog1.h +0 -35
  756. scipy/stats/_mvn.cp312-win_amd64.dll.a +0 -0
  757. scipy/stats/_mvn.cp312-win_amd64.pyd +0 -0
  758. scipy-1.15.3.dist-info/DELVEWHEEL +0 -2
  759. /scipy-1.15.3-cp312-cp312-win_amd64.whl → /scipy-1.16.0-cp312-cp312-win_amd64.whl +0 -0
  760. {scipy-1.15.3.dist-info → scipy-1.16.0.dist-info}/WHEEL +0 -0
@@ -5,13 +5,11 @@ Interpolation (:mod:`scipy.interpolate`)
5
5
 
6
6
  .. currentmodule:: scipy.interpolate
7
7
 
8
- Sub-package for objects used in interpolation.
8
+ Sub-package for functions and objects used in interpolation.
9
+
10
+ See the :ref:`user guide <tutorial-interpolate>` for recommendations on choosing a
11
+ routine, and other usage details.
9
12
 
10
- As listed below, this sub-package contains spline functions and classes,
11
- 1-D and multidimensional (univariate and multivariate)
12
- interpolation classes, Lagrange and Taylor polynomial interpolators, and
13
- wrappers for `FITPACK <http://www.netlib.org/dierckx/>`__
14
- and DFITPACK functions.
15
13
 
16
14
  Univariate interpolation
17
15
  ========================
@@ -19,51 +17,53 @@ Univariate interpolation
19
17
  .. autosummary::
20
18
  :toctree: generated/
21
19
 
22
- interp1d
20
+ make_interp_spline
21
+ CubicSpline
22
+ PchipInterpolator
23
+ Akima1DInterpolator
24
+ FloaterHormannInterpolator
23
25
  BarycentricInterpolator
24
26
  KroghInterpolator
25
- barycentric_interpolate
26
- krogh_interpolate
27
- pchip_interpolate
28
27
  CubicHermiteSpline
29
- PchipInterpolator
30
- Akima1DInterpolator
31
- CubicSpline
28
+
29
+ **Low-level data structures for univariate interpolation:**
30
+
31
+ .. autosummary::
32
+ :toctree: generated/
33
+
32
34
  PPoly
33
35
  BPoly
34
- FloaterHormannInterpolator
36
+ BSpline
35
37
 
36
38
 
37
39
  Multivariate interpolation
38
40
  ==========================
39
41
 
40
- Unstructured data:
42
+ **Unstructured data**
41
43
 
42
44
  .. autosummary::
43
45
  :toctree: generated/
44
46
 
45
- griddata
46
47
  LinearNDInterpolator
47
48
  NearestNDInterpolator
48
49
  CloughTocher2DInterpolator
49
50
  RBFInterpolator
50
- Rbf
51
- interp2d
52
51
 
53
- For data on a grid:
52
+ **For data on a grid:**
54
53
 
55
54
  .. autosummary::
56
55
  :toctree: generated/
57
56
 
58
- interpn
59
57
  RegularGridInterpolator
60
- RectBivariateSpline
61
58
 
62
59
  .. seealso::
63
60
 
64
- `scipy.ndimage.map_coordinates`
61
+ `scipy.ndimage.map_coordinates`,
62
+ :ref:`An example wrapper for map_coordinates <tutorial-interpolate_cartesian-grids>`
63
+
64
+
65
+ **Low-level data structures for tensor product polynomials and splines:**
65
66
 
66
- Tensor product polynomials:
67
67
 
68
68
  .. autosummary::
69
69
  :toctree: generated/
@@ -71,21 +71,44 @@ Tensor product polynomials:
71
71
  NdPPoly
72
72
  NdBSpline
73
73
 
74
- 1-D Splines
75
- ===========
74
+
75
+ 1-D spline smoothing and approximation
76
+ ======================================
76
77
 
77
78
  .. autosummary::
78
79
  :toctree: generated/
79
80
 
80
- BSpline
81
- make_interp_spline
82
81
  make_lsq_spline
83
82
  make_smoothing_spline
84
- generate_knots
85
83
  make_splrep
86
84
  make_splprep
85
+ generate_knots
86
+
87
+ Rational Approximation
88
+ ======================
89
+
90
+ .. autosummary::
91
+ :toctree: generated/
92
+
93
+ AAA
94
+
95
+
96
+ Interfaces to FITPACK routines for 1D and 2D spline fitting
97
+ ===========================================================
98
+
99
+ This section lists wrappers for `FITPACK <http://www.netlib.org/dierckx/>`__
100
+ functionality for 1D and 2D smoothing splines. In most cases, users are better off
101
+ using higher-level routines listed in previous sections.
102
+
103
+
104
+ 1D FITPACK splines
105
+ ------------------
106
+
107
+ This package provides two sets of functionally equivalent wrappers: object-oriented and
108
+ functional.
109
+
110
+ **Functional FITPACK interface:**
87
111
 
88
- Functional interface to FITPACK routines:
89
112
 
90
113
  .. autosummary::
91
114
  :toctree: generated/
@@ -100,7 +123,7 @@ Functional interface to FITPACK routines:
100
123
  splantider
101
124
  insert
102
125
 
103
- Object-oriented FITPACK interface:
126
+ **Object-oriented FITPACK interface:**
104
127
 
105
128
  .. autosummary::
106
129
  :toctree: generated/
@@ -110,11 +133,10 @@ Object-oriented FITPACK interface:
110
133
  LSQUnivariateSpline
111
134
 
112
135
 
136
+ 2D FITPACK splines
137
+ ------------------
113
138
 
114
- 2-D Splines
115
- ===========
116
-
117
- For data on a grid:
139
+ **For data on a grid:**
118
140
 
119
141
  .. autosummary::
120
142
  :toctree: generated/
@@ -122,7 +144,7 @@ For data on a grid:
122
144
  RectBivariateSpline
123
145
  RectSphereBivariateSpline
124
146
 
125
- For unstructured data:
147
+ **For unstructured data (OOP interface):**
126
148
 
127
149
  .. autosummary::
128
150
  :toctree: generated/
@@ -133,7 +155,7 @@ For unstructured data:
133
155
  LSQBivariateSpline
134
156
  LSQSphereBivariateSpline
135
157
 
136
- Low-level interface to FITPACK functions:
158
+ **For unstructured data (functional interface):**
137
159
 
138
160
  .. autosummary::
139
161
  :toctree: generated/
@@ -141,14 +163,6 @@ Low-level interface to FITPACK functions:
141
163
  bisplrep
142
164
  bisplev
143
165
 
144
- Rational Approximation
145
- ======================
146
-
147
- .. autosummary::
148
- :toctree: generated/
149
-
150
- pade
151
- AAA
152
166
 
153
167
  Additional tools
154
168
  ================
@@ -158,28 +172,26 @@ Additional tools
158
172
 
159
173
  lagrange
160
174
  approximate_taylor_polynomial
175
+ pade
176
+
177
+ interpn
178
+ griddata
179
+ barycentric_interpolate
180
+ krogh_interpolate
181
+ pchip_interpolate
182
+ Rbf
183
+ interp1d
184
+ interp2d
161
185
 
162
186
  .. seealso::
163
187
 
164
188
  `scipy.ndimage.map_coordinates`,
165
189
  `scipy.ndimage.spline_filter`,
166
- `scipy.signal.resample`,
167
- `scipy.signal.bspline`,
168
- `scipy.signal.gauss_spline`,
169
- `scipy.signal.qspline1d`,
170
- `scipy.signal.cspline1d`,
171
- `scipy.signal.qspline1d_eval`,
172
- `scipy.signal.cspline1d_eval`,
173
- `scipy.signal.qspline2d`,
174
- `scipy.signal.cspline2d`.
175
-
176
- ``pchip`` is an alias of `PchipInterpolator` for backward compatibility
177
- (should not be used in new code).
178
- """
190
+
191
+ """ # noqa: E501
179
192
  from ._interpolate import *
180
193
  from ._fitpack_py import *
181
194
 
182
- # New interface to fitpack library:
183
195
  from ._fitpack2 import *
184
196
 
185
197
  from ._rbf import Rbf
@@ -34,7 +34,7 @@ __all__ = ["AAA", "FloaterHormannInterpolator"]
34
34
 
35
35
 
36
36
  class _BarycentricRational:
37
- """Base class for Barycentric representation of a rational function."""
37
+ """Base class for barycentric representation of a rational function."""
38
38
  def __init__(self, x, y, **kwargs):
39
39
  # input validation
40
40
  z = np.asarray(x)
@@ -399,7 +399,7 @@ class AAA(_BarycentricRational):
399
399
  >>> with warnings.catch_warnings():
400
400
  ... warnings.simplefilter('ignore', RuntimeWarning)
401
401
  ... r.clean_up()
402
- 4
402
+ 4 # may vary
403
403
  >>> mask = np.abs(r.residues()) < 1e-13
404
404
  >>> axs[1].plot(r.poles().real[~mask], r.poles().imag[~mask], '.')
405
405
  >>> axs[1].plot(r.poles().real[mask], r.poles().imag[mask], 'r.')
@@ -597,11 +597,10 @@ class AAA(_BarycentricRational):
597
597
 
598
598
 
599
599
  class FloaterHormannInterpolator(_BarycentricRational):
600
- r"""
601
- Floater-Hormann barycentric rational interpolation.
600
+ r"""Floater-Hormann barycentric rational interpolator (C∞ smooth on real axis).
602
601
 
603
602
  As described in [1]_, the method of Floater and Hormann computes weights for a
604
- Barycentric rational interpolant with no poles on the real axis.
603
+ barycentric rational interpolant with no poles on the real axis.
605
604
 
606
605
  Parameters
607
606
  ----------
@@ -610,11 +609,11 @@ class FloaterHormannInterpolator(_BarycentricRational):
610
609
  complex but must be finite.
611
610
  y : array_like, shape (n, ...)
612
611
  Array containing values of the dependent variable. Infinite and NaN values
613
- of `values` and corresponding values of `x` will be discarded.
614
- d : int, optional
615
- Blends ``n - d`` degree `d` polynomials together. For ``d = n - 1`` it is
616
- equivalent to polynomial interpolation. Must satisfy ``0 <= d < n``,
617
- defaults to 3.
612
+ of `y` and corresponding values of `x` will be discarded.
613
+ d : int, default: 3
614
+ Integer satisfying ``0 <= d < n``. Floater-Hormann interpolation blends
615
+ ``n - d`` polynomials of degree `d` together; for ``d = n - 1``, this is
616
+ equivalent to polynomial interpolation.
618
617
 
619
618
  Attributes
620
619
  ----------
@@ -639,8 +638,8 @@ class FloaterHormannInterpolator(_BarycentricRational):
639
638
  r(x) = \frac{\sum_{i=0}^{n-d} \lambda_i(x) p_i(x)}
640
639
  {\sum_{i=0}^{n-d} \lambda_i(x)},
641
640
 
642
- where :math:`p_i(x)` is an interpolating polynomials of at most degree `d` through
643
- the points :math:`(x_i,y_i),\dots,(x_{i+d},y_{i+d}), and :math:`\lambda_i(z)` are
641
+ where :math:`p_i(x)` is an interpolating polynomial of at most degree `d` through
642
+ the points :math:`(x_i,y_i),\dots,(x_{i+d},y_{i+d})`, and :math:`\lambda_i(z)` are
644
643
  blending functions defined by
645
644
 
646
645
  .. math::
@@ -649,8 +648,8 @@ class FloaterHormannInterpolator(_BarycentricRational):
649
648
 
650
649
  When ``d = n - 1`` this reduces to polynomial interpolation.
651
650
 
652
- Due to its stability following barycentric representation of the above equation
653
- is used instead for computation
651
+ Due to its stability, the following barycentric representation of the above equation
652
+ is used for computation
654
653
 
655
654
  .. math::
656
655
 
@@ -680,16 +679,17 @@ class FloaterHormannInterpolator(_BarycentricRational):
680
679
  >>> import numpy as np
681
680
  >>> from scipy.interpolate import (FloaterHormannInterpolator,
682
681
  ... BarycentricInterpolator)
683
- >>> def f(z):
684
- ... return 1/(1 + z**2)
685
- >>> z = np.linspace(-5, 5, num=15)
686
- >>> r = FloaterHormannInterpolator(z, f(z))
687
- >>> p = BarycentricInterpolator(z, f(z))
688
- >>> zz = np.linspace(-5, 5, num=1000)
682
+ >>> def f(x):
683
+ ... return 1/(1 + x**2)
684
+ >>> x = np.linspace(-5, 5, num=15)
685
+ >>> r = FloaterHormannInterpolator(x, f(x))
686
+ >>> p = BarycentricInterpolator(x, f(x))
687
+ >>> xx = np.linspace(-5, 5, num=1000)
689
688
  >>> import matplotlib.pyplot as plt
690
689
  >>> fig, ax = plt.subplots()
691
- >>> ax.plot(zz, r(zz), label="Floater=Hormann")
692
- >>> ax.plot(zz, p(zz), label="Polynomial")
690
+ >>> ax.plot(xx, f(xx), label="f(x)")
691
+ >>> ax.plot(xx, r(xx), "--", label="Floater-Hormann")
692
+ >>> ax.plot(xx, p(xx), "--", label="Polynomial")
693
693
  >>> ax.legend()
694
694
  >>> plt.show()
695
695
  """