scipy 1.15.3__cp313-cp313t-macosx_14_0_arm64.whl → 1.16.0rc2__cp313-cp313t-macosx_14_0_arm64.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 (627) hide show
  1. scipy/__config__.py +3 -3
  2. scipy/__init__.py +3 -6
  3. scipy/_cyutility.cpython-313t-darwin.so +0 -0
  4. scipy/_lib/_array_api.py +486 -161
  5. scipy/_lib/_array_api_compat_vendor.py +9 -0
  6. scipy/_lib/_bunch.py +4 -0
  7. scipy/_lib/_ccallback_c.cpython-313t-darwin.so +0 -0
  8. scipy/_lib/_docscrape.py +1 -1
  9. scipy/_lib/_elementwise_iterative_method.py +15 -26
  10. scipy/_lib/_sparse.py +41 -0
  11. scipy/_lib/_test_deprecation_call.cpython-313t-darwin.so +0 -0
  12. scipy/_lib/_testutils.py +6 -2
  13. scipy/_lib/_util.py +222 -125
  14. scipy/_lib/array_api_compat/__init__.py +4 -4
  15. scipy/_lib/array_api_compat/_internal.py +19 -6
  16. scipy/_lib/array_api_compat/common/__init__.py +1 -1
  17. scipy/_lib/array_api_compat/common/_aliases.py +365 -193
  18. scipy/_lib/array_api_compat/common/_fft.py +94 -64
  19. scipy/_lib/array_api_compat/common/_helpers.py +413 -180
  20. scipy/_lib/array_api_compat/common/_linalg.py +116 -40
  21. scipy/_lib/array_api_compat/common/_typing.py +179 -10
  22. scipy/_lib/array_api_compat/cupy/__init__.py +1 -4
  23. scipy/_lib/array_api_compat/cupy/_aliases.py +61 -41
  24. scipy/_lib/array_api_compat/cupy/_info.py +16 -6
  25. scipy/_lib/array_api_compat/cupy/_typing.py +24 -39
  26. scipy/_lib/array_api_compat/dask/array/__init__.py +6 -3
  27. scipy/_lib/array_api_compat/dask/array/_aliases.py +267 -108
  28. scipy/_lib/array_api_compat/dask/array/_info.py +105 -34
  29. scipy/_lib/array_api_compat/dask/array/fft.py +5 -8
  30. scipy/_lib/array_api_compat/dask/array/linalg.py +21 -22
  31. scipy/_lib/array_api_compat/numpy/__init__.py +13 -15
  32. scipy/_lib/array_api_compat/numpy/_aliases.py +98 -49
  33. scipy/_lib/array_api_compat/numpy/_info.py +36 -16
  34. scipy/_lib/array_api_compat/numpy/_typing.py +27 -43
  35. scipy/_lib/array_api_compat/numpy/fft.py +11 -5
  36. scipy/_lib/array_api_compat/numpy/linalg.py +75 -22
  37. scipy/_lib/array_api_compat/torch/__init__.py +3 -5
  38. scipy/_lib/array_api_compat/torch/_aliases.py +262 -159
  39. scipy/_lib/array_api_compat/torch/_info.py +27 -16
  40. scipy/_lib/array_api_compat/torch/_typing.py +3 -0
  41. scipy/_lib/array_api_compat/torch/fft.py +17 -18
  42. scipy/_lib/array_api_compat/torch/linalg.py +16 -16
  43. scipy/_lib/array_api_extra/__init__.py +26 -3
  44. scipy/_lib/array_api_extra/_delegation.py +171 -0
  45. scipy/_lib/array_api_extra/_lib/__init__.py +1 -0
  46. scipy/_lib/array_api_extra/_lib/_at.py +463 -0
  47. scipy/_lib/array_api_extra/_lib/_backends.py +46 -0
  48. scipy/_lib/array_api_extra/_lib/_funcs.py +937 -0
  49. scipy/_lib/array_api_extra/_lib/_lazy.py +357 -0
  50. scipy/_lib/array_api_extra/_lib/_testing.py +278 -0
  51. scipy/_lib/array_api_extra/_lib/_utils/__init__.py +1 -0
  52. scipy/_lib/array_api_extra/_lib/_utils/_compat.py +74 -0
  53. scipy/_lib/array_api_extra/_lib/_utils/_compat.pyi +45 -0
  54. scipy/_lib/array_api_extra/_lib/_utils/_helpers.py +559 -0
  55. scipy/_lib/array_api_extra/_lib/_utils/_typing.py +10 -0
  56. scipy/_lib/array_api_extra/_lib/_utils/_typing.pyi +105 -0
  57. scipy/_lib/array_api_extra/testing.py +359 -0
  58. scipy/_lib/decorator.py +2 -2
  59. scipy/_lib/doccer.py +1 -7
  60. scipy/_lib/messagestream.cpython-313t-darwin.so +0 -0
  61. scipy/_lib/pyprima/__init__.py +212 -0
  62. scipy/_lib/pyprima/cobyla/__init__.py +0 -0
  63. scipy/_lib/pyprima/cobyla/cobyla.py +559 -0
  64. scipy/_lib/pyprima/cobyla/cobylb.py +714 -0
  65. scipy/_lib/pyprima/cobyla/geometry.py +226 -0
  66. scipy/_lib/pyprima/cobyla/initialize.py +215 -0
  67. scipy/_lib/pyprima/cobyla/trustregion.py +492 -0
  68. scipy/_lib/pyprima/cobyla/update.py +289 -0
  69. scipy/_lib/pyprima/common/__init__.py +0 -0
  70. scipy/_lib/pyprima/common/_bounds.py +34 -0
  71. scipy/_lib/pyprima/common/_linear_constraints.py +46 -0
  72. scipy/_lib/pyprima/common/_nonlinear_constraints.py +54 -0
  73. scipy/_lib/pyprima/common/_project.py +173 -0
  74. scipy/_lib/pyprima/common/checkbreak.py +93 -0
  75. scipy/_lib/pyprima/common/consts.py +47 -0
  76. scipy/_lib/pyprima/common/evaluate.py +99 -0
  77. scipy/_lib/pyprima/common/history.py +38 -0
  78. scipy/_lib/pyprima/common/infos.py +30 -0
  79. scipy/_lib/pyprima/common/linalg.py +435 -0
  80. scipy/_lib/pyprima/common/message.py +290 -0
  81. scipy/_lib/pyprima/common/powalg.py +131 -0
  82. scipy/_lib/pyprima/common/preproc.py +277 -0
  83. scipy/_lib/pyprima/common/present.py +5 -0
  84. scipy/_lib/pyprima/common/ratio.py +54 -0
  85. scipy/_lib/pyprima/common/redrho.py +47 -0
  86. scipy/_lib/pyprima/common/selectx.py +296 -0
  87. scipy/_lib/tests/test__util.py +105 -121
  88. scipy/_lib/tests/test_array_api.py +166 -35
  89. scipy/_lib/tests/test_bunch.py +7 -0
  90. scipy/_lib/tests/test_ccallback.py +2 -10
  91. scipy/_lib/tests/test_public_api.py +13 -0
  92. scipy/cluster/_hierarchy.cpython-313t-darwin.so +0 -0
  93. scipy/cluster/_optimal_leaf_ordering.cpython-313t-darwin.so +0 -0
  94. scipy/cluster/_vq.cpython-313t-darwin.so +0 -0
  95. scipy/cluster/hierarchy.py +393 -223
  96. scipy/cluster/tests/test_hierarchy.py +273 -335
  97. scipy/cluster/tests/test_vq.py +45 -61
  98. scipy/cluster/vq.py +39 -35
  99. scipy/conftest.py +263 -157
  100. scipy/constants/_constants.py +4 -1
  101. scipy/constants/tests/test_codata.py +2 -2
  102. scipy/constants/tests/test_constants.py +11 -18
  103. scipy/datasets/_download_all.py +15 -1
  104. scipy/datasets/_fetchers.py +7 -1
  105. scipy/datasets/_utils.py +1 -1
  106. scipy/differentiate/_differentiate.py +25 -25
  107. scipy/differentiate/tests/test_differentiate.py +24 -25
  108. scipy/fft/_basic.py +20 -0
  109. scipy/fft/_helper.py +3 -34
  110. scipy/fft/_pocketfft/helper.py +29 -1
  111. scipy/fft/_pocketfft/tests/test_basic.py +2 -4
  112. scipy/fft/_pocketfft/tests/test_real_transforms.py +4 -4
  113. scipy/fft/_realtransforms.py +13 -0
  114. scipy/fft/tests/test_basic.py +27 -25
  115. scipy/fft/tests/test_fftlog.py +16 -7
  116. scipy/fft/tests/test_helper.py +18 -34
  117. scipy/fft/tests/test_real_transforms.py +8 -10
  118. scipy/fftpack/convolve.cpython-313t-darwin.so +0 -0
  119. scipy/fftpack/tests/test_basic.py +2 -4
  120. scipy/fftpack/tests/test_real_transforms.py +8 -9
  121. scipy/integrate/_bvp.py +9 -3
  122. scipy/integrate/_cubature.py +3 -2
  123. scipy/integrate/_dop.cpython-313t-darwin.so +0 -0
  124. scipy/integrate/_lsoda.cpython-313t-darwin.so +0 -0
  125. scipy/integrate/_ode.py +9 -2
  126. scipy/integrate/_odepack.cpython-313t-darwin.so +0 -0
  127. scipy/integrate/_quad_vec.py +21 -29
  128. scipy/integrate/_quadpack.cpython-313t-darwin.so +0 -0
  129. scipy/integrate/_quadpack_py.py +11 -7
  130. scipy/integrate/_quadrature.py +3 -3
  131. scipy/integrate/_rules/_base.py +2 -2
  132. scipy/integrate/_tanhsinh.py +48 -47
  133. scipy/integrate/_test_odeint_banded.cpython-313t-darwin.so +0 -0
  134. scipy/integrate/_vode.cpython-313t-darwin.so +0 -0
  135. scipy/integrate/tests/test__quad_vec.py +0 -6
  136. scipy/integrate/tests/test_banded_ode_solvers.py +85 -0
  137. scipy/integrate/tests/test_cubature.py +21 -35
  138. scipy/integrate/tests/test_quadrature.py +6 -8
  139. scipy/integrate/tests/test_tanhsinh.py +56 -48
  140. scipy/interpolate/__init__.py +70 -58
  141. scipy/interpolate/_bary_rational.py +22 -22
  142. scipy/interpolate/_bsplines.py +119 -66
  143. scipy/interpolate/_cubic.py +65 -50
  144. scipy/interpolate/_dfitpack.cpython-313t-darwin.so +0 -0
  145. scipy/interpolate/_dierckx.cpython-313t-darwin.so +0 -0
  146. scipy/interpolate/_fitpack.cpython-313t-darwin.so +0 -0
  147. scipy/interpolate/_fitpack2.py +9 -6
  148. scipy/interpolate/_fitpack_impl.py +32 -26
  149. scipy/interpolate/_fitpack_repro.py +23 -19
  150. scipy/interpolate/_interpnd.cpython-313t-darwin.so +0 -0
  151. scipy/interpolate/_interpolate.py +30 -12
  152. scipy/interpolate/_ndbspline.py +13 -18
  153. scipy/interpolate/_ndgriddata.py +5 -8
  154. scipy/interpolate/_polyint.py +95 -31
  155. scipy/interpolate/_ppoly.cpython-313t-darwin.so +0 -0
  156. scipy/interpolate/_rbf.py +2 -2
  157. scipy/interpolate/_rbfinterp.py +1 -1
  158. scipy/interpolate/_rbfinterp_pythran.cpython-313t-darwin.so +0 -0
  159. scipy/interpolate/_rgi.py +31 -26
  160. scipy/interpolate/_rgi_cython.cpython-313t-darwin.so +0 -0
  161. scipy/interpolate/dfitpack.py +0 -20
  162. scipy/interpolate/interpnd.py +1 -2
  163. scipy/interpolate/tests/test_bary_rational.py +2 -2
  164. scipy/interpolate/tests/test_bsplines.py +97 -1
  165. scipy/interpolate/tests/test_fitpack2.py +39 -1
  166. scipy/interpolate/tests/test_interpnd.py +32 -20
  167. scipy/interpolate/tests/test_interpolate.py +48 -4
  168. scipy/interpolate/tests/test_rgi.py +2 -1
  169. scipy/io/_fast_matrix_market/__init__.py +2 -0
  170. scipy/io/_harwell_boeing/_fortran_format_parser.py +19 -16
  171. scipy/io/_harwell_boeing/hb.py +7 -11
  172. scipy/io/_idl.py +5 -7
  173. scipy/io/_netcdf.py +15 -5
  174. scipy/io/_test_fortran.cpython-313t-darwin.so +0 -0
  175. scipy/io/arff/tests/test_arffread.py +3 -3
  176. scipy/io/matlab/__init__.py +5 -3
  177. scipy/io/matlab/_mio.py +4 -1
  178. scipy/io/matlab/_mio5.py +19 -13
  179. scipy/io/matlab/_mio5_utils.cpython-313t-darwin.so +0 -0
  180. scipy/io/matlab/_mio_utils.cpython-313t-darwin.so +0 -0
  181. scipy/io/matlab/_miobase.py +4 -1
  182. scipy/io/matlab/_streams.cpython-313t-darwin.so +0 -0
  183. scipy/io/matlab/tests/test_mio.py +46 -18
  184. scipy/io/matlab/tests/test_mio_funcs.py +1 -1
  185. scipy/io/tests/test_mmio.py +7 -1
  186. scipy/io/tests/test_wavfile.py +41 -0
  187. scipy/io/wavfile.py +57 -10
  188. scipy/linalg/_basic.py +113 -86
  189. scipy/linalg/_cythonized_array_utils.cpython-313t-darwin.so +0 -0
  190. scipy/linalg/_decomp.py +22 -9
  191. scipy/linalg/_decomp_cholesky.py +28 -13
  192. scipy/linalg/_decomp_cossin.py +45 -30
  193. scipy/linalg/_decomp_interpolative.cpython-313t-darwin.so +0 -0
  194. scipy/linalg/_decomp_ldl.py +4 -1
  195. scipy/linalg/_decomp_lu.py +18 -6
  196. scipy/linalg/_decomp_lu_cython.cpython-313t-darwin.so +0 -0
  197. scipy/linalg/_decomp_polar.py +2 -0
  198. scipy/linalg/_decomp_qr.py +6 -2
  199. scipy/linalg/_decomp_qz.py +3 -0
  200. scipy/linalg/_decomp_schur.py +3 -1
  201. scipy/linalg/_decomp_svd.py +13 -2
  202. scipy/linalg/_decomp_update.cpython-313t-darwin.so +0 -0
  203. scipy/linalg/_expm_frechet.py +4 -0
  204. scipy/linalg/_fblas.cpython-313t-darwin.so +0 -0
  205. scipy/linalg/_flapack.cpython-313t-darwin.so +0 -0
  206. scipy/linalg/_linalg_pythran.cpython-313t-darwin.so +0 -0
  207. scipy/linalg/_matfuncs.py +187 -4
  208. scipy/linalg/_matfuncs_expm.cpython-313t-darwin.so +0 -0
  209. scipy/linalg/_matfuncs_schur_sqrtm.cpython-313t-darwin.so +0 -0
  210. scipy/linalg/_matfuncs_sqrtm.py +1 -99
  211. scipy/linalg/_matfuncs_sqrtm_triu.cpython-313t-darwin.so +0 -0
  212. scipy/linalg/_procrustes.py +2 -0
  213. scipy/linalg/_sketches.py +17 -6
  214. scipy/linalg/_solve_toeplitz.cpython-313t-darwin.so +0 -0
  215. scipy/linalg/_solvers.py +7 -2
  216. scipy/linalg/_special_matrices.py +26 -36
  217. scipy/linalg/cython_blas.cpython-313t-darwin.so +0 -0
  218. scipy/linalg/cython_lapack.cpython-313t-darwin.so +0 -0
  219. scipy/linalg/lapack.py +22 -2
  220. scipy/linalg/tests/_cython_examples/meson.build +7 -0
  221. scipy/linalg/tests/test_basic.py +31 -16
  222. scipy/linalg/tests/test_batch.py +588 -0
  223. scipy/linalg/tests/test_cythonized_array_utils.py +0 -2
  224. scipy/linalg/tests/test_decomp.py +40 -3
  225. scipy/linalg/tests/test_decomp_cossin.py +14 -0
  226. scipy/linalg/tests/test_decomp_ldl.py +1 -1
  227. scipy/linalg/tests/test_lapack.py +115 -7
  228. scipy/linalg/tests/test_matfuncs.py +157 -102
  229. scipy/linalg/tests/test_procrustes.py +0 -7
  230. scipy/linalg/tests/test_solve_toeplitz.py +1 -1
  231. scipy/linalg/tests/test_special_matrices.py +1 -5
  232. scipy/ndimage/__init__.py +1 -0
  233. scipy/ndimage/_cytest.cpython-313t-darwin.so +0 -0
  234. scipy/ndimage/_delegators.py +8 -2
  235. scipy/ndimage/_filters.py +453 -5
  236. scipy/ndimage/_interpolation.py +36 -6
  237. scipy/ndimage/_measurements.py +4 -2
  238. scipy/ndimage/_morphology.py +5 -0
  239. scipy/ndimage/_nd_image.cpython-313t-darwin.so +0 -0
  240. scipy/ndimage/_ni_docstrings.py +5 -1
  241. scipy/ndimage/_ni_label.cpython-313t-darwin.so +0 -0
  242. scipy/ndimage/_ni_support.py +1 -5
  243. scipy/ndimage/_rank_filter_1d.cpython-313t-darwin.so +0 -0
  244. scipy/ndimage/_support_alternative_backends.py +18 -6
  245. scipy/ndimage/tests/test_filters.py +370 -259
  246. scipy/ndimage/tests/test_fourier.py +7 -9
  247. scipy/ndimage/tests/test_interpolation.py +68 -61
  248. scipy/ndimage/tests/test_measurements.py +18 -35
  249. scipy/ndimage/tests/test_morphology.py +143 -131
  250. scipy/ndimage/tests/test_splines.py +1 -3
  251. scipy/odr/__odrpack.cpython-313t-darwin.so +0 -0
  252. scipy/optimize/_basinhopping.py +13 -7
  253. scipy/optimize/_bglu_dense.cpython-313t-darwin.so +0 -0
  254. scipy/optimize/_bracket.py +17 -24
  255. scipy/optimize/_chandrupatla.py +9 -10
  256. scipy/optimize/_cobyla_py.py +104 -123
  257. scipy/optimize/_constraints.py +14 -10
  258. scipy/optimize/_differentiable_functions.py +371 -230
  259. scipy/optimize/_differentialevolution.py +4 -3
  260. scipy/optimize/_direct.cpython-313t-darwin.so +0 -0
  261. scipy/optimize/_dual_annealing.py +1 -1
  262. scipy/optimize/_elementwise.py +1 -4
  263. scipy/optimize/_group_columns.cpython-313t-darwin.so +0 -0
  264. scipy/optimize/_lbfgsb.cpython-313t-darwin.so +0 -0
  265. scipy/optimize/_lbfgsb_py.py +57 -16
  266. scipy/optimize/_linprog_doc.py +2 -2
  267. scipy/optimize/_linprog_highs.py +2 -2
  268. scipy/optimize/_linprog_ip.py +25 -10
  269. scipy/optimize/_linprog_util.py +14 -16
  270. scipy/optimize/_lsap.cpython-313t-darwin.so +0 -0
  271. scipy/optimize/_lsq/common.py +3 -3
  272. scipy/optimize/_lsq/dogbox.py +16 -2
  273. scipy/optimize/_lsq/givens_elimination.cpython-313t-darwin.so +0 -0
  274. scipy/optimize/_lsq/least_squares.py +198 -126
  275. scipy/optimize/_lsq/lsq_linear.py +6 -6
  276. scipy/optimize/_lsq/trf.py +35 -8
  277. scipy/optimize/_milp.py +3 -1
  278. scipy/optimize/_minimize.py +105 -36
  279. scipy/optimize/_minpack.cpython-313t-darwin.so +0 -0
  280. scipy/optimize/_minpack_py.py +21 -14
  281. scipy/optimize/_moduleTNC.cpython-313t-darwin.so +0 -0
  282. scipy/optimize/_nnls.py +20 -21
  283. scipy/optimize/_nonlin.py +34 -3
  284. scipy/optimize/_numdiff.py +288 -110
  285. scipy/optimize/_optimize.py +86 -48
  286. scipy/optimize/_pava_pybind.cpython-313t-darwin.so +0 -0
  287. scipy/optimize/_remove_redundancy.py +5 -5
  288. scipy/optimize/_root_scalar.py +1 -1
  289. scipy/optimize/_shgo.py +6 -0
  290. scipy/optimize/_shgo_lib/_complex.py +1 -1
  291. scipy/optimize/_slsqp_py.py +216 -124
  292. scipy/optimize/_slsqplib.cpython-313t-darwin.so +0 -0
  293. scipy/optimize/_spectral.py +1 -1
  294. scipy/optimize/_tnc.py +8 -1
  295. scipy/optimize/_trlib/_trlib.cpython-313t-darwin.so +0 -0
  296. scipy/optimize/_trustregion.py +20 -6
  297. scipy/optimize/_trustregion_constr/canonical_constraint.py +7 -7
  298. scipy/optimize/_trustregion_constr/equality_constrained_sqp.py +1 -1
  299. scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py +11 -3
  300. scipy/optimize/_trustregion_constr/projections.py +12 -8
  301. scipy/optimize/_trustregion_constr/qp_subproblem.py +9 -9
  302. scipy/optimize/_trustregion_constr/tests/test_projections.py +7 -7
  303. scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py +77 -77
  304. scipy/optimize/_trustregion_constr/tr_interior_point.py +5 -5
  305. scipy/optimize/_trustregion_exact.py +0 -1
  306. scipy/optimize/_zeros.cpython-313t-darwin.so +0 -0
  307. scipy/optimize/_zeros_py.py +97 -17
  308. scipy/optimize/cython_optimize/_zeros.cpython-313t-darwin.so +0 -0
  309. scipy/optimize/slsqp.py +0 -1
  310. scipy/optimize/tests/test__basinhopping.py +1 -1
  311. scipy/optimize/tests/test__differential_evolution.py +4 -4
  312. scipy/optimize/tests/test__linprog_clean_inputs.py +5 -3
  313. scipy/optimize/tests/test__numdiff.py +66 -22
  314. scipy/optimize/tests/test__remove_redundancy.py +2 -2
  315. scipy/optimize/tests/test__shgo.py +9 -1
  316. scipy/optimize/tests/test_bracket.py +36 -46
  317. scipy/optimize/tests/test_chandrupatla.py +133 -135
  318. scipy/optimize/tests/test_cobyla.py +74 -45
  319. scipy/optimize/tests/test_constraints.py +1 -1
  320. scipy/optimize/tests/test_differentiable_functions.py +226 -6
  321. scipy/optimize/tests/test_lbfgsb_hessinv.py +22 -0
  322. scipy/optimize/tests/test_least_squares.py +125 -13
  323. scipy/optimize/tests/test_linear_assignment.py +3 -3
  324. scipy/optimize/tests/test_linprog.py +3 -3
  325. scipy/optimize/tests/test_lsq_linear.py +6 -6
  326. scipy/optimize/tests/test_minimize_constrained.py +2 -2
  327. scipy/optimize/tests/test_minpack.py +4 -4
  328. scipy/optimize/tests/test_nnls.py +43 -3
  329. scipy/optimize/tests/test_nonlin.py +36 -0
  330. scipy/optimize/tests/test_optimize.py +95 -17
  331. scipy/optimize/tests/test_slsqp.py +36 -4
  332. scipy/optimize/tests/test_zeros.py +34 -1
  333. scipy/signal/__init__.py +12 -23
  334. scipy/signal/_delegators.py +568 -0
  335. scipy/signal/_filter_design.py +459 -241
  336. scipy/signal/_fir_filter_design.py +262 -90
  337. scipy/signal/_lti_conversion.py +3 -2
  338. scipy/signal/_ltisys.py +118 -91
  339. scipy/signal/_max_len_seq_inner.cpython-313t-darwin.so +0 -0
  340. scipy/signal/_peak_finding_utils.cpython-313t-darwin.so +0 -0
  341. scipy/signal/_polyutils.py +172 -0
  342. scipy/signal/_short_time_fft.py +519 -70
  343. scipy/signal/_signal_api.py +30 -0
  344. scipy/signal/_signaltools.py +719 -399
  345. scipy/signal/_sigtools.cpython-313t-darwin.so +0 -0
  346. scipy/signal/_sosfilt.cpython-313t-darwin.so +0 -0
  347. scipy/signal/_spectral_py.py +230 -50
  348. scipy/signal/_spline.cpython-313t-darwin.so +0 -0
  349. scipy/signal/_spline_filters.py +108 -68
  350. scipy/signal/_support_alternative_backends.py +73 -0
  351. scipy/signal/_upfirdn.py +4 -1
  352. scipy/signal/_upfirdn_apply.cpython-313t-darwin.so +0 -0
  353. scipy/signal/_waveforms.py +2 -11
  354. scipy/signal/_wavelets.py +1 -1
  355. scipy/signal/fir_filter_design.py +1 -0
  356. scipy/signal/spline.py +4 -11
  357. scipy/signal/tests/_scipy_spectral_test_shim.py +2 -171
  358. scipy/signal/tests/test_bsplines.py +114 -79
  359. scipy/signal/tests/test_cont2discrete.py +9 -2
  360. scipy/signal/tests/test_filter_design.py +721 -481
  361. scipy/signal/tests/test_fir_filter_design.py +332 -140
  362. scipy/signal/tests/test_savitzky_golay.py +4 -3
  363. scipy/signal/tests/test_short_time_fft.py +221 -3
  364. scipy/signal/tests/test_signaltools.py +2144 -1348
  365. scipy/signal/tests/test_spectral.py +50 -6
  366. scipy/signal/tests/test_splines.py +161 -96
  367. scipy/signal/tests/test_upfirdn.py +84 -50
  368. scipy/signal/tests/test_waveforms.py +20 -0
  369. scipy/signal/tests/test_windows.py +607 -466
  370. scipy/signal/windows/_windows.py +287 -148
  371. scipy/sparse/__init__.py +23 -4
  372. scipy/sparse/_base.py +270 -108
  373. scipy/sparse/_bsr.py +7 -4
  374. scipy/sparse/_compressed.py +59 -231
  375. scipy/sparse/_construct.py +90 -38
  376. scipy/sparse/_coo.py +115 -181
  377. scipy/sparse/_csc.py +4 -4
  378. scipy/sparse/_csparsetools.cpython-313t-darwin.so +0 -0
  379. scipy/sparse/_csr.py +2 -2
  380. scipy/sparse/_data.py +48 -48
  381. scipy/sparse/_dia.py +105 -18
  382. scipy/sparse/_dok.py +0 -23
  383. scipy/sparse/_index.py +4 -4
  384. scipy/sparse/_matrix.py +23 -0
  385. scipy/sparse/_sparsetools.cpython-313t-darwin.so +0 -0
  386. scipy/sparse/_sputils.py +37 -22
  387. scipy/sparse/base.py +0 -9
  388. scipy/sparse/bsr.py +0 -14
  389. scipy/sparse/compressed.py +0 -23
  390. scipy/sparse/construct.py +0 -6
  391. scipy/sparse/coo.py +0 -14
  392. scipy/sparse/csc.py +0 -3
  393. scipy/sparse/csgraph/_flow.cpython-313t-darwin.so +0 -0
  394. scipy/sparse/csgraph/_matching.cpython-313t-darwin.so +0 -0
  395. scipy/sparse/csgraph/_min_spanning_tree.cpython-313t-darwin.so +0 -0
  396. scipy/sparse/csgraph/_reordering.cpython-313t-darwin.so +0 -0
  397. scipy/sparse/csgraph/_shortest_path.cpython-313t-darwin.so +0 -0
  398. scipy/sparse/csgraph/_tools.cpython-313t-darwin.so +0 -0
  399. scipy/sparse/csgraph/_traversal.cpython-313t-darwin.so +0 -0
  400. scipy/sparse/csgraph/tests/test_matching.py +14 -2
  401. scipy/sparse/csgraph/tests/test_pydata_sparse.py +4 -1
  402. scipy/sparse/csgraph/tests/test_shortest_path.py +83 -27
  403. scipy/sparse/csr.py +0 -5
  404. scipy/sparse/data.py +1 -6
  405. scipy/sparse/dia.py +0 -7
  406. scipy/sparse/dok.py +0 -10
  407. scipy/sparse/linalg/_dsolve/_superlu.cpython-313t-darwin.so +0 -0
  408. scipy/sparse/linalg/_dsolve/linsolve.py +9 -0
  409. scipy/sparse/linalg/_dsolve/tests/test_linsolve.py +35 -28
  410. scipy/sparse/linalg/_eigen/arpack/_arpack.cpython-313t-darwin.so +0 -0
  411. scipy/sparse/linalg/_eigen/arpack/arpack.py +23 -17
  412. scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py +6 -6
  413. scipy/sparse/linalg/_interface.py +17 -18
  414. scipy/sparse/linalg/_isolve/_gcrotmk.py +4 -4
  415. scipy/sparse/linalg/_isolve/iterative.py +51 -45
  416. scipy/sparse/linalg/_isolve/lgmres.py +6 -6
  417. scipy/sparse/linalg/_isolve/minres.py +5 -5
  418. scipy/sparse/linalg/_isolve/tfqmr.py +7 -7
  419. scipy/sparse/linalg/_isolve/utils.py +2 -8
  420. scipy/sparse/linalg/_matfuncs.py +1 -1
  421. scipy/sparse/linalg/_norm.py +1 -1
  422. scipy/sparse/linalg/_propack/_cpropack.cpython-313t-darwin.so +0 -0
  423. scipy/sparse/linalg/_propack/_dpropack.cpython-313t-darwin.so +0 -0
  424. scipy/sparse/linalg/_propack/_spropack.cpython-313t-darwin.so +0 -0
  425. scipy/sparse/linalg/_propack/_zpropack.cpython-313t-darwin.so +0 -0
  426. scipy/sparse/linalg/_special_sparse_arrays.py +39 -38
  427. scipy/sparse/linalg/tests/test_pydata_sparse.py +14 -0
  428. scipy/sparse/tests/test_arithmetic1d.py +5 -2
  429. scipy/sparse/tests/test_base.py +214 -42
  430. scipy/sparse/tests/test_common1d.py +7 -7
  431. scipy/sparse/tests/test_construct.py +1 -1
  432. scipy/sparse/tests/test_coo.py +272 -4
  433. scipy/sparse/tests/test_sparsetools.py +5 -0
  434. scipy/sparse/tests/test_sputils.py +36 -7
  435. scipy/spatial/_ckdtree.cpython-313t-darwin.so +0 -0
  436. scipy/spatial/_distance_pybind.cpython-313t-darwin.so +0 -0
  437. scipy/spatial/_distance_wrap.cpython-313t-darwin.so +0 -0
  438. scipy/spatial/_hausdorff.cpython-313t-darwin.so +0 -0
  439. scipy/spatial/_qhull.cpython-313t-darwin.so +0 -0
  440. scipy/spatial/_voronoi.cpython-313t-darwin.so +0 -0
  441. scipy/spatial/distance.py +49 -42
  442. scipy/spatial/tests/test_distance.py +15 -1
  443. scipy/spatial/tests/test_kdtree.py +1 -0
  444. scipy/spatial/tests/test_qhull.py +7 -2
  445. scipy/spatial/transform/__init__.py +5 -3
  446. scipy/spatial/transform/_rigid_transform.cpython-313t-darwin.so +0 -0
  447. scipy/spatial/transform/_rotation.cpython-313t-darwin.so +0 -0
  448. scipy/spatial/transform/tests/test_rigid_transform.py +1221 -0
  449. scipy/spatial/transform/tests/test_rotation.py +1213 -832
  450. scipy/spatial/transform/tests/test_rotation_groups.py +3 -3
  451. scipy/spatial/transform/tests/test_rotation_spline.py +29 -8
  452. scipy/special/__init__.py +1 -47
  453. scipy/special/_add_newdocs.py +34 -772
  454. scipy/special/_basic.py +22 -25
  455. scipy/special/_comb.cpython-313t-darwin.so +0 -0
  456. scipy/special/_ellip_harm_2.cpython-313t-darwin.so +0 -0
  457. scipy/special/_gufuncs.cpython-313t-darwin.so +0 -0
  458. scipy/special/_logsumexp.py +67 -58
  459. scipy/special/_orthogonal.pyi +1 -1
  460. scipy/special/_specfun.cpython-313t-darwin.so +0 -0
  461. scipy/special/_special_ufuncs.cpython-313t-darwin.so +0 -0
  462. scipy/special/_spherical_bessel.py +4 -4
  463. scipy/special/_support_alternative_backends.py +212 -119
  464. scipy/special/_test_internal.cpython-313t-darwin.so +0 -0
  465. scipy/special/_testutils.py +4 -4
  466. scipy/special/_ufuncs.cpython-313t-darwin.so +0 -0
  467. scipy/special/_ufuncs.pyi +1 -0
  468. scipy/special/_ufuncs.pyx +215 -1400
  469. scipy/special/_ufuncs_cxx.cpython-313t-darwin.so +0 -0
  470. scipy/special/_ufuncs_cxx.pxd +2 -15
  471. scipy/special/_ufuncs_cxx.pyx +5 -44
  472. scipy/special/_ufuncs_cxx_defs.h +2 -16
  473. scipy/special/_ufuncs_defs.h +0 -8
  474. scipy/special/cython_special.cpython-313t-darwin.so +0 -0
  475. scipy/special/cython_special.pxd +1 -1
  476. scipy/special/tests/_cython_examples/meson.build +10 -1
  477. scipy/special/tests/test_basic.py +153 -20
  478. scipy/special/tests/test_boost_ufuncs.py +3 -0
  479. scipy/special/tests/test_cdflib.py +35 -11
  480. scipy/special/tests/test_gammainc.py +16 -0
  481. scipy/special/tests/test_hyp2f1.py +2 -2
  482. scipy/special/tests/test_log1mexp.py +85 -0
  483. scipy/special/tests/test_logsumexp.py +206 -64
  484. scipy/special/tests/test_mpmath.py +1 -0
  485. scipy/special/tests/test_nan_inputs.py +1 -1
  486. scipy/special/tests/test_orthogonal.py +17 -18
  487. scipy/special/tests/test_sf_error.py +3 -2
  488. scipy/special/tests/test_sph_harm.py +6 -7
  489. scipy/special/tests/test_support_alternative_backends.py +211 -76
  490. scipy/stats/__init__.py +4 -1
  491. scipy/stats/_ansari_swilk_statistics.cpython-313t-darwin.so +0 -0
  492. scipy/stats/_axis_nan_policy.py +5 -12
  493. scipy/stats/_biasedurn.cpython-313t-darwin.so +0 -0
  494. scipy/stats/_continued_fraction.py +387 -0
  495. scipy/stats/_continuous_distns.py +277 -310
  496. scipy/stats/_correlation.py +1 -1
  497. scipy/stats/_covariance.py +6 -3
  498. scipy/stats/_discrete_distns.py +39 -32
  499. scipy/stats/_distn_infrastructure.py +39 -12
  500. scipy/stats/_distribution_infrastructure.py +900 -238
  501. scipy/stats/_entropy.py +9 -10
  502. scipy/{_lib → stats}/_finite_differences.py +1 -1
  503. scipy/stats/_hypotests.py +83 -50
  504. scipy/stats/_kde.py +53 -49
  505. scipy/stats/_ksstats.py +1 -1
  506. scipy/stats/_levy_stable/__init__.py +7 -15
  507. scipy/stats/_levy_stable/levyst.cpython-313t-darwin.so +0 -0
  508. scipy/stats/_morestats.py +118 -73
  509. scipy/stats/_mstats_basic.py +13 -17
  510. scipy/stats/_mstats_extras.py +8 -8
  511. scipy/stats/_multivariate.py +89 -113
  512. scipy/stats/_new_distributions.py +97 -20
  513. scipy/stats/_page_trend_test.py +12 -5
  514. scipy/stats/_probability_distribution.py +265 -43
  515. scipy/stats/_qmc.py +14 -9
  516. scipy/stats/_qmc_cy.cpython-313t-darwin.so +0 -0
  517. scipy/stats/_qmvnt.py +16 -95
  518. scipy/stats/_qmvnt_cy.cpython-313t-darwin.so +0 -0
  519. scipy/stats/_quantile.py +335 -0
  520. scipy/stats/_rcont/rcont.cpython-313t-darwin.so +0 -0
  521. scipy/stats/_resampling.py +4 -29
  522. scipy/stats/_sampling.py +1 -1
  523. scipy/stats/_sobol.cpython-313t-darwin.so +0 -0
  524. scipy/stats/_stats.cpython-313t-darwin.so +0 -0
  525. scipy/stats/_stats_mstats_common.py +21 -2
  526. scipy/stats/_stats_py.py +550 -476
  527. scipy/stats/_stats_pythran.cpython-313t-darwin.so +0 -0
  528. scipy/stats/_unuran/unuran_wrapper.cpython-313t-darwin.so +0 -0
  529. scipy/stats/_unuran/unuran_wrapper.pyi +2 -1
  530. scipy/stats/_variation.py +6 -8
  531. scipy/stats/_wilcoxon.py +13 -7
  532. scipy/stats/tests/common_tests.py +6 -4
  533. scipy/stats/tests/test_axis_nan_policy.py +62 -24
  534. scipy/stats/tests/test_continued_fraction.py +173 -0
  535. scipy/stats/tests/test_continuous.py +379 -60
  536. scipy/stats/tests/test_continuous_basic.py +18 -12
  537. scipy/stats/tests/test_discrete_basic.py +14 -8
  538. scipy/stats/tests/test_discrete_distns.py +16 -16
  539. scipy/stats/tests/test_distributions.py +95 -75
  540. scipy/stats/tests/test_entropy.py +40 -48
  541. scipy/stats/tests/test_fit.py +4 -3
  542. scipy/stats/tests/test_hypotests.py +153 -24
  543. scipy/stats/tests/test_kdeoth.py +109 -41
  544. scipy/stats/tests/test_marray.py +289 -0
  545. scipy/stats/tests/test_morestats.py +79 -47
  546. scipy/stats/tests/test_mstats_basic.py +3 -3
  547. scipy/stats/tests/test_multivariate.py +434 -83
  548. scipy/stats/tests/test_qmc.py +13 -10
  549. scipy/stats/tests/test_quantile.py +199 -0
  550. scipy/stats/tests/test_rank.py +119 -112
  551. scipy/stats/tests/test_resampling.py +47 -56
  552. scipy/stats/tests/test_sampling.py +9 -4
  553. scipy/stats/tests/test_stats.py +799 -939
  554. scipy/stats/tests/test_variation.py +8 -6
  555. scipy/version.py +2 -2
  556. {scipy-1.15.3.dist-info → scipy-1.16.0rc2.dist-info}/LICENSE.txt +4 -4
  557. {scipy-1.15.3.dist-info → scipy-1.16.0rc2.dist-info}/METADATA +11 -11
  558. {scipy-1.15.3.dist-info → scipy-1.16.0rc2.dist-info}/RECORD +559 -566
  559. scipy-1.16.0rc2.dist-info/WHEEL +6 -0
  560. scipy/_lib/array_api_extra/_funcs.py +0 -484
  561. scipy/_lib/array_api_extra/_typing.py +0 -8
  562. scipy/interpolate/_bspl.cpython-313t-darwin.so +0 -0
  563. scipy/optimize/_cobyla.cpython-313t-darwin.so +0 -0
  564. scipy/optimize/_cython_nnls.cpython-313t-darwin.so +0 -0
  565. scipy/optimize/_slsqp.cpython-313t-darwin.so +0 -0
  566. scipy/spatial/qhull_src/COPYING.txt +0 -38
  567. scipy/special/libsf_error_state.dylib +0 -0
  568. scipy/special/tests/test_log_softmax.py +0 -109
  569. scipy/special/tests/test_xsf_cuda.py +0 -114
  570. scipy/special/xsf/binom.h +0 -89
  571. scipy/special/xsf/cdflib.h +0 -100
  572. scipy/special/xsf/cephes/airy.h +0 -307
  573. scipy/special/xsf/cephes/besselpoly.h +0 -51
  574. scipy/special/xsf/cephes/beta.h +0 -257
  575. scipy/special/xsf/cephes/cbrt.h +0 -131
  576. scipy/special/xsf/cephes/chbevl.h +0 -85
  577. scipy/special/xsf/cephes/chdtr.h +0 -193
  578. scipy/special/xsf/cephes/const.h +0 -87
  579. scipy/special/xsf/cephes/ellie.h +0 -293
  580. scipy/special/xsf/cephes/ellik.h +0 -251
  581. scipy/special/xsf/cephes/ellpe.h +0 -107
  582. scipy/special/xsf/cephes/ellpk.h +0 -117
  583. scipy/special/xsf/cephes/expn.h +0 -260
  584. scipy/special/xsf/cephes/gamma.h +0 -398
  585. scipy/special/xsf/cephes/hyp2f1.h +0 -596
  586. scipy/special/xsf/cephes/hyperg.h +0 -361
  587. scipy/special/xsf/cephes/i0.h +0 -149
  588. scipy/special/xsf/cephes/i1.h +0 -158
  589. scipy/special/xsf/cephes/igam.h +0 -421
  590. scipy/special/xsf/cephes/igam_asymp_coeff.h +0 -195
  591. scipy/special/xsf/cephes/igami.h +0 -313
  592. scipy/special/xsf/cephes/j0.h +0 -225
  593. scipy/special/xsf/cephes/j1.h +0 -198
  594. scipy/special/xsf/cephes/jv.h +0 -715
  595. scipy/special/xsf/cephes/k0.h +0 -164
  596. scipy/special/xsf/cephes/k1.h +0 -163
  597. scipy/special/xsf/cephes/kn.h +0 -243
  598. scipy/special/xsf/cephes/lanczos.h +0 -112
  599. scipy/special/xsf/cephes/ndtr.h +0 -275
  600. scipy/special/xsf/cephes/poch.h +0 -85
  601. scipy/special/xsf/cephes/polevl.h +0 -167
  602. scipy/special/xsf/cephes/psi.h +0 -194
  603. scipy/special/xsf/cephes/rgamma.h +0 -111
  604. scipy/special/xsf/cephes/scipy_iv.h +0 -811
  605. scipy/special/xsf/cephes/shichi.h +0 -248
  606. scipy/special/xsf/cephes/sici.h +0 -224
  607. scipy/special/xsf/cephes/sindg.h +0 -221
  608. scipy/special/xsf/cephes/tandg.h +0 -139
  609. scipy/special/xsf/cephes/trig.h +0 -58
  610. scipy/special/xsf/cephes/unity.h +0 -186
  611. scipy/special/xsf/cephes/zeta.h +0 -172
  612. scipy/special/xsf/config.h +0 -304
  613. scipy/special/xsf/digamma.h +0 -205
  614. scipy/special/xsf/error.h +0 -57
  615. scipy/special/xsf/evalpoly.h +0 -47
  616. scipy/special/xsf/expint.h +0 -266
  617. scipy/special/xsf/hyp2f1.h +0 -694
  618. scipy/special/xsf/iv_ratio.h +0 -173
  619. scipy/special/xsf/lambertw.h +0 -150
  620. scipy/special/xsf/loggamma.h +0 -163
  621. scipy/special/xsf/sici.h +0 -200
  622. scipy/special/xsf/tools.h +0 -427
  623. scipy/special/xsf/trig.h +0 -164
  624. scipy/special/xsf/wright_bessel.h +0 -843
  625. scipy/special/xsf/zlog1.h +0 -35
  626. scipy/stats/_mvn.cpython-313t-darwin.so +0 -0
  627. scipy-1.15.3.dist-info/WHEEL +0 -4
@@ -0,0 +1,568 @@
1
+ """Delegators for alternative backends in scipy.signal.
2
+
3
+ The signature of `func_signature` must match the signature of signal.func.
4
+ The job of a `func_signature` is to know which arguments of `signal.func`
5
+ are arrays.
6
+
7
+ * signatures are generated by
8
+
9
+ --------------
10
+ import inspect
11
+ from scipy import signal
12
+
13
+ names = [x for x in dir(signal) if not x.startswith('_')]
14
+ objs = [getattr(signal, name) for name in names]
15
+ funcs = [obj for obj in objs if inspect.isroutine(obj)]
16
+
17
+ for func in funcs:
18
+ try:
19
+ sig = inspect.signature(func)
20
+ except ValueError:
21
+ sig = "( FIXME )"
22
+ print(f"def {func.__name__}_signature{sig}:\n\treturn array_namespace(...
23
+ )\n\n")
24
+ ---------------
25
+
26
+ * which arguments to delegate on: manually trawled the documentation for
27
+ array-like and array arguments
28
+
29
+ """
30
+ import numpy as np
31
+ from scipy._lib._array_api import array_namespace, np_compat
32
+
33
+
34
+ def _skip_if_lti(arg):
35
+ """Handle `system` arg overloads.
36
+
37
+ ATM, only pass tuples through. Consider updating when cupyx.lti class
38
+ is supported.
39
+ """
40
+ if isinstance(arg, tuple):
41
+ return arg
42
+ else:
43
+ return (None,)
44
+
45
+
46
+ def _skip_if_str_or_tuple(window):
47
+ """Handle `window` being a str or a tuple or an array-like.
48
+ """
49
+ if isinstance(window, str) or isinstance(window, tuple) or callable(window):
50
+ return None
51
+ else:
52
+ return window
53
+
54
+
55
+ def _skip_if_poly1d(arg):
56
+ return None if isinstance(arg, np.poly1d) else arg
57
+
58
+
59
+ ###################
60
+
61
+ def abcd_normalize_signature(A=None, B=None, C=None, D=None):
62
+ return array_namespace(A, B, C, D)
63
+
64
+
65
+ def argrelextrema_signature(data, *args, **kwds):
66
+ return array_namespace(data)
67
+
68
+ argrelmax_signature = argrelextrema_signature
69
+ argrelmin_signature = argrelextrema_signature
70
+
71
+
72
+ def band_stop_obj_signature(wp, ind, passb, stopb, gpass, gstop, type):
73
+ return array_namespace(passb, stopb)
74
+
75
+
76
+ def bessel_signature(N, Wn, *args, **kwds):
77
+ return array_namespace(Wn)
78
+
79
+ butter_signature = bessel_signature
80
+
81
+
82
+ def cheby2_signature(N, rs, Wn, *args, **kwds):
83
+ return array_namespace(Wn)
84
+
85
+
86
+ def cheby1_signature(N, rp, Wn, *args, **kwds):
87
+ return array_namespace(Wn)
88
+
89
+
90
+ def ellip_signature(N, rp, rs, Wn, *args, **kwds):
91
+ return array_namespace(Wn)
92
+
93
+
94
+ ########################## XXX: no arrays in, arrays out
95
+ def besselap_signature(N, norm='phase'):
96
+ return np
97
+
98
+ def buttap_signature(N):
99
+ return np
100
+
101
+ def cheb1ap_signature(N, rp):
102
+ return np
103
+
104
+
105
+ def cheb2ap_signature(N, rs):
106
+ return np
107
+
108
+ def ellipap_signature(N, rp, rs):
109
+ return np
110
+
111
+ def correlation_lags_signature(in1_len, in2_len, mode='full'):
112
+ return np
113
+
114
+
115
+ def czt_points_signature(m, w=None, a=(1+0j)):
116
+ return np
117
+
118
+
119
+ def gammatone_signature(freq, ftype, order=None, numtaps=None, fs=None):
120
+ return np
121
+
122
+
123
+ def iircomb_signature(w0, Q, ftype='notch', fs=2.0, *, pass_zero=False):
124
+ return np
125
+
126
+
127
+ def iirnotch_signature(w0, Q, fs=2.0):
128
+ return np
129
+
130
+
131
+ def iirpeak_signature(w0, Q, fs=2.0):
132
+ return np
133
+
134
+
135
+ def savgol_coeffs_signature(
136
+ window_length, polyorder, deriv=0, delta=1.0, pos=None, use='conv'
137
+ ):
138
+ return np
139
+
140
+
141
+ def unit_impulse_signature(shape, idx=None, dtype=float):
142
+ return np
143
+ ############################
144
+
145
+
146
+ ####################### XXX: no arrays, maybe arrays out
147
+ def buttord_signature(wp, ws, gpass, gstop, analog=False, fs=None):
148
+ return np
149
+
150
+ def cheb1ord_signature(wp, ws, gpass, gstop, analog=False, fs=None):
151
+ return np
152
+
153
+ def cheb2ord_signature(wp, ws, gpass, gstop, analog=False, fs=None):
154
+ return np
155
+
156
+ def ellipord_signature(wp, ws, gpass, gstop, analog=False, fs=None):
157
+ return np
158
+ ###########################################
159
+
160
+
161
+ ########### NB: scalars in, scalars out
162
+ def kaiser_atten_signature(numtaps, width):
163
+ return np
164
+
165
+ def kaiser_beta_signature(a):
166
+ return np
167
+
168
+ def kaiserord_signature(ripple, width):
169
+ return np
170
+
171
+ def get_window_signature(window, Nx, fftbins=True, *, xp=None, device=None):
172
+ return np if xp is None else xp
173
+ #################################
174
+
175
+
176
+ def bode_signature(system, w=None, n=100):
177
+ return array_namespace(*_skip_if_lti(system), w)
178
+
179
+ dbode_signature = bode_signature
180
+
181
+
182
+ def freqresp_signature(system, w=None, n=10000):
183
+ return array_namespace(*_skip_if_lti(system), w)
184
+
185
+ dfreqresp_signature = freqresp_signature
186
+
187
+
188
+ def impulse_signature(system, X0=None, T=None, N=None):
189
+ return array_namespace(*_skip_if_lti(system), X0, T)
190
+
191
+
192
+ def dimpulse_signature(system, x0=None, t=None, n=None):
193
+ return array_namespace(*_skip_if_lti(system), x0, t)
194
+
195
+
196
+ def lsim_signature(system, U, T, X0=None, interp=True):
197
+ return array_namespace(*_skip_if_lti(system), U, T, X0)
198
+
199
+
200
+ def dlsim_signature(system, u, t=None, x0=None):
201
+ return array_namespace(*_skip_if_lti(system), u, t, x0)
202
+
203
+
204
+ def step_signature(system, X0=None, T=None, N=None):
205
+ return array_namespace(*_skip_if_lti(system), X0, T)
206
+
207
+ def dstep_signature(system, x0=None, t=None, n=None):
208
+ return array_namespace(*_skip_if_lti(system), x0, t)
209
+
210
+
211
+ def cont2discrete_signature(system, dt, method='zoh', alpha=None):
212
+ return array_namespace(*_skip_if_lti(system))
213
+
214
+
215
+ def bilinear_signature(b, a, fs=1.0):
216
+ return array_namespace(b, a)
217
+
218
+
219
+ def bilinear_zpk_signature(z, p, k, fs):
220
+ return array_namespace(z, p)
221
+
222
+
223
+ def chirp_signature(t,*args, **kwds):
224
+ return array_namespace(t)
225
+
226
+
227
+ ############## XXX: array-likes in, str out
228
+ def choose_conv_method_signature(in1, in2, *args, **kwds):
229
+ return array_namespace(in1, in2)
230
+ ############################################
231
+
232
+
233
+ def convolve_signature(in1, in2, *args, **kwds):
234
+ return array_namespace(in1, in2)
235
+
236
+ fftconvolve_signature = convolve_signature
237
+ oaconvolve_signature = convolve_signature
238
+ correlate_signature = convolve_signature
239
+ correlate_signature = convolve_signature
240
+ convolve2d_signature = convolve_signature
241
+ correlate2d_signature = convolve_signature
242
+
243
+
244
+ def coherence_signature(x, y, fs=1.0, window='hann', *args, **kwds):
245
+ return array_namespace(x, y, _skip_if_str_or_tuple(window))
246
+
247
+
248
+ def csd_signature(x, y, fs=1.0, window='hann', *args, **kwds):
249
+ return array_namespace(x, y, _skip_if_str_or_tuple(window))
250
+
251
+
252
+ def periodogram_signature(x, fs=1.0, window='boxcar'):
253
+ return array_namespace(x, _skip_if_str_or_tuple(window))
254
+
255
+
256
+ def welch_signature(x, fs=1.0, window='hann', *args, **kwds):
257
+ return array_namespace(x, _skip_if_str_or_tuple(window))
258
+
259
+
260
+ def spectrogram_signature(x, fs=1.0, window=('tukey', 0.25), *args, **kwds):
261
+ return array_namespace(x, _skip_if_str_or_tuple(window))
262
+
263
+
264
+ def stft_signature(x, fs=1.0, window='hann', *args, **kwds):
265
+ return array_namespace(x, _skip_if_str_or_tuple(window))
266
+
267
+
268
+ def istft_signature(Zxx, fs=1.0, window='hann', *args, **kwds):
269
+ return array_namespace(Zxx, _skip_if_str_or_tuple(window))
270
+
271
+
272
+ def resample_signature(x, num, t=None, axis=0, window=None, domain='time'):
273
+ return array_namespace(x, t, _skip_if_str_or_tuple(window))
274
+
275
+
276
+ def resample_poly_signature(x, up, down, axis=0, window=('kaiser', 5.0), *args, **kwds):
277
+ return array_namespace(x, _skip_if_str_or_tuple(window))
278
+
279
+
280
+ def check_COLA_signature(window, nperseg, noverlap, tol=1e-10):
281
+ return array_namespace(_skip_if_str_or_tuple(window))
282
+
283
+
284
+ def check_NOLA_signature(window, nperseg, noverlap, tol=1e-10):
285
+ return array_namespace(_skip_if_str_or_tuple(window))
286
+
287
+
288
+ def czt_signature(x, *args, **kwds):
289
+ return array_namespace(x)
290
+
291
+ decimate_signature = czt_signature
292
+ gauss_spline_signature = czt_signature
293
+
294
+
295
+ def deconvolve_signature(signal, divisor):
296
+ return array_namespace(signal, divisor)
297
+
298
+
299
+ def detrend_signature(data, axis=1, type='linear', bp=0, *args, **kwds):
300
+ return array_namespace(data, bp)
301
+
302
+
303
+ def filtfilt_signature(b, a, x, *args, **kwds):
304
+ return array_namespace(b, a, x)
305
+
306
+
307
+ def lfilter_signature(b, a, x, axis=-1, zi=None):
308
+ return array_namespace(b, a, x, zi)
309
+
310
+
311
+ def envelope_signature(z, *args, **kwds):
312
+ return array_namespace(z)
313
+
314
+
315
+ def find_peaks_signature(
316
+ x, height=None, threshold=None, distance=None, prominence=None, width=None,
317
+ wlen=None, rel_height=0.5, plateau_size=None
318
+ ):
319
+ return array_namespace(x, height, threshold, prominence, width, plateau_size)
320
+
321
+
322
+ def find_peaks_cwt_signature(
323
+ vector, widths, wavelet=None, max_distances=None, *args, **kwds
324
+ ):
325
+ return array_namespace(vector, widths, max_distances)
326
+
327
+
328
+ def findfreqs_signature(num, den, N, kind='ba'):
329
+ return array_namespace(num, den)
330
+
331
+
332
+ def firls_signature(numtaps, bands, desired, *, weight=None, fs=None):
333
+ return array_namespace(bands, desired, weight)
334
+
335
+
336
+ def firwin_signature(numtaps, cutoff, *args, **kwds):
337
+ if isinstance(cutoff, int | float):
338
+ xp = np_compat
339
+ else:
340
+ xp = array_namespace(cutoff)
341
+ return xp
342
+
343
+
344
+ def firwin2_signature(numtaps, freq, gain, *args, **kwds):
345
+ return array_namespace(freq, gain)
346
+
347
+
348
+ def freqs_zpk_signature(z, p, k, worN, *args, **kwds):
349
+ return array_namespace(z, p, worN)
350
+
351
+ freqz_zpk_signature = freqs_zpk_signature
352
+
353
+
354
+ def freqs_signature(b, a, worN=200, *args, **kwds):
355
+ return array_namespace(b, a, worN)
356
+
357
+ freqz_signature = freqs_signature
358
+
359
+
360
+ def freqz_sos_signature(sos, worN=512, *args, **kwds):
361
+ return array_namespace(sos, worN)
362
+
363
+ sosfreqz_signature = freqz_sos_signature
364
+
365
+
366
+ def gausspulse_signature(t, *args, **kwds):
367
+ arr_t = None if isinstance(t, str) else t
368
+ return array_namespace(arr_t)
369
+
370
+
371
+ def group_delay_signature(system, w=512, whole=False, fs=6.283185307179586):
372
+ return array_namespace(_skip_if_str_or_tuple(system), w)
373
+
374
+
375
+ def hilbert_signature(x, N=None, axis=-1):
376
+ return array_namespace(x)
377
+
378
+ hilbert2_signature = hilbert_signature
379
+
380
+
381
+ def iirdesign_signature(wp, ws, *args, **kwds):
382
+ return array_namespace(wp, ws)
383
+
384
+
385
+ def iirfilter_signature(N, Wn, *args, **kwds):
386
+ return array_namespace(Wn)
387
+
388
+
389
+ def invres_signature(r, p, k, tol=0.001, rtype='avg'):
390
+ return array_namespace(r, p, k)
391
+
392
+ invresz_signature = invres_signature
393
+
394
+
395
+ ############################### XXX: excluded, blacklisted on CuPy (mismatched API)
396
+ def lfilter_zi_signature(b, a):
397
+ return array_namespace(b, a)
398
+
399
+ def sosfilt_zi_signature(sos):
400
+ return array_namespace(sos)
401
+
402
+ # needs to be blacklisted on CuPy (is not implemented)
403
+ def remez_signature(numtaps, bands, desired, *, weight=None, **kwds):
404
+ return array_namespace(bands, desired, weight)
405
+ #############################################
406
+
407
+ def lfiltic_signature(b, a, y, x=None):
408
+ return array_namespace(b, a, y, x)
409
+
410
+
411
+ def lombscargle_signature(
412
+ x, y, freqs, precenter=False, normalize=False, *,
413
+ weights=None, floating_mean=False
414
+ ):
415
+ return array_namespace(x, y, freqs, weights)
416
+
417
+
418
+ def lp2bp_signature(b, a, *args, **kwds):
419
+ return array_namespace(b, a)
420
+
421
+ lp2bs_signature = lp2bp_signature
422
+ lp2hp_signature = lp2bp_signature
423
+ lp2lp_signature = lp2bp_signature
424
+
425
+ tf2zpk_signature = lp2bp_signature
426
+ tf2sos_signature = lp2bp_signature
427
+
428
+ normalize_signature = lp2bp_signature
429
+ residue_signature = lp2bp_signature
430
+ residuez_signature = residue_signature
431
+
432
+
433
+ def lp2bp_zpk_signature(z, p, k, *args, **kwds):
434
+ return array_namespace(z, p)
435
+
436
+ lp2bs_zpk_signature = lp2bp_zpk_signature
437
+ lp2hp_zpk_signature = lp2bs_zpk_signature
438
+ lp2lp_zpk_signature = lp2bs_zpk_signature
439
+
440
+
441
+ def zpk2sos_signature(z, p, k, *args, **kwds):
442
+ return array_namespace(z, p)
443
+
444
+ zpk2ss_signature = zpk2sos_signature
445
+ zpk2tf_signature = zpk2sos_signature
446
+
447
+
448
+ def max_len_seq_signature(nbits, state=None, length=None, taps=None):
449
+ return array_namespace(state, taps)
450
+
451
+
452
+ def medfilt_signature(volume, kernel_size=None):
453
+ return array_namespace(volume)
454
+
455
+
456
+ def medfilt2d_signature(input, kernel_size=3):
457
+ return array_namespace(input)
458
+
459
+
460
+ def minimum_phase_signature(h, *args, **kwds):
461
+ return array_namespace(h)
462
+
463
+
464
+ def order_filter_signature(a, domain, rank):
465
+ return array_namespace(a, domain)
466
+
467
+
468
+ def peak_prominences_signature(x, peaks, *args, **kwds):
469
+ return array_namespace(x, peaks)
470
+
471
+
472
+ peak_widths_signature = peak_prominences_signature
473
+
474
+
475
+ def place_poles_signature(A, B, poles, method='YT', rtol=0.001, maxiter=30):
476
+ return array_namespace(A, B, poles)
477
+
478
+
479
+ def savgol_filter_signature(x, *args, **kwds):
480
+ return array_namespace(x)
481
+
482
+
483
+ def sawtooth_signature(t, width=1):
484
+ return array_namespace(t)
485
+
486
+
487
+ def sepfir2d_signature(input, hrow, hcol):
488
+ return array_namespace(input, hrow, hcol)
489
+
490
+
491
+ def sos2tf_signature(sos):
492
+ return array_namespace(sos)
493
+
494
+
495
+ sos2zpk_signature = sos2tf_signature
496
+
497
+
498
+ def sosfilt_signature(sos, x, axis=-1, zi=None):
499
+ return array_namespace(sos, x, zi)
500
+
501
+
502
+ def sosfiltfilt_signature(sos, x, *args, **kwds):
503
+ return array_namespace(sos, x)
504
+
505
+
506
+ def spline_filter_signature(Iin, lmbda=5.0):
507
+ return array_namespace(Iin)
508
+
509
+
510
+ def square_signature(t, duty=0.5):
511
+ return array_namespace(t)
512
+
513
+
514
+ def ss2tf_signature(A, B, C, D, input=0):
515
+ return array_namespace(A, B, C, D)
516
+
517
+ ss2zpk_signature = ss2tf_signature
518
+
519
+
520
+ def sweep_poly_signature(t, poly, phi=0):
521
+ return array_namespace(t, _skip_if_poly1d(poly))
522
+
523
+
524
+ def symiirorder1_signature(signal, c0, z1, precision=-1.0):
525
+ return array_namespace(signal)
526
+
527
+
528
+ def symiirorder2_signature(input, r, omega, precision=-1.0):
529
+ return array_namespace(input, r, omega)
530
+
531
+
532
+ def cspline1d_signature(signal, *args, **kwds):
533
+ return array_namespace(signal)
534
+
535
+ qspline1d_signature = cspline1d_signature
536
+ cspline2d_signature = cspline1d_signature
537
+ qspline2d_signature = qspline1d_signature
538
+
539
+
540
+ def cspline1d_eval_signature(cj, newx, *args, **kwds):
541
+ return array_namespace(cj, newx)
542
+
543
+ qspline1d_eval_signature = cspline1d_eval_signature
544
+
545
+
546
+ def tf2ss_signature(num, den):
547
+ return array_namespace(num, den)
548
+
549
+
550
+ def unique_roots_signature(p, tol=0.001, rtype='min'):
551
+ return array_namespace(p)
552
+
553
+
554
+ def upfirdn_signature(h, x, up=1, down=1, axis=-1, mode='constant', cval=0):
555
+ return array_namespace(h, x)
556
+
557
+
558
+ def vectorstrength_signature(events, period):
559
+ return array_namespace(events, period)
560
+
561
+
562
+ def wiener_signature(im, mysize=None, noise=None):
563
+ return array_namespace(im)
564
+
565
+
566
+ def zoom_fft_signature(x, fn, m=None, *, fs=2, endpoint=False, axis=-1):
567
+ return array_namespace(x, fn)
568
+