scipy 1.15.3__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 (760) hide show
  1. scipy/__config__.py +8 -8
  2. scipy/__init__.py +3 -6
  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 +486 -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 +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.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/_lsoda.cp311-win_amd64.dll.a +0 -0
  144. scipy/integrate/_lsoda.cp311-win_amd64.pyd +0 -0
  145. scipy/integrate/_ode.py +9 -2
  146. scipy/integrate/_odepack.cp311-win_amd64.dll.a +0 -0
  147. scipy/integrate/_odepack.cp311-win_amd64.pyd +0 -0
  148. scipy/integrate/_quad_vec.py +21 -29
  149. scipy/integrate/_quadpack.cp311-win_amd64.dll.a +0 -0
  150. scipy/integrate/_quadpack.cp311-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.cp311-win_amd64.dll.a +0 -0
  156. scipy/integrate/_test_multivariate.cp311-win_amd64.pyd +0 -0
  157. scipy/integrate/_test_odeint_banded.cp311-win_amd64.dll.a +0 -0
  158. scipy/integrate/_test_odeint_banded.cp311-win_amd64.pyd +0 -0
  159. scipy/integrate/_vode.cp311-win_amd64.dll.a +0 -0
  160. scipy/integrate/_vode.cp311-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.cp311-win_amd64.dll.a +0 -0
  171. scipy/interpolate/_dfitpack.cp311-win_amd64.pyd +0 -0
  172. scipy/interpolate/_dierckx.cp311-win_amd64.dll.a +0 -0
  173. scipy/interpolate/_dierckx.cp311-win_amd64.pyd +0 -0
  174. scipy/interpolate/_fitpack.cp311-win_amd64.dll.a +0 -0
  175. scipy/interpolate/_fitpack.cp311-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.cp311-win_amd64.dll.a +0 -0
  180. scipy/interpolate/_interpnd.cp311-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.cp311-win_amd64.dll.a +0 -0
  186. scipy/interpolate/_ppoly.cp311-win_amd64.pyd +0 -0
  187. scipy/interpolate/_rbf.py +2 -2
  188. scipy/interpolate/_rbfinterp.py +1 -1
  189. scipy/interpolate/_rbfinterp_pythran.cp311-win_amd64.dll.a +0 -0
  190. scipy/interpolate/_rbfinterp_pythran.cp311-win_amd64.pyd +0 -0
  191. scipy/interpolate/_rgi.py +31 -26
  192. scipy/interpolate/_rgi_cython.cp311-win_amd64.dll.a +0 -0
  193. scipy/interpolate/_rgi_cython.cp311-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.cp311-win_amd64.dll.a +0 -0
  204. scipy/io/_fast_matrix_market/_fmm_core.cp311-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.cp311-win_amd64.dll.a +0 -0
  210. scipy/io/_test_fortran.cp311-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.cp311-win_amd64.dll.a +0 -0
  216. scipy/io/matlab/_mio5_utils.cp311-win_amd64.pyd +0 -0
  217. scipy/io/matlab/_mio_utils.cp311-win_amd64.dll.a +0 -0
  218. scipy/io/matlab/_mio_utils.cp311-win_amd64.pyd +0 -0
  219. scipy/io/matlab/_miobase.py +4 -1
  220. scipy/io/matlab/_streams.cp311-win_amd64.dll.a +0 -0
  221. scipy/io/matlab/_streams.cp311-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.cp311-win_amd64.dll.a +0 -0
  229. scipy/linalg/_cythonized_array_utils.cp311-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.cp311-win_amd64.dll.a +0 -0
  234. scipy/linalg/_decomp_interpolative.cp311-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.cp311-win_amd64.dll.a +0 -0
  238. scipy/linalg/_decomp_lu_cython.cp311-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.cp311-win_amd64.dll.a +0 -0
  245. scipy/linalg/_decomp_update.cp311-win_amd64.pyd +0 -0
  246. scipy/linalg/_expm_frechet.py +4 -0
  247. scipy/linalg/_fblas.cp311-win_amd64.dll.a +0 -0
  248. scipy/linalg/_fblas.cp311-win_amd64.pyd +0 -0
  249. scipy/linalg/_flapack.cp311-win_amd64.dll.a +0 -0
  250. scipy/linalg/_flapack.cp311-win_amd64.pyd +0 -0
  251. scipy/linalg/_linalg_pythran.cp311-win_amd64.dll.a +0 -0
  252. scipy/linalg/_linalg_pythran.cp311-win_amd64.pyd +0 -0
  253. scipy/linalg/_matfuncs.py +187 -4
  254. scipy/linalg/_matfuncs_expm.cp311-win_amd64.dll.a +0 -0
  255. scipy/linalg/_matfuncs_expm.cp311-win_amd64.pyd +0 -0
  256. scipy/linalg/_matfuncs_schur_sqrtm.cp311-win_amd64.dll.a +0 -0
  257. scipy/linalg/_matfuncs_schur_sqrtm.cp311-win_amd64.pyd +0 -0
  258. scipy/linalg/_matfuncs_sqrtm.py +1 -99
  259. scipy/linalg/_matfuncs_sqrtm_triu.cp311-win_amd64.dll.a +0 -0
  260. scipy/linalg/_matfuncs_sqrtm_triu.cp311-win_amd64.pyd +0 -0
  261. scipy/linalg/_procrustes.py +2 -0
  262. scipy/linalg/_sketches.py +17 -6
  263. scipy/linalg/_solve_toeplitz.cp311-win_amd64.dll.a +0 -0
  264. scipy/linalg/_solve_toeplitz.cp311-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.cp311-win_amd64.dll.a +0 -0
  269. scipy/linalg/cython_blas.cp311-win_amd64.pyd +0 -0
  270. scipy/linalg/cython_lapack.cp311-win_amd64.dll.a +0 -0
  271. scipy/linalg/cython_lapack.cp311-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.cp311-win_amd64.dll.a +0 -0
  287. scipy/ndimage/_ctest.cp311-win_amd64.pyd +0 -0
  288. scipy/ndimage/_cytest.cp311-win_amd64.dll.a +0 -0
  289. scipy/ndimage/_cytest.cp311-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.cp311-win_amd64.dll.a +0 -0
  296. scipy/ndimage/_nd_image.cp311-win_amd64.pyd +0 -0
  297. scipy/ndimage/_ni_docstrings.py +5 -1
  298. scipy/ndimage/_ni_label.cp311-win_amd64.dll.a +0 -0
  299. scipy/ndimage/_ni_label.cp311-win_amd64.pyd +0 -0
  300. scipy/ndimage/_ni_support.py +1 -5
  301. scipy/ndimage/_rank_filter_1d.cp311-win_amd64.dll.a +0 -0
  302. scipy/ndimage/_rank_filter_1d.cp311-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.cp311-win_amd64.dll.a +0 -0
  311. scipy/odr/__odrpack.cp311-win_amd64.pyd +0 -0
  312. scipy/optimize/_basinhopping.py +13 -7
  313. scipy/optimize/_bglu_dense.cp311-win_amd64.dll.a +0 -0
  314. scipy/optimize/_bglu_dense.cp311-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.cp311-win_amd64.dll.a +0 -0
  322. scipy/optimize/_direct.cp311-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.cp311-win_amd64.dll.a +0 -0
  326. scipy/optimize/_group_columns.cp311-win_amd64.pyd +0 -0
  327. scipy/optimize/_highspy/_core.cp311-win_amd64.dll.a +0 -0
  328. scipy/optimize/_highspy/_core.cp311-win_amd64.pyd +0 -0
  329. scipy/optimize/_highspy/_highs_options.cp311-win_amd64.dll.a +0 -0
  330. scipy/optimize/_highspy/_highs_options.cp311-win_amd64.pyd +0 -0
  331. scipy/optimize/_lbfgsb.cp311-win_amd64.dll.a +0 -0
  332. scipy/optimize/_lbfgsb.cp311-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.cp311-win_amd64.dll.a +0 -0
  339. scipy/optimize/_lsap.cp311-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.cp311-win_amd64.dll.a +0 -0
  343. scipy/optimize/_lsq/givens_elimination.cp311-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.cp311-win_amd64.dll.a +0 -0
  350. scipy/optimize/_minpack.cp311-win_amd64.pyd +0 -0
  351. scipy/optimize/_minpack_py.py +21 -14
  352. scipy/optimize/_moduleTNC.cp311-win_amd64.dll.a +0 -0
  353. scipy/optimize/_moduleTNC.cp311-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.cp311-win_amd64.dll.a +0 -0
  359. scipy/optimize/_pava_pybind.cp311-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.cp311-win_amd64.dll.a +0 -0
  366. scipy/optimize/_slsqplib.cp311-win_amd64.pyd +0 -0
  367. scipy/optimize/_spectral.py +1 -1
  368. scipy/optimize/_tnc.py +8 -1
  369. scipy/optimize/_trlib/_trlib.cp311-win_amd64.dll.a +0 -0
  370. scipy/optimize/_trlib/_trlib.cp311-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.cp311-win_amd64.dll.a +0 -0
  382. scipy/optimize/_zeros.cp311-win_amd64.pyd +0 -0
  383. scipy/optimize/_zeros_py.py +97 -17
  384. scipy/optimize/cython_optimize/_zeros.cp311-win_amd64.dll.a +0 -0
  385. scipy/optimize/cython_optimize/_zeros.cp311-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.cp311-win_amd64.dll.a +0 -0
  417. scipy/signal/_max_len_seq_inner.cp311-win_amd64.pyd +0 -0
  418. scipy/signal/_peak_finding_utils.cp311-win_amd64.dll.a +0 -0
  419. scipy/signal/_peak_finding_utils.cp311-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.cp311-win_amd64.dll.a +0 -0
  425. scipy/signal/_sigtools.cp311-win_amd64.pyd +0 -0
  426. scipy/signal/_sosfilt.cp311-win_amd64.dll.a +0 -0
  427. scipy/signal/_sosfilt.cp311-win_amd64.pyd +0 -0
  428. scipy/signal/_spectral_py.py +230 -50
  429. scipy/signal/_spline.cp311-win_amd64.dll.a +0 -0
  430. scipy/signal/_spline.cp311-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.cp311-win_amd64.dll.a +0 -0
  435. scipy/signal/_upfirdn_apply.cp311-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.cp311-win_amd64.dll.a +0 -0
  462. scipy/sparse/_csparsetools.cp311-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.cp311-win_amd64.dll.a +0 -0
  470. scipy/sparse/_sparsetools.cp311-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.cp311-win_amd64.dll.a +0 -0
  479. scipy/sparse/csgraph/_flow.cp311-win_amd64.pyd +0 -0
  480. scipy/sparse/csgraph/_matching.cp311-win_amd64.dll.a +0 -0
  481. scipy/sparse/csgraph/_matching.cp311-win_amd64.pyd +0 -0
  482. scipy/sparse/csgraph/_min_spanning_tree.cp311-win_amd64.dll.a +0 -0
  483. scipy/sparse/csgraph/_min_spanning_tree.cp311-win_amd64.pyd +0 -0
  484. scipy/sparse/csgraph/_reordering.cp311-win_amd64.dll.a +0 -0
  485. scipy/sparse/csgraph/_reordering.cp311-win_amd64.pyd +0 -0
  486. scipy/sparse/csgraph/_shortest_path.cp311-win_amd64.dll.a +0 -0
  487. scipy/sparse/csgraph/_shortest_path.cp311-win_amd64.pyd +0 -0
  488. scipy/sparse/csgraph/_tools.cp311-win_amd64.dll.a +0 -0
  489. scipy/sparse/csgraph/_tools.cp311-win_amd64.pyd +0 -0
  490. scipy/sparse/csgraph/_traversal.cp311-win_amd64.dll.a +0 -0
  491. scipy/sparse/csgraph/_traversal.cp311-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.cp311-win_amd64.dll.a +0 -0
  500. scipy/sparse/linalg/_dsolve/_superlu.cp311-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.cp311-win_amd64.dll.a +0 -0
  504. scipy/sparse/linalg/_eigen/arpack/_arpack.cp311-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.cp311-win_amd64.dll.a +0 -0
  517. scipy/sparse/linalg/_propack/_cpropack.cp311-win_amd64.pyd +0 -0
  518. scipy/sparse/linalg/_propack/_dpropack.cp311-win_amd64.dll.a +0 -0
  519. scipy/sparse/linalg/_propack/_dpropack.cp311-win_amd64.pyd +0 -0
  520. scipy/sparse/linalg/_propack/_spropack.cp311-win_amd64.dll.a +0 -0
  521. scipy/sparse/linalg/_propack/_spropack.cp311-win_amd64.pyd +0 -0
  522. scipy/sparse/linalg/_propack/_zpropack.cp311-win_amd64.dll.a +0 -0
  523. scipy/sparse/linalg/_propack/_zpropack.cp311-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.cp311-win_amd64.dll.a +0 -0
  534. scipy/spatial/_ckdtree.cp311-win_amd64.pyd +0 -0
  535. scipy/spatial/_distance_pybind.cp311-win_amd64.dll.a +0 -0
  536. scipy/spatial/_distance_pybind.cp311-win_amd64.pyd +0 -0
  537. scipy/spatial/_distance_wrap.cp311-win_amd64.dll.a +0 -0
  538. scipy/spatial/_distance_wrap.cp311-win_amd64.pyd +0 -0
  539. scipy/spatial/_hausdorff.cp311-win_amd64.dll.a +0 -0
  540. scipy/spatial/_hausdorff.cp311-win_amd64.pyd +0 -0
  541. scipy/spatial/_qhull.cp311-win_amd64.dll.a +0 -0
  542. scipy/spatial/_qhull.cp311-win_amd64.pyd +0 -0
  543. scipy/spatial/_voronoi.cp311-win_amd64.dll.a +0 -0
  544. scipy/spatial/_voronoi.cp311-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.cp311-win_amd64.dll.a +0 -0
  551. scipy/spatial/transform/_rigid_transform.cp311-win_amd64.pyd +0 -0
  552. scipy/spatial/transform/_rotation.cp311-win_amd64.dll.a +0 -0
  553. scipy/spatial/transform/_rotation.cp311-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.cp311-win_amd64.dll.a +0 -0
  562. scipy/special/_comb.cp311-win_amd64.pyd +0 -0
  563. scipy/special/_ellip_harm_2.cp311-win_amd64.dll.a +0 -0
  564. scipy/special/_ellip_harm_2.cp311-win_amd64.pyd +0 -0
  565. scipy/special/_gufuncs.cp311-win_amd64.dll.a +0 -0
  566. scipy/special/_gufuncs.cp311-win_amd64.pyd +0 -0
  567. scipy/special/_logsumexp.py +67 -58
  568. scipy/special/_orthogonal.pyi +1 -1
  569. scipy/special/_specfun.cp311-win_amd64.dll.a +0 -0
  570. scipy/special/_specfun.cp311-win_amd64.pyd +0 -0
  571. scipy/special/_special_ufuncs.cp311-win_amd64.dll.a +0 -0
  572. scipy/special/_special_ufuncs.cp311-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.cp311-win_amd64.dll.a +0 -0
  576. scipy/special/_test_internal.cp311-win_amd64.pyd +0 -0
  577. scipy/special/_testutils.py +4 -4
  578. scipy/special/_ufuncs.cp311-win_amd64.dll.a +0 -0
  579. scipy/special/_ufuncs.cp311-win_amd64.pyd +0 -0
  580. scipy/special/_ufuncs.pyi +1 -0
  581. scipy/special/_ufuncs.pyx +215 -1400
  582. scipy/special/_ufuncs_cxx.cp311-win_amd64.dll.a +0 -0
  583. scipy/special/_ufuncs_cxx.cp311-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.cp311-win_amd64.dll.a +0 -0
  589. scipy/special/cython_special.cp311-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.cp311-win_amd64.dll.a +0 -0
  607. scipy/stats/_ansari_swilk_statistics.cp311-win_amd64.pyd +0 -0
  608. scipy/stats/_axis_nan_policy.py +5 -12
  609. scipy/stats/_biasedurn.cp311-win_amd64.dll.a +0 -0
  610. scipy/stats/_biasedurn.cp311-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.cp311-win_amd64.dll.a +0 -0
  625. scipy/stats/_levy_stable/levyst.cp311-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.cp311-win_amd64.dll.a +0 -0
  635. scipy/stats/_qmc_cy.cp311-win_amd64.pyd +0 -0
  636. scipy/stats/_qmvnt.py +16 -95
  637. scipy/stats/_qmvnt_cy.cp311-win_amd64.dll.a +0 -0
  638. scipy/stats/_qmvnt_cy.cp311-win_amd64.pyd +0 -0
  639. scipy/stats/_quantile.py +335 -0
  640. scipy/stats/_rcont/rcont.cp311-win_amd64.dll.a +0 -0
  641. scipy/stats/_rcont/rcont.cp311-win_amd64.pyd +0 -0
  642. scipy/stats/_resampling.py +5 -30
  643. scipy/stats/_sampling.py +1 -1
  644. scipy/stats/_sobol.cp311-win_amd64.dll.a +0 -0
  645. scipy/stats/_sobol.cp311-win_amd64.pyd +0 -0
  646. scipy/stats/_stats.cp311-win_amd64.dll.a +0 -0
  647. scipy/stats/_stats.cp311-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.cp311-win_amd64.dll.a +0 -0
  651. scipy/stats/_stats_pythran.cp311-win_amd64.pyd +0 -0
  652. scipy/stats/_unuran/unuran_wrapper.cp311-win_amd64.dll.a +0 -0
  653. scipy/stats/_unuran/unuran_wrapper.cp311-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.cp311-win_amd64.dll.a +0 -0
  688. scipy/interpolate/_bspl.cp311-win_amd64.pyd +0 -0
  689. scipy/optimize/_cobyla.cp311-win_amd64.dll.a +0 -0
  690. scipy/optimize/_cobyla.cp311-win_amd64.pyd +0 -0
  691. scipy/optimize/_cython_nnls.cp311-win_amd64.dll.a +0 -0
  692. scipy/optimize/_cython_nnls.cp311-win_amd64.pyd +0 -0
  693. scipy/optimize/_slsqp.cp311-win_amd64.dll.a +0 -0
  694. scipy/optimize/_slsqp.cp311-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.cp311-win_amd64.dll.a +0 -0
  757. scipy/stats/_mvn.cp311-win_amd64.pyd +0 -0
  758. scipy-1.15.3.dist-info/DELVEWHEEL +0 -2
  759. /scipy-1.15.3-cp311-cp311-win_amd64.whl → /scipy-1.16.0-cp311-cp311-win_amd64.whl +0 -0
  760. {scipy-1.15.3.dist-info → scipy-1.16.0.dist-info}/WHEEL +0 -0
scipy/linalg/blas.py CHANGED
@@ -45,15 +45,19 @@ BLAS Level 1 functions
45
45
  .. autosummary::
46
46
  :toctree: generated/
47
47
 
48
- caxpy
49
- ccopy
50
- cdotc
51
- cdotu
52
- crotg
53
- cscal
54
- csrot
55
- csscal
56
- cswap
48
+ sasum
49
+ saxpy
50
+ scasum
51
+ scnrm2
52
+ scopy
53
+ sdot
54
+ snrm2
55
+ srot
56
+ srotg
57
+ srotm
58
+ srotmg
59
+ sscal
60
+ sswap
57
61
  dasum
58
62
  daxpy
59
63
  dcopy
@@ -71,19 +75,15 @@ BLAS Level 1 functions
71
75
  idamax
72
76
  isamax
73
77
  izamax
74
- sasum
75
- saxpy
76
- scasum
77
- scnrm2
78
- scopy
79
- sdot
80
- snrm2
81
- srot
82
- srotg
83
- srotm
84
- srotmg
85
- sscal
86
- sswap
78
+ caxpy
79
+ ccopy
80
+ cdotc
81
+ cdotu
82
+ crotg
83
+ cscal
84
+ csrot
85
+ csscal
86
+ cswap
87
87
  zaxpy
88
88
  zcopy
89
89
  zdotc
@@ -104,12 +104,15 @@ BLAS Level 2 functions
104
104
  sgemv
105
105
  sger
106
106
  ssbmv
107
+ sspmv
107
108
  sspr
108
109
  sspr2
109
110
  ssymv
110
111
  ssyr
111
112
  ssyr2
112
113
  stbmv
114
+ stbsv
115
+ stpmv
113
116
  stpsv
114
117
  strmv
115
118
  strsv
@@ -117,12 +120,15 @@ BLAS Level 2 functions
117
120
  dgemv
118
121
  dger
119
122
  dsbmv
123
+ dspmv
120
124
  dspr
121
125
  dspr2
122
126
  dsymv
123
127
  dsyr
124
128
  dsyr2
125
129
  dtbmv
130
+ dtbsv
131
+ dtpmv
126
132
  dtpsv
127
133
  dtrmv
128
134
  dtrsv
@@ -137,13 +143,15 @@ BLAS Level 2 functions
137
143
  chpmv
138
144
  chpr
139
145
  chpr2
146
+ cspmv
147
+ cspr
148
+ csyr
140
149
  ctbmv
141
150
  ctbsv
142
151
  ctpmv
143
152
  ctpsv
144
153
  ctrmv
145
154
  ctrsv
146
- csyr
147
155
  zgbmv
148
156
  zgemv
149
157
  zgerc
@@ -155,12 +163,15 @@ BLAS Level 2 functions
155
163
  zhpmv
156
164
  zhpr
157
165
  zhpr2
166
+ zspmv
167
+ zspr
168
+ zsyr
158
169
  ztbmv
159
170
  ztbsv
160
171
  ztpmv
172
+ ztpsv
161
173
  ztrmv
162
174
  ztrsv
163
- zsyr
164
175
 
165
176
  BLAS Level 3 functions
166
177
  ----------------------
scipy/linalg/lapack.py CHANGED
@@ -44,6 +44,11 @@ All functions
44
44
  .. autosummary::
45
45
  :toctree: generated/
46
46
 
47
+ sgbcon
48
+ dgbcon
49
+ cgbcon
50
+ zgbcon
51
+
47
52
  sgbsv
48
53
  dgbsv
49
54
  cgbsv
@@ -345,6 +350,9 @@ All functions
345
350
  chetrf_lwork
346
351
  zhetrf_lwork
347
352
 
353
+ chetri
354
+ zhetri
355
+
348
356
  chetrs
349
357
  zhetrs
350
358
 
@@ -354,6 +362,11 @@ All functions
354
362
  slamch
355
363
  dlamch
356
364
 
365
+ slangb
366
+ dlangb
367
+ clangb
368
+ zlangb
369
+
357
370
  slange
358
371
  dlange
359
372
  clange
@@ -570,6 +583,9 @@ All functions
570
583
  sstev
571
584
  dstev
572
585
 
586
+ sstevd
587
+ dstevd
588
+
573
589
  ssycon
574
590
  dsycon
575
591
  csycon
@@ -668,6 +684,11 @@ All functions
668
684
  csytrf_lwork
669
685
  zsytrf_lwork
670
686
 
687
+ ssytri
688
+ dsytri
689
+ csytri
690
+ zsytri
691
+
671
692
  ssytrs
672
693
  dsytrs
673
694
  csytrs
@@ -1026,8 +1047,7 @@ def _compute_lwork(routine, *args, **kwargs):
1026
1047
  int_dtype = getattr(routine, 'int_dtype', None)
1027
1048
  ret = routine(*args, **kwargs)
1028
1049
  if ret[-1] != 0:
1029
- raise ValueError("Internal work array size computation failed: "
1030
- "%d" % (ret[-1],))
1050
+ raise ValueError(f"Internal work array size computation failed: {ret[-1]}")
1031
1051
 
1032
1052
  if len(ret) == 2:
1033
1053
  return _check_work_float(ret[0].real, dtype, int_dtype)
@@ -10,10 +10,16 @@ if not cy.version().version_compare('>=3.0.8')
10
10
  error('tests requires Cython >= 3.0.8')
11
11
  endif
12
12
 
13
+ cython_args = []
14
+ if cy.version().version_compare('>=3.1.0')
15
+ cython_args += ['-Xfreethreading_compatible=True']
16
+ endif
17
+
13
18
  py3.extension_module(
14
19
  'extending',
15
20
  'extending.pyx',
16
21
  install: false,
22
+ cython_args: cython_args,
17
23
  c_args: ['-DCYTHON_CCOMPLEX=0'] # see gh-18975 for why we need this
18
24
  )
19
25
 
@@ -23,5 +29,6 @@ py3.extension_module(
23
29
  extending_cpp,
24
30
  install: false,
25
31
  override_options : ['cython_language=cpp'],
32
+ cython_args: cython_args,
26
33
  cpp_args: ['-DCYTHON_CCOMPLEX=0'] # see gh-18975 for why we need this
27
34
  )
@@ -183,7 +183,6 @@ class TestSolveBanded:
183
183
  x = solve_banded((l, u), ab, b)
184
184
  assert_array_almost_equal(dot(a, x), b)
185
185
 
186
- @pytest.mark.thread_unsafe # due to Cython fused types, see cython#6506
187
186
  @pytest.mark.parametrize('dt_ab', [int, float, np.float32, complex, np.complex64])
188
187
  @pytest.mark.parametrize('dt_b', [int, float, np.float32, complex, np.complex64])
189
188
  def test_empty(self, dt_ab, dt_b):
@@ -734,8 +733,9 @@ class TestSolve:
734
733
  [-4-5.j, -3+4.j],
735
734
  [6.j, 2-3.j]]))
736
735
 
737
- def test_hermitian(self):
738
- # An upper triangular matrix will be used for hermitian matrix a
736
+ @pytest.mark.parametrize("assume_a", ['her', 'sym'])
737
+ def test_symmetric_hermitian(self, assume_a):
738
+ # An upper triangular matrix will be used for symmetric/hermitian matrix a
739
739
  a = np.array([[-1.84, 0.11-0.11j, -1.78-1.18j, 3.91-1.50j],
740
740
  [0, -4.63, -1.84+0.03j, 2.21+0.21j],
741
741
  [0, 0, -8.87, 1.58-0.90j],
@@ -744,15 +744,18 @@ class TestSolve:
744
744
  [-9.58+3.88j, -24.79-8.40j],
745
745
  [-0.77-16.05j, 4.23-70.02j],
746
746
  [7.79+5.48j, -35.39+18.01j]])
747
- res = np.array([[2.+1j, -8+6j],
748
- [3.-2j, 7-2j],
749
- [-1+2j, -1+5j],
750
- [1.-1j, 3-4j]])
751
- x = solve(a, b, assume_a='her')
752
- assert_array_almost_equal(x, res)
753
- # Also conjugate a and test for lower triangular data
754
- x = solve(a.conj().T, b, assume_a='her', lower=True)
755
- assert_array_almost_equal(x, res)
747
+
748
+ a2 = a.T if assume_a == 'sym' else a.conj().T # for testing `lower`
749
+ a3 = a + a2 # for reference solution
750
+ a3[np.arange(4), np.arange(4)] = np.diag(a)
751
+ ref = solve(a3, b, assume_a='general')
752
+
753
+ x = solve(a, b, assume_a=assume_a)
754
+ assert_array_almost_equal(x, ref)
755
+ # Also transpose(/conjugate) `a` and test for lower triangular data
756
+ # This also tests gh-22265 resolution; otherwise, a warning would be emitted
757
+ x = solve(a2, b, assume_a=assume_a, lower=True)
758
+ assert_array_almost_equal(x, ref)
756
759
 
757
760
  def test_pos_and_sym(self):
758
761
  A = np.arange(1, 10).reshape(3, 3)
@@ -778,7 +781,7 @@ class TestSolve:
778
781
  @pytest.mark.parametrize('structure',
779
782
  ('diagonal', 'tridiagonal', 'lower triangular',
780
783
  'upper triangular', 'symmetric', 'hermitian',
781
- 'positive definite', 'general', None))
784
+ 'positive definite', 'general', 'banded', None))
782
785
  def test_ill_condition_warning(self, structure):
783
786
  rng = np.random.default_rng(234859349452)
784
787
  n = 10
@@ -789,9 +792,21 @@ class TestSolve:
789
792
  with pytest.warns(LinAlgWarning, match=message):
790
793
  solve(A, b, assume_a=structure)
791
794
 
795
+ @pytest.mark.thread_unsafe
796
+ @pytest.mark.parametrize('structure',
797
+ ('diagonal', 'tridiagonal', 'lower triangular',
798
+ 'upper triangular', 'symmetric', 'hermitian',
799
+ 'positive definite', 'general', None))
800
+ def test_exactly_singular_gh22263(self, structure):
801
+ n = 10
802
+ A = np.zeros((n, n))
803
+ b = np.ones(n)
804
+ with (pytest.raises(LinAlgError, match="singular"), np.errstate(all='ignore')):
805
+ solve(A, b, assume_a=structure)
806
+
792
807
  def test_multiple_rhs(self):
793
808
  a = np.eye(2)
794
- b = np.random.rand(2, 3, 4)
809
+ b = np.random.rand(2, 12)
795
810
  x = solve(a, b)
796
811
  assert_array_almost_equal(x, b)
797
812
 
@@ -889,7 +904,7 @@ class TestSolve:
889
904
  # "pos" and "positive definite" need to be added
890
905
  @pytest.mark.parametrize('assume_a', ['diagonal', 'tridiagonal', 'banded',
891
906
  'lower triangular', 'upper triangular',
892
- 'symmetric', 'hermitian',
907
+ 'symmetric', 'hermitian', 'banded',
893
908
  'general', 'sym', 'her', 'gen'])
894
909
  @pytest.mark.parametrize('nrhs', [(), (5,)])
895
910
  @pytest.mark.parametrize('transposed', [True, False])
@@ -1894,7 +1909,7 @@ class TestSolveCirculant:
1894
1909
  c = np.array([1, 2, -3, -5])
1895
1910
  b = np.arange(24).reshape(4, 3, 2)
1896
1911
  x = solve_circulant(c, b)
1897
- y = solve(circulant(c), b)
1912
+ y = solve(circulant(c), b.reshape(4, -1)).reshape(b.shape)
1898
1913
  assert_allclose(x, y)
1899
1914
 
1900
1915
  def test_complex(self):