scipy 1.16.1__cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.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 (1417) hide show
  1. scipy/__config__.py +161 -0
  2. scipy/__init__.py +138 -0
  3. scipy/_cyutility.cpython-314t-x86_64-linux-gnu.so +0 -0
  4. scipy/_distributor_init.py +18 -0
  5. scipy/_lib/__init__.py +14 -0
  6. scipy/_lib/_array_api.py +931 -0
  7. scipy/_lib/_array_api_compat_vendor.py +9 -0
  8. scipy/_lib/_array_api_no_0d.py +103 -0
  9. scipy/_lib/_bunch.py +229 -0
  10. scipy/_lib/_ccallback.py +251 -0
  11. scipy/_lib/_ccallback_c.cpython-314t-x86_64-linux-gnu.so +0 -0
  12. scipy/_lib/_disjoint_set.py +254 -0
  13. scipy/_lib/_docscrape.py +761 -0
  14. scipy/_lib/_elementwise_iterative_method.py +346 -0
  15. scipy/_lib/_fpumode.cpython-314t-x86_64-linux-gnu.so +0 -0
  16. scipy/_lib/_gcutils.py +105 -0
  17. scipy/_lib/_pep440.py +487 -0
  18. scipy/_lib/_sparse.py +41 -0
  19. scipy/_lib/_test_ccallback.cpython-314t-x86_64-linux-gnu.so +0 -0
  20. scipy/_lib/_test_deprecation_call.cpython-314t-x86_64-linux-gnu.so +0 -0
  21. scipy/_lib/_test_deprecation_def.cpython-314t-x86_64-linux-gnu.so +0 -0
  22. scipy/_lib/_testutils.py +373 -0
  23. scipy/_lib/_threadsafety.py +58 -0
  24. scipy/_lib/_tmpdirs.py +86 -0
  25. scipy/_lib/_uarray/LICENSE +29 -0
  26. scipy/_lib/_uarray/__init__.py +116 -0
  27. scipy/_lib/_uarray/_backend.py +707 -0
  28. scipy/_lib/_uarray/_uarray.cpython-314t-x86_64-linux-gnu.so +0 -0
  29. scipy/_lib/_util.py +1283 -0
  30. scipy/_lib/array_api_compat/__init__.py +22 -0
  31. scipy/_lib/array_api_compat/_internal.py +59 -0
  32. scipy/_lib/array_api_compat/common/__init__.py +1 -0
  33. scipy/_lib/array_api_compat/common/_aliases.py +727 -0
  34. scipy/_lib/array_api_compat/common/_fft.py +213 -0
  35. scipy/_lib/array_api_compat/common/_helpers.py +1058 -0
  36. scipy/_lib/array_api_compat/common/_linalg.py +232 -0
  37. scipy/_lib/array_api_compat/common/_typing.py +192 -0
  38. scipy/_lib/array_api_compat/cupy/__init__.py +13 -0
  39. scipy/_lib/array_api_compat/cupy/_aliases.py +156 -0
  40. scipy/_lib/array_api_compat/cupy/_info.py +336 -0
  41. scipy/_lib/array_api_compat/cupy/_typing.py +31 -0
  42. scipy/_lib/array_api_compat/cupy/fft.py +36 -0
  43. scipy/_lib/array_api_compat/cupy/linalg.py +49 -0
  44. scipy/_lib/array_api_compat/dask/__init__.py +0 -0
  45. scipy/_lib/array_api_compat/dask/array/__init__.py +12 -0
  46. scipy/_lib/array_api_compat/dask/array/_aliases.py +376 -0
  47. scipy/_lib/array_api_compat/dask/array/_info.py +416 -0
  48. scipy/_lib/array_api_compat/dask/array/fft.py +21 -0
  49. scipy/_lib/array_api_compat/dask/array/linalg.py +72 -0
  50. scipy/_lib/array_api_compat/numpy/__init__.py +28 -0
  51. scipy/_lib/array_api_compat/numpy/_aliases.py +190 -0
  52. scipy/_lib/array_api_compat/numpy/_info.py +366 -0
  53. scipy/_lib/array_api_compat/numpy/_typing.py +30 -0
  54. scipy/_lib/array_api_compat/numpy/fft.py +35 -0
  55. scipy/_lib/array_api_compat/numpy/linalg.py +143 -0
  56. scipy/_lib/array_api_compat/torch/__init__.py +22 -0
  57. scipy/_lib/array_api_compat/torch/_aliases.py +855 -0
  58. scipy/_lib/array_api_compat/torch/_info.py +369 -0
  59. scipy/_lib/array_api_compat/torch/_typing.py +3 -0
  60. scipy/_lib/array_api_compat/torch/fft.py +85 -0
  61. scipy/_lib/array_api_compat/torch/linalg.py +121 -0
  62. scipy/_lib/array_api_extra/__init__.py +38 -0
  63. scipy/_lib/array_api_extra/_delegation.py +171 -0
  64. scipy/_lib/array_api_extra/_lib/__init__.py +1 -0
  65. scipy/_lib/array_api_extra/_lib/_at.py +463 -0
  66. scipy/_lib/array_api_extra/_lib/_backends.py +46 -0
  67. scipy/_lib/array_api_extra/_lib/_funcs.py +937 -0
  68. scipy/_lib/array_api_extra/_lib/_lazy.py +357 -0
  69. scipy/_lib/array_api_extra/_lib/_testing.py +278 -0
  70. scipy/_lib/array_api_extra/_lib/_utils/__init__.py +1 -0
  71. scipy/_lib/array_api_extra/_lib/_utils/_compat.py +74 -0
  72. scipy/_lib/array_api_extra/_lib/_utils/_compat.pyi +45 -0
  73. scipy/_lib/array_api_extra/_lib/_utils/_helpers.py +559 -0
  74. scipy/_lib/array_api_extra/_lib/_utils/_typing.py +10 -0
  75. scipy/_lib/array_api_extra/_lib/_utils/_typing.pyi +105 -0
  76. scipy/_lib/array_api_extra/testing.py +359 -0
  77. scipy/_lib/cobyqa/__init__.py +20 -0
  78. scipy/_lib/cobyqa/framework.py +1240 -0
  79. scipy/_lib/cobyqa/main.py +1506 -0
  80. scipy/_lib/cobyqa/models.py +1529 -0
  81. scipy/_lib/cobyqa/problem.py +1296 -0
  82. scipy/_lib/cobyqa/settings.py +132 -0
  83. scipy/_lib/cobyqa/subsolvers/__init__.py +14 -0
  84. scipy/_lib/cobyqa/subsolvers/geometry.py +387 -0
  85. scipy/_lib/cobyqa/subsolvers/optim.py +1203 -0
  86. scipy/_lib/cobyqa/utils/__init__.py +18 -0
  87. scipy/_lib/cobyqa/utils/exceptions.py +22 -0
  88. scipy/_lib/cobyqa/utils/math.py +77 -0
  89. scipy/_lib/cobyqa/utils/versions.py +67 -0
  90. scipy/_lib/decorator.py +399 -0
  91. scipy/_lib/deprecation.py +274 -0
  92. scipy/_lib/doccer.py +366 -0
  93. scipy/_lib/messagestream.cpython-314t-x86_64-linux-gnu.so +0 -0
  94. scipy/_lib/pyprima/__init__.py +212 -0
  95. scipy/_lib/pyprima/cobyla/__init__.py +0 -0
  96. scipy/_lib/pyprima/cobyla/cobyla.py +559 -0
  97. scipy/_lib/pyprima/cobyla/cobylb.py +714 -0
  98. scipy/_lib/pyprima/cobyla/geometry.py +226 -0
  99. scipy/_lib/pyprima/cobyla/initialize.py +215 -0
  100. scipy/_lib/pyprima/cobyla/trustregion.py +492 -0
  101. scipy/_lib/pyprima/cobyla/update.py +289 -0
  102. scipy/_lib/pyprima/common/__init__.py +0 -0
  103. scipy/_lib/pyprima/common/_bounds.py +34 -0
  104. scipy/_lib/pyprima/common/_linear_constraints.py +46 -0
  105. scipy/_lib/pyprima/common/_nonlinear_constraints.py +54 -0
  106. scipy/_lib/pyprima/common/_project.py +173 -0
  107. scipy/_lib/pyprima/common/checkbreak.py +93 -0
  108. scipy/_lib/pyprima/common/consts.py +47 -0
  109. scipy/_lib/pyprima/common/evaluate.py +99 -0
  110. scipy/_lib/pyprima/common/history.py +38 -0
  111. scipy/_lib/pyprima/common/infos.py +30 -0
  112. scipy/_lib/pyprima/common/linalg.py +435 -0
  113. scipy/_lib/pyprima/common/message.py +290 -0
  114. scipy/_lib/pyprima/common/powalg.py +131 -0
  115. scipy/_lib/pyprima/common/preproc.py +277 -0
  116. scipy/_lib/pyprima/common/present.py +5 -0
  117. scipy/_lib/pyprima/common/ratio.py +54 -0
  118. scipy/_lib/pyprima/common/redrho.py +47 -0
  119. scipy/_lib/pyprima/common/selectx.py +296 -0
  120. scipy/_lib/tests/__init__.py +0 -0
  121. scipy/_lib/tests/test__gcutils.py +110 -0
  122. scipy/_lib/tests/test__pep440.py +67 -0
  123. scipy/_lib/tests/test__testutils.py +32 -0
  124. scipy/_lib/tests/test__threadsafety.py +51 -0
  125. scipy/_lib/tests/test__util.py +641 -0
  126. scipy/_lib/tests/test_array_api.py +322 -0
  127. scipy/_lib/tests/test_bunch.py +169 -0
  128. scipy/_lib/tests/test_ccallback.py +196 -0
  129. scipy/_lib/tests/test_config.py +45 -0
  130. scipy/_lib/tests/test_deprecation.py +10 -0
  131. scipy/_lib/tests/test_doccer.py +143 -0
  132. scipy/_lib/tests/test_import_cycles.py +18 -0
  133. scipy/_lib/tests/test_public_api.py +482 -0
  134. scipy/_lib/tests/test_scipy_version.py +28 -0
  135. scipy/_lib/tests/test_tmpdirs.py +48 -0
  136. scipy/_lib/tests/test_warnings.py +137 -0
  137. scipy/_lib/uarray.py +31 -0
  138. scipy/cluster/__init__.py +31 -0
  139. scipy/cluster/_hierarchy.cpython-314t-x86_64-linux-gnu.so +0 -0
  140. scipy/cluster/_optimal_leaf_ordering.cpython-314t-x86_64-linux-gnu.so +0 -0
  141. scipy/cluster/_vq.cpython-314t-x86_64-linux-gnu.so +0 -0
  142. scipy/cluster/hierarchy.py +4348 -0
  143. scipy/cluster/tests/__init__.py +0 -0
  144. scipy/cluster/tests/hierarchy_test_data.py +145 -0
  145. scipy/cluster/tests/test_disjoint_set.py +202 -0
  146. scipy/cluster/tests/test_hierarchy.py +1238 -0
  147. scipy/cluster/tests/test_vq.py +434 -0
  148. scipy/cluster/vq.py +832 -0
  149. scipy/conftest.py +683 -0
  150. scipy/constants/__init__.py +358 -0
  151. scipy/constants/_codata.py +2266 -0
  152. scipy/constants/_constants.py +369 -0
  153. scipy/constants/codata.py +21 -0
  154. scipy/constants/constants.py +53 -0
  155. scipy/constants/tests/__init__.py +0 -0
  156. scipy/constants/tests/test_codata.py +78 -0
  157. scipy/constants/tests/test_constants.py +83 -0
  158. scipy/datasets/__init__.py +90 -0
  159. scipy/datasets/_download_all.py +71 -0
  160. scipy/datasets/_fetchers.py +225 -0
  161. scipy/datasets/_registry.py +26 -0
  162. scipy/datasets/_utils.py +81 -0
  163. scipy/datasets/tests/__init__.py +0 -0
  164. scipy/datasets/tests/test_data.py +128 -0
  165. scipy/differentiate/__init__.py +27 -0
  166. scipy/differentiate/_differentiate.py +1129 -0
  167. scipy/differentiate/tests/__init__.py +0 -0
  168. scipy/differentiate/tests/test_differentiate.py +694 -0
  169. scipy/fft/__init__.py +114 -0
  170. scipy/fft/_backend.py +196 -0
  171. scipy/fft/_basic.py +1650 -0
  172. scipy/fft/_basic_backend.py +197 -0
  173. scipy/fft/_debug_backends.py +22 -0
  174. scipy/fft/_fftlog.py +223 -0
  175. scipy/fft/_fftlog_backend.py +200 -0
  176. scipy/fft/_helper.py +348 -0
  177. scipy/fft/_pocketfft/LICENSE.md +25 -0
  178. scipy/fft/_pocketfft/__init__.py +9 -0
  179. scipy/fft/_pocketfft/basic.py +251 -0
  180. scipy/fft/_pocketfft/helper.py +249 -0
  181. scipy/fft/_pocketfft/pypocketfft.cpython-314t-x86_64-linux-gnu.so +0 -0
  182. scipy/fft/_pocketfft/realtransforms.py +109 -0
  183. scipy/fft/_pocketfft/tests/__init__.py +0 -0
  184. scipy/fft/_pocketfft/tests/test_basic.py +1011 -0
  185. scipy/fft/_pocketfft/tests/test_real_transforms.py +505 -0
  186. scipy/fft/_realtransforms.py +706 -0
  187. scipy/fft/_realtransforms_backend.py +63 -0
  188. scipy/fft/tests/__init__.py +0 -0
  189. scipy/fft/tests/mock_backend.py +96 -0
  190. scipy/fft/tests/test_backend.py +98 -0
  191. scipy/fft/tests/test_basic.py +504 -0
  192. scipy/fft/tests/test_fftlog.py +215 -0
  193. scipy/fft/tests/test_helper.py +558 -0
  194. scipy/fft/tests/test_multithreading.py +84 -0
  195. scipy/fft/tests/test_real_transforms.py +247 -0
  196. scipy/fftpack/__init__.py +103 -0
  197. scipy/fftpack/_basic.py +428 -0
  198. scipy/fftpack/_helper.py +115 -0
  199. scipy/fftpack/_pseudo_diffs.py +554 -0
  200. scipy/fftpack/_realtransforms.py +598 -0
  201. scipy/fftpack/basic.py +20 -0
  202. scipy/fftpack/convolve.cpython-314t-x86_64-linux-gnu.so +0 -0
  203. scipy/fftpack/helper.py +19 -0
  204. scipy/fftpack/pseudo_diffs.py +22 -0
  205. scipy/fftpack/realtransforms.py +19 -0
  206. scipy/fftpack/tests/__init__.py +0 -0
  207. scipy/fftpack/tests/fftw_double_ref.npz +0 -0
  208. scipy/fftpack/tests/fftw_longdouble_ref.npz +0 -0
  209. scipy/fftpack/tests/fftw_single_ref.npz +0 -0
  210. scipy/fftpack/tests/test.npz +0 -0
  211. scipy/fftpack/tests/test_basic.py +877 -0
  212. scipy/fftpack/tests/test_helper.py +54 -0
  213. scipy/fftpack/tests/test_import.py +33 -0
  214. scipy/fftpack/tests/test_pseudo_diffs.py +388 -0
  215. scipy/fftpack/tests/test_real_transforms.py +836 -0
  216. scipy/integrate/__init__.py +122 -0
  217. scipy/integrate/_bvp.py +1160 -0
  218. scipy/integrate/_cubature.py +729 -0
  219. scipy/integrate/_dop.cpython-314t-x86_64-linux-gnu.so +0 -0
  220. scipy/integrate/_ivp/__init__.py +8 -0
  221. scipy/integrate/_ivp/base.py +290 -0
  222. scipy/integrate/_ivp/bdf.py +478 -0
  223. scipy/integrate/_ivp/common.py +451 -0
  224. scipy/integrate/_ivp/dop853_coefficients.py +193 -0
  225. scipy/integrate/_ivp/ivp.py +755 -0
  226. scipy/integrate/_ivp/lsoda.py +224 -0
  227. scipy/integrate/_ivp/radau.py +572 -0
  228. scipy/integrate/_ivp/rk.py +601 -0
  229. scipy/integrate/_ivp/tests/__init__.py +0 -0
  230. scipy/integrate/_ivp/tests/test_ivp.py +1287 -0
  231. scipy/integrate/_ivp/tests/test_rk.py +37 -0
  232. scipy/integrate/_lebedev.py +5450 -0
  233. scipy/integrate/_lsoda.cpython-314t-x86_64-linux-gnu.so +0 -0
  234. scipy/integrate/_ode.py +1395 -0
  235. scipy/integrate/_odepack.cpython-314t-x86_64-linux-gnu.so +0 -0
  236. scipy/integrate/_odepack_py.py +273 -0
  237. scipy/integrate/_quad_vec.py +674 -0
  238. scipy/integrate/_quadpack.cpython-314t-x86_64-linux-gnu.so +0 -0
  239. scipy/integrate/_quadpack_py.py +1283 -0
  240. scipy/integrate/_quadrature.py +1336 -0
  241. scipy/integrate/_rules/__init__.py +12 -0
  242. scipy/integrate/_rules/_base.py +518 -0
  243. scipy/integrate/_rules/_gauss_kronrod.py +202 -0
  244. scipy/integrate/_rules/_gauss_legendre.py +62 -0
  245. scipy/integrate/_rules/_genz_malik.py +210 -0
  246. scipy/integrate/_tanhsinh.py +1385 -0
  247. scipy/integrate/_test_multivariate.cpython-314t-x86_64-linux-gnu.so +0 -0
  248. scipy/integrate/_test_odeint_banded.cpython-314t-x86_64-linux-gnu.so +0 -0
  249. scipy/integrate/_vode.cpython-314t-x86_64-linux-gnu.so +0 -0
  250. scipy/integrate/dop.py +15 -0
  251. scipy/integrate/lsoda.py +15 -0
  252. scipy/integrate/odepack.py +17 -0
  253. scipy/integrate/quadpack.py +23 -0
  254. scipy/integrate/tests/__init__.py +0 -0
  255. scipy/integrate/tests/test__quad_vec.py +211 -0
  256. scipy/integrate/tests/test_banded_ode_solvers.py +305 -0
  257. scipy/integrate/tests/test_bvp.py +714 -0
  258. scipy/integrate/tests/test_cubature.py +1375 -0
  259. scipy/integrate/tests/test_integrate.py +840 -0
  260. scipy/integrate/tests/test_odeint_jac.py +74 -0
  261. scipy/integrate/tests/test_quadpack.py +680 -0
  262. scipy/integrate/tests/test_quadrature.py +730 -0
  263. scipy/integrate/tests/test_tanhsinh.py +1171 -0
  264. scipy/integrate/vode.py +15 -0
  265. scipy/interpolate/__init__.py +228 -0
  266. scipy/interpolate/_bary_rational.py +715 -0
  267. scipy/interpolate/_bsplines.py +2469 -0
  268. scipy/interpolate/_cubic.py +973 -0
  269. scipy/interpolate/_dfitpack.cpython-314t-x86_64-linux-gnu.so +0 -0
  270. scipy/interpolate/_dierckx.cpython-314t-x86_64-linux-gnu.so +0 -0
  271. scipy/interpolate/_fitpack.cpython-314t-x86_64-linux-gnu.so +0 -0
  272. scipy/interpolate/_fitpack2.py +2397 -0
  273. scipy/interpolate/_fitpack_impl.py +811 -0
  274. scipy/interpolate/_fitpack_py.py +898 -0
  275. scipy/interpolate/_fitpack_repro.py +996 -0
  276. scipy/interpolate/_interpnd.cpython-314t-x86_64-linux-gnu.so +0 -0
  277. scipy/interpolate/_interpolate.py +2266 -0
  278. scipy/interpolate/_ndbspline.py +415 -0
  279. scipy/interpolate/_ndgriddata.py +329 -0
  280. scipy/interpolate/_pade.py +67 -0
  281. scipy/interpolate/_polyint.py +1025 -0
  282. scipy/interpolate/_ppoly.cpython-314t-x86_64-linux-gnu.so +0 -0
  283. scipy/interpolate/_rbf.py +290 -0
  284. scipy/interpolate/_rbfinterp.py +550 -0
  285. scipy/interpolate/_rbfinterp_pythran.cpython-314t-x86_64-linux-gnu.so +0 -0
  286. scipy/interpolate/_rgi.py +764 -0
  287. scipy/interpolate/_rgi_cython.cpython-314t-x86_64-linux-gnu.so +0 -0
  288. scipy/interpolate/dfitpack.py +24 -0
  289. scipy/interpolate/fitpack.py +31 -0
  290. scipy/interpolate/fitpack2.py +29 -0
  291. scipy/interpolate/interpnd.py +24 -0
  292. scipy/interpolate/interpolate.py +30 -0
  293. scipy/interpolate/ndgriddata.py +23 -0
  294. scipy/interpolate/polyint.py +24 -0
  295. scipy/interpolate/rbf.py +18 -0
  296. scipy/interpolate/tests/__init__.py +0 -0
  297. scipy/interpolate/tests/data/bug-1310.npz +0 -0
  298. scipy/interpolate/tests/data/estimate_gradients_hang.npy +0 -0
  299. scipy/interpolate/tests/data/gcvspl.npz +0 -0
  300. scipy/interpolate/tests/test_bary_rational.py +368 -0
  301. scipy/interpolate/tests/test_bsplines.py +3754 -0
  302. scipy/interpolate/tests/test_fitpack.py +519 -0
  303. scipy/interpolate/tests/test_fitpack2.py +1431 -0
  304. scipy/interpolate/tests/test_gil.py +64 -0
  305. scipy/interpolate/tests/test_interpnd.py +452 -0
  306. scipy/interpolate/tests/test_interpolate.py +2630 -0
  307. scipy/interpolate/tests/test_ndgriddata.py +308 -0
  308. scipy/interpolate/tests/test_pade.py +107 -0
  309. scipy/interpolate/tests/test_polyint.py +972 -0
  310. scipy/interpolate/tests/test_rbf.py +246 -0
  311. scipy/interpolate/tests/test_rbfinterp.py +534 -0
  312. scipy/interpolate/tests/test_rgi.py +1151 -0
  313. scipy/io/__init__.py +116 -0
  314. scipy/io/_fast_matrix_market/__init__.py +600 -0
  315. scipy/io/_fast_matrix_market/_fmm_core.cpython-314t-x86_64-linux-gnu.so +0 -0
  316. scipy/io/_fortran.py +354 -0
  317. scipy/io/_harwell_boeing/__init__.py +7 -0
  318. scipy/io/_harwell_boeing/_fortran_format_parser.py +316 -0
  319. scipy/io/_harwell_boeing/hb.py +571 -0
  320. scipy/io/_harwell_boeing/tests/__init__.py +0 -0
  321. scipy/io/_harwell_boeing/tests/test_fortran_format.py +74 -0
  322. scipy/io/_harwell_boeing/tests/test_hb.py +70 -0
  323. scipy/io/_idl.py +917 -0
  324. scipy/io/_mmio.py +968 -0
  325. scipy/io/_netcdf.py +1104 -0
  326. scipy/io/_test_fortran.cpython-314t-x86_64-linux-gnu.so +0 -0
  327. scipy/io/arff/__init__.py +28 -0
  328. scipy/io/arff/_arffread.py +873 -0
  329. scipy/io/arff/arffread.py +19 -0
  330. scipy/io/arff/tests/__init__.py +0 -0
  331. scipy/io/arff/tests/data/iris.arff +225 -0
  332. scipy/io/arff/tests/data/missing.arff +8 -0
  333. scipy/io/arff/tests/data/nodata.arff +11 -0
  334. scipy/io/arff/tests/data/quoted_nominal.arff +13 -0
  335. scipy/io/arff/tests/data/quoted_nominal_spaces.arff +13 -0
  336. scipy/io/arff/tests/data/test1.arff +10 -0
  337. scipy/io/arff/tests/data/test10.arff +8 -0
  338. scipy/io/arff/tests/data/test11.arff +11 -0
  339. scipy/io/arff/tests/data/test2.arff +15 -0
  340. scipy/io/arff/tests/data/test3.arff +6 -0
  341. scipy/io/arff/tests/data/test4.arff +11 -0
  342. scipy/io/arff/tests/data/test5.arff +26 -0
  343. scipy/io/arff/tests/data/test6.arff +12 -0
  344. scipy/io/arff/tests/data/test7.arff +15 -0
  345. scipy/io/arff/tests/data/test8.arff +12 -0
  346. scipy/io/arff/tests/data/test9.arff +14 -0
  347. scipy/io/arff/tests/test_arffread.py +421 -0
  348. scipy/io/harwell_boeing.py +17 -0
  349. scipy/io/idl.py +17 -0
  350. scipy/io/matlab/__init__.py +66 -0
  351. scipy/io/matlab/_byteordercodes.py +75 -0
  352. scipy/io/matlab/_mio.py +375 -0
  353. scipy/io/matlab/_mio4.py +632 -0
  354. scipy/io/matlab/_mio5.py +901 -0
  355. scipy/io/matlab/_mio5_params.py +281 -0
  356. scipy/io/matlab/_mio5_utils.cpython-314t-x86_64-linux-gnu.so +0 -0
  357. scipy/io/matlab/_mio_utils.cpython-314t-x86_64-linux-gnu.so +0 -0
  358. scipy/io/matlab/_miobase.py +435 -0
  359. scipy/io/matlab/_streams.cpython-314t-x86_64-linux-gnu.so +0 -0
  360. scipy/io/matlab/byteordercodes.py +17 -0
  361. scipy/io/matlab/mio.py +16 -0
  362. scipy/io/matlab/mio4.py +17 -0
  363. scipy/io/matlab/mio5.py +19 -0
  364. scipy/io/matlab/mio5_params.py +18 -0
  365. scipy/io/matlab/mio5_utils.py +17 -0
  366. scipy/io/matlab/mio_utils.py +17 -0
  367. scipy/io/matlab/miobase.py +16 -0
  368. scipy/io/matlab/streams.py +16 -0
  369. scipy/io/matlab/tests/__init__.py +0 -0
  370. scipy/io/matlab/tests/data/bad_miuint32.mat +0 -0
  371. scipy/io/matlab/tests/data/bad_miutf8_array_name.mat +0 -0
  372. scipy/io/matlab/tests/data/big_endian.mat +0 -0
  373. scipy/io/matlab/tests/data/broken_utf8.mat +0 -0
  374. scipy/io/matlab/tests/data/corrupted_zlib_checksum.mat +0 -0
  375. scipy/io/matlab/tests/data/corrupted_zlib_data.mat +0 -0
  376. scipy/io/matlab/tests/data/debigged_m4.mat +0 -0
  377. scipy/io/matlab/tests/data/japanese_utf8.txt +5 -0
  378. scipy/io/matlab/tests/data/little_endian.mat +0 -0
  379. scipy/io/matlab/tests/data/logical_sparse.mat +0 -0
  380. scipy/io/matlab/tests/data/malformed1.mat +0 -0
  381. scipy/io/matlab/tests/data/miuint32_for_miint32.mat +0 -0
  382. scipy/io/matlab/tests/data/miutf8_array_name.mat +0 -0
  383. scipy/io/matlab/tests/data/nasty_duplicate_fieldnames.mat +0 -0
  384. scipy/io/matlab/tests/data/one_by_zero_char.mat +0 -0
  385. scipy/io/matlab/tests/data/parabola.mat +0 -0
  386. scipy/io/matlab/tests/data/single_empty_string.mat +0 -0
  387. scipy/io/matlab/tests/data/some_functions.mat +0 -0
  388. scipy/io/matlab/tests/data/sqr.mat +0 -0
  389. scipy/io/matlab/tests/data/test3dmatrix_6.1_SOL2.mat +0 -0
  390. scipy/io/matlab/tests/data/test3dmatrix_6.5.1_GLNX86.mat +0 -0
  391. scipy/io/matlab/tests/data/test3dmatrix_7.1_GLNX86.mat +0 -0
  392. scipy/io/matlab/tests/data/test3dmatrix_7.4_GLNX86.mat +0 -0
  393. scipy/io/matlab/tests/data/test_empty_struct.mat +0 -0
  394. scipy/io/matlab/tests/data/test_mat4_le_floats.mat +0 -0
  395. scipy/io/matlab/tests/data/test_skip_variable.mat +0 -0
  396. scipy/io/matlab/tests/data/testbool_8_WIN64.mat +0 -0
  397. scipy/io/matlab/tests/data/testcell_6.1_SOL2.mat +0 -0
  398. scipy/io/matlab/tests/data/testcell_6.5.1_GLNX86.mat +0 -0
  399. scipy/io/matlab/tests/data/testcell_7.1_GLNX86.mat +0 -0
  400. scipy/io/matlab/tests/data/testcell_7.4_GLNX86.mat +0 -0
  401. scipy/io/matlab/tests/data/testcellnest_6.1_SOL2.mat +0 -0
  402. scipy/io/matlab/tests/data/testcellnest_6.5.1_GLNX86.mat +0 -0
  403. scipy/io/matlab/tests/data/testcellnest_7.1_GLNX86.mat +0 -0
  404. scipy/io/matlab/tests/data/testcellnest_7.4_GLNX86.mat +0 -0
  405. scipy/io/matlab/tests/data/testcomplex_4.2c_SOL2.mat +0 -0
  406. scipy/io/matlab/tests/data/testcomplex_6.1_SOL2.mat +0 -0
  407. scipy/io/matlab/tests/data/testcomplex_6.5.1_GLNX86.mat +0 -0
  408. scipy/io/matlab/tests/data/testcomplex_7.1_GLNX86.mat +0 -0
  409. scipy/io/matlab/tests/data/testcomplex_7.4_GLNX86.mat +0 -0
  410. scipy/io/matlab/tests/data/testdouble_4.2c_SOL2.mat +0 -0
  411. scipy/io/matlab/tests/data/testdouble_6.1_SOL2.mat +0 -0
  412. scipy/io/matlab/tests/data/testdouble_6.5.1_GLNX86.mat +0 -0
  413. scipy/io/matlab/tests/data/testdouble_7.1_GLNX86.mat +0 -0
  414. scipy/io/matlab/tests/data/testdouble_7.4_GLNX86.mat +0 -0
  415. scipy/io/matlab/tests/data/testemptycell_5.3_SOL2.mat +0 -0
  416. scipy/io/matlab/tests/data/testemptycell_6.5.1_GLNX86.mat +0 -0
  417. scipy/io/matlab/tests/data/testemptycell_7.1_GLNX86.mat +0 -0
  418. scipy/io/matlab/tests/data/testemptycell_7.4_GLNX86.mat +0 -0
  419. scipy/io/matlab/tests/data/testfunc_7.4_GLNX86.mat +0 -0
  420. scipy/io/matlab/tests/data/testhdf5_7.4_GLNX86.mat +0 -0
  421. scipy/io/matlab/tests/data/testmatrix_4.2c_SOL2.mat +0 -0
  422. scipy/io/matlab/tests/data/testmatrix_6.1_SOL2.mat +0 -0
  423. scipy/io/matlab/tests/data/testmatrix_6.5.1_GLNX86.mat +0 -0
  424. scipy/io/matlab/tests/data/testmatrix_7.1_GLNX86.mat +0 -0
  425. scipy/io/matlab/tests/data/testmatrix_7.4_GLNX86.mat +0 -0
  426. scipy/io/matlab/tests/data/testminus_4.2c_SOL2.mat +0 -0
  427. scipy/io/matlab/tests/data/testminus_6.1_SOL2.mat +0 -0
  428. scipy/io/matlab/tests/data/testminus_6.5.1_GLNX86.mat +0 -0
  429. scipy/io/matlab/tests/data/testminus_7.1_GLNX86.mat +0 -0
  430. scipy/io/matlab/tests/data/testminus_7.4_GLNX86.mat +0 -0
  431. scipy/io/matlab/tests/data/testmulti_4.2c_SOL2.mat +0 -0
  432. scipy/io/matlab/tests/data/testmulti_7.1_GLNX86.mat +0 -0
  433. scipy/io/matlab/tests/data/testmulti_7.4_GLNX86.mat +0 -0
  434. scipy/io/matlab/tests/data/testobject_6.1_SOL2.mat +0 -0
  435. scipy/io/matlab/tests/data/testobject_6.5.1_GLNX86.mat +0 -0
  436. scipy/io/matlab/tests/data/testobject_7.1_GLNX86.mat +0 -0
  437. scipy/io/matlab/tests/data/testobject_7.4_GLNX86.mat +0 -0
  438. scipy/io/matlab/tests/data/testonechar_4.2c_SOL2.mat +0 -0
  439. scipy/io/matlab/tests/data/testonechar_6.1_SOL2.mat +0 -0
  440. scipy/io/matlab/tests/data/testonechar_6.5.1_GLNX86.mat +0 -0
  441. scipy/io/matlab/tests/data/testonechar_7.1_GLNX86.mat +0 -0
  442. scipy/io/matlab/tests/data/testonechar_7.4_GLNX86.mat +0 -0
  443. scipy/io/matlab/tests/data/testscalarcell_7.4_GLNX86.mat +0 -0
  444. scipy/io/matlab/tests/data/testsimplecell.mat +0 -0
  445. scipy/io/matlab/tests/data/testsparse_4.2c_SOL2.mat +0 -0
  446. scipy/io/matlab/tests/data/testsparse_6.1_SOL2.mat +0 -0
  447. scipy/io/matlab/tests/data/testsparse_6.5.1_GLNX86.mat +0 -0
  448. scipy/io/matlab/tests/data/testsparse_7.1_GLNX86.mat +0 -0
  449. scipy/io/matlab/tests/data/testsparse_7.4_GLNX86.mat +0 -0
  450. scipy/io/matlab/tests/data/testsparsecomplex_4.2c_SOL2.mat +0 -0
  451. scipy/io/matlab/tests/data/testsparsecomplex_6.1_SOL2.mat +0 -0
  452. scipy/io/matlab/tests/data/testsparsecomplex_6.5.1_GLNX86.mat +0 -0
  453. scipy/io/matlab/tests/data/testsparsecomplex_7.1_GLNX86.mat +0 -0
  454. scipy/io/matlab/tests/data/testsparsecomplex_7.4_GLNX86.mat +0 -0
  455. scipy/io/matlab/tests/data/testsparsefloat_7.4_GLNX86.mat +0 -0
  456. scipy/io/matlab/tests/data/teststring_4.2c_SOL2.mat +0 -0
  457. scipy/io/matlab/tests/data/teststring_6.1_SOL2.mat +0 -0
  458. scipy/io/matlab/tests/data/teststring_6.5.1_GLNX86.mat +0 -0
  459. scipy/io/matlab/tests/data/teststring_7.1_GLNX86.mat +0 -0
  460. scipy/io/matlab/tests/data/teststring_7.4_GLNX86.mat +0 -0
  461. scipy/io/matlab/tests/data/teststringarray_4.2c_SOL2.mat +0 -0
  462. scipy/io/matlab/tests/data/teststringarray_6.1_SOL2.mat +0 -0
  463. scipy/io/matlab/tests/data/teststringarray_6.5.1_GLNX86.mat +0 -0
  464. scipy/io/matlab/tests/data/teststringarray_7.1_GLNX86.mat +0 -0
  465. scipy/io/matlab/tests/data/teststringarray_7.4_GLNX86.mat +0 -0
  466. scipy/io/matlab/tests/data/teststruct_6.1_SOL2.mat +0 -0
  467. scipy/io/matlab/tests/data/teststruct_6.5.1_GLNX86.mat +0 -0
  468. scipy/io/matlab/tests/data/teststruct_7.1_GLNX86.mat +0 -0
  469. scipy/io/matlab/tests/data/teststruct_7.4_GLNX86.mat +0 -0
  470. scipy/io/matlab/tests/data/teststructarr_6.1_SOL2.mat +0 -0
  471. scipy/io/matlab/tests/data/teststructarr_6.5.1_GLNX86.mat +0 -0
  472. scipy/io/matlab/tests/data/teststructarr_7.1_GLNX86.mat +0 -0
  473. scipy/io/matlab/tests/data/teststructarr_7.4_GLNX86.mat +0 -0
  474. scipy/io/matlab/tests/data/teststructnest_6.1_SOL2.mat +0 -0
  475. scipy/io/matlab/tests/data/teststructnest_6.5.1_GLNX86.mat +0 -0
  476. scipy/io/matlab/tests/data/teststructnest_7.1_GLNX86.mat +0 -0
  477. scipy/io/matlab/tests/data/teststructnest_7.4_GLNX86.mat +0 -0
  478. scipy/io/matlab/tests/data/testunicode_7.1_GLNX86.mat +0 -0
  479. scipy/io/matlab/tests/data/testunicode_7.4_GLNX86.mat +0 -0
  480. scipy/io/matlab/tests/data/testvec_4_GLNX86.mat +0 -0
  481. scipy/io/matlab/tests/test_byteordercodes.py +29 -0
  482. scipy/io/matlab/tests/test_mio.py +1399 -0
  483. scipy/io/matlab/tests/test_mio5_utils.py +179 -0
  484. scipy/io/matlab/tests/test_mio_funcs.py +51 -0
  485. scipy/io/matlab/tests/test_mio_utils.py +45 -0
  486. scipy/io/matlab/tests/test_miobase.py +32 -0
  487. scipy/io/matlab/tests/test_pathological.py +33 -0
  488. scipy/io/matlab/tests/test_streams.py +241 -0
  489. scipy/io/mmio.py +17 -0
  490. scipy/io/netcdf.py +17 -0
  491. scipy/io/tests/__init__.py +0 -0
  492. scipy/io/tests/data/Transparent Busy.ani +0 -0
  493. scipy/io/tests/data/array_float32_1d.sav +0 -0
  494. scipy/io/tests/data/array_float32_2d.sav +0 -0
  495. scipy/io/tests/data/array_float32_3d.sav +0 -0
  496. scipy/io/tests/data/array_float32_4d.sav +0 -0
  497. scipy/io/tests/data/array_float32_5d.sav +0 -0
  498. scipy/io/tests/data/array_float32_6d.sav +0 -0
  499. scipy/io/tests/data/array_float32_7d.sav +0 -0
  500. scipy/io/tests/data/array_float32_8d.sav +0 -0
  501. scipy/io/tests/data/array_float32_pointer_1d.sav +0 -0
  502. scipy/io/tests/data/array_float32_pointer_2d.sav +0 -0
  503. scipy/io/tests/data/array_float32_pointer_3d.sav +0 -0
  504. scipy/io/tests/data/array_float32_pointer_4d.sav +0 -0
  505. scipy/io/tests/data/array_float32_pointer_5d.sav +0 -0
  506. scipy/io/tests/data/array_float32_pointer_6d.sav +0 -0
  507. scipy/io/tests/data/array_float32_pointer_7d.sav +0 -0
  508. scipy/io/tests/data/array_float32_pointer_8d.sav +0 -0
  509. scipy/io/tests/data/example_1.nc +0 -0
  510. scipy/io/tests/data/example_2.nc +0 -0
  511. scipy/io/tests/data/example_3_maskedvals.nc +0 -0
  512. scipy/io/tests/data/fortran-3x3d-2i.dat +0 -0
  513. scipy/io/tests/data/fortran-mixed.dat +0 -0
  514. scipy/io/tests/data/fortran-sf8-11x1x10.dat +0 -0
  515. scipy/io/tests/data/fortran-sf8-15x10x22.dat +0 -0
  516. scipy/io/tests/data/fortran-sf8-1x1x1.dat +0 -0
  517. scipy/io/tests/data/fortran-sf8-1x1x5.dat +0 -0
  518. scipy/io/tests/data/fortran-sf8-1x1x7.dat +0 -0
  519. scipy/io/tests/data/fortran-sf8-1x3x5.dat +0 -0
  520. scipy/io/tests/data/fortran-si4-11x1x10.dat +0 -0
  521. scipy/io/tests/data/fortran-si4-15x10x22.dat +0 -0
  522. scipy/io/tests/data/fortran-si4-1x1x1.dat +0 -0
  523. scipy/io/tests/data/fortran-si4-1x1x5.dat +0 -0
  524. scipy/io/tests/data/fortran-si4-1x1x7.dat +0 -0
  525. scipy/io/tests/data/fortran-si4-1x3x5.dat +0 -0
  526. scipy/io/tests/data/invalid_pointer.sav +0 -0
  527. scipy/io/tests/data/null_pointer.sav +0 -0
  528. scipy/io/tests/data/scalar_byte.sav +0 -0
  529. scipy/io/tests/data/scalar_byte_descr.sav +0 -0
  530. scipy/io/tests/data/scalar_complex32.sav +0 -0
  531. scipy/io/tests/data/scalar_complex64.sav +0 -0
  532. scipy/io/tests/data/scalar_float32.sav +0 -0
  533. scipy/io/tests/data/scalar_float64.sav +0 -0
  534. scipy/io/tests/data/scalar_heap_pointer.sav +0 -0
  535. scipy/io/tests/data/scalar_int16.sav +0 -0
  536. scipy/io/tests/data/scalar_int32.sav +0 -0
  537. scipy/io/tests/data/scalar_int64.sav +0 -0
  538. scipy/io/tests/data/scalar_string.sav +0 -0
  539. scipy/io/tests/data/scalar_uint16.sav +0 -0
  540. scipy/io/tests/data/scalar_uint32.sav +0 -0
  541. scipy/io/tests/data/scalar_uint64.sav +0 -0
  542. scipy/io/tests/data/struct_arrays.sav +0 -0
  543. scipy/io/tests/data/struct_arrays_byte_idl80.sav +0 -0
  544. scipy/io/tests/data/struct_arrays_replicated.sav +0 -0
  545. scipy/io/tests/data/struct_arrays_replicated_3d.sav +0 -0
  546. scipy/io/tests/data/struct_inherit.sav +0 -0
  547. scipy/io/tests/data/struct_pointer_arrays.sav +0 -0
  548. scipy/io/tests/data/struct_pointer_arrays_replicated.sav +0 -0
  549. scipy/io/tests/data/struct_pointer_arrays_replicated_3d.sav +0 -0
  550. scipy/io/tests/data/struct_pointers.sav +0 -0
  551. scipy/io/tests/data/struct_pointers_replicated.sav +0 -0
  552. scipy/io/tests/data/struct_pointers_replicated_3d.sav +0 -0
  553. scipy/io/tests/data/struct_scalars.sav +0 -0
  554. scipy/io/tests/data/struct_scalars_replicated.sav +0 -0
  555. scipy/io/tests/data/struct_scalars_replicated_3d.sav +0 -0
  556. scipy/io/tests/data/test-1234Hz-le-1ch-10S-20bit-extra.wav +0 -0
  557. scipy/io/tests/data/test-44100Hz-2ch-32bit-float-be.wav +0 -0
  558. scipy/io/tests/data/test-44100Hz-2ch-32bit-float-le.wav +0 -0
  559. scipy/io/tests/data/test-44100Hz-be-1ch-4bytes.wav +0 -0
  560. scipy/io/tests/data/test-44100Hz-le-1ch-4bytes-early-eof-no-data.wav +0 -0
  561. scipy/io/tests/data/test-44100Hz-le-1ch-4bytes-early-eof.wav +0 -0
  562. scipy/io/tests/data/test-44100Hz-le-1ch-4bytes-incomplete-chunk.wav +0 -0
  563. scipy/io/tests/data/test-44100Hz-le-1ch-4bytes-rf64.wav +0 -0
  564. scipy/io/tests/data/test-44100Hz-le-1ch-4bytes.wav +0 -0
  565. scipy/io/tests/data/test-48000Hz-2ch-64bit-float-le-wavex.wav +0 -0
  566. scipy/io/tests/data/test-8000Hz-be-3ch-5S-24bit.wav +0 -0
  567. scipy/io/tests/data/test-8000Hz-le-1ch-1byte-ulaw.wav +0 -0
  568. scipy/io/tests/data/test-8000Hz-le-2ch-1byteu.wav +0 -0
  569. scipy/io/tests/data/test-8000Hz-le-3ch-5S-24bit-inconsistent.wav +0 -0
  570. scipy/io/tests/data/test-8000Hz-le-3ch-5S-24bit-rf64.wav +0 -0
  571. scipy/io/tests/data/test-8000Hz-le-3ch-5S-24bit.wav +0 -0
  572. scipy/io/tests/data/test-8000Hz-le-3ch-5S-36bit.wav +0 -0
  573. scipy/io/tests/data/test-8000Hz-le-3ch-5S-45bit.wav +0 -0
  574. scipy/io/tests/data/test-8000Hz-le-3ch-5S-53bit.wav +0 -0
  575. scipy/io/tests/data/test-8000Hz-le-3ch-5S-64bit.wav +0 -0
  576. scipy/io/tests/data/test-8000Hz-le-4ch-9S-12bit.wav +0 -0
  577. scipy/io/tests/data/test-8000Hz-le-5ch-9S-5bit.wav +0 -0
  578. scipy/io/tests/data/various_compressed.sav +0 -0
  579. scipy/io/tests/test_fortran.py +264 -0
  580. scipy/io/tests/test_idl.py +483 -0
  581. scipy/io/tests/test_mmio.py +831 -0
  582. scipy/io/tests/test_netcdf.py +550 -0
  583. scipy/io/tests/test_paths.py +93 -0
  584. scipy/io/tests/test_wavfile.py +501 -0
  585. scipy/io/wavfile.py +938 -0
  586. scipy/linalg/__init__.pxd +1 -0
  587. scipy/linalg/__init__.py +236 -0
  588. scipy/linalg/_basic.py +2146 -0
  589. scipy/linalg/_blas_subroutines.h +164 -0
  590. scipy/linalg/_cythonized_array_utils.cpython-314t-x86_64-linux-gnu.so +0 -0
  591. scipy/linalg/_cythonized_array_utils.pxd +40 -0
  592. scipy/linalg/_cythonized_array_utils.pyi +16 -0
  593. scipy/linalg/_decomp.py +1645 -0
  594. scipy/linalg/_decomp_cholesky.py +413 -0
  595. scipy/linalg/_decomp_cossin.py +236 -0
  596. scipy/linalg/_decomp_interpolative.cpython-314t-x86_64-linux-gnu.so +0 -0
  597. scipy/linalg/_decomp_ldl.py +356 -0
  598. scipy/linalg/_decomp_lu.py +401 -0
  599. scipy/linalg/_decomp_lu_cython.cpython-314t-x86_64-linux-gnu.so +0 -0
  600. scipy/linalg/_decomp_lu_cython.pyi +6 -0
  601. scipy/linalg/_decomp_polar.py +113 -0
  602. scipy/linalg/_decomp_qr.py +494 -0
  603. scipy/linalg/_decomp_qz.py +452 -0
  604. scipy/linalg/_decomp_schur.py +336 -0
  605. scipy/linalg/_decomp_svd.py +545 -0
  606. scipy/linalg/_decomp_update.cpython-314t-x86_64-linux-gnu.so +0 -0
  607. scipy/linalg/_expm_frechet.py +417 -0
  608. scipy/linalg/_fblas.cpython-314t-x86_64-linux-gnu.so +0 -0
  609. scipy/linalg/_flapack.cpython-314t-x86_64-linux-gnu.so +0 -0
  610. scipy/linalg/_lapack_subroutines.h +1521 -0
  611. scipy/linalg/_linalg_pythran.cpython-314t-x86_64-linux-gnu.so +0 -0
  612. scipy/linalg/_matfuncs.py +1050 -0
  613. scipy/linalg/_matfuncs_expm.cpython-314t-x86_64-linux-gnu.so +0 -0
  614. scipy/linalg/_matfuncs_expm.pyi +6 -0
  615. scipy/linalg/_matfuncs_inv_ssq.py +886 -0
  616. scipy/linalg/_matfuncs_schur_sqrtm.cpython-314t-x86_64-linux-gnu.so +0 -0
  617. scipy/linalg/_matfuncs_sqrtm.py +107 -0
  618. scipy/linalg/_matfuncs_sqrtm_triu.cpython-314t-x86_64-linux-gnu.so +0 -0
  619. scipy/linalg/_misc.py +191 -0
  620. scipy/linalg/_procrustes.py +113 -0
  621. scipy/linalg/_sketches.py +189 -0
  622. scipy/linalg/_solve_toeplitz.cpython-314t-x86_64-linux-gnu.so +0 -0
  623. scipy/linalg/_solvers.py +862 -0
  624. scipy/linalg/_special_matrices.py +1322 -0
  625. scipy/linalg/_testutils.py +65 -0
  626. scipy/linalg/basic.py +23 -0
  627. scipy/linalg/blas.py +495 -0
  628. scipy/linalg/cython_blas.cpython-314t-x86_64-linux-gnu.so +0 -0
  629. scipy/linalg/cython_blas.pxd +169 -0
  630. scipy/linalg/cython_blas.pyx +1432 -0
  631. scipy/linalg/cython_lapack.cpython-314t-x86_64-linux-gnu.so +0 -0
  632. scipy/linalg/cython_lapack.pxd +1528 -0
  633. scipy/linalg/cython_lapack.pyx +12045 -0
  634. scipy/linalg/decomp.py +23 -0
  635. scipy/linalg/decomp_cholesky.py +21 -0
  636. scipy/linalg/decomp_lu.py +21 -0
  637. scipy/linalg/decomp_qr.py +20 -0
  638. scipy/linalg/decomp_schur.py +21 -0
  639. scipy/linalg/decomp_svd.py +21 -0
  640. scipy/linalg/interpolative.py +989 -0
  641. scipy/linalg/lapack.py +1081 -0
  642. scipy/linalg/matfuncs.py +23 -0
  643. scipy/linalg/misc.py +21 -0
  644. scipy/linalg/special_matrices.py +22 -0
  645. scipy/linalg/tests/__init__.py +0 -0
  646. scipy/linalg/tests/_cython_examples/extending.pyx +23 -0
  647. scipy/linalg/tests/_cython_examples/meson.build +34 -0
  648. scipy/linalg/tests/data/carex_15_data.npz +0 -0
  649. scipy/linalg/tests/data/carex_18_data.npz +0 -0
  650. scipy/linalg/tests/data/carex_19_data.npz +0 -0
  651. scipy/linalg/tests/data/carex_20_data.npz +0 -0
  652. scipy/linalg/tests/data/carex_6_data.npz +0 -0
  653. scipy/linalg/tests/data/gendare_20170120_data.npz +0 -0
  654. scipy/linalg/tests/test_basic.py +2074 -0
  655. scipy/linalg/tests/test_batch.py +588 -0
  656. scipy/linalg/tests/test_blas.py +1127 -0
  657. scipy/linalg/tests/test_cython_blas.py +118 -0
  658. scipy/linalg/tests/test_cython_lapack.py +22 -0
  659. scipy/linalg/tests/test_cythonized_array_utils.py +130 -0
  660. scipy/linalg/tests/test_decomp.py +3189 -0
  661. scipy/linalg/tests/test_decomp_cholesky.py +268 -0
  662. scipy/linalg/tests/test_decomp_cossin.py +314 -0
  663. scipy/linalg/tests/test_decomp_ldl.py +137 -0
  664. scipy/linalg/tests/test_decomp_lu.py +308 -0
  665. scipy/linalg/tests/test_decomp_polar.py +110 -0
  666. scipy/linalg/tests/test_decomp_update.py +1701 -0
  667. scipy/linalg/tests/test_extending.py +46 -0
  668. scipy/linalg/tests/test_fblas.py +607 -0
  669. scipy/linalg/tests/test_interpolative.py +232 -0
  670. scipy/linalg/tests/test_lapack.py +3616 -0
  671. scipy/linalg/tests/test_matfuncs.py +1125 -0
  672. scipy/linalg/tests/test_matmul_toeplitz.py +136 -0
  673. scipy/linalg/tests/test_procrustes.py +214 -0
  674. scipy/linalg/tests/test_sketches.py +118 -0
  675. scipy/linalg/tests/test_solve_toeplitz.py +150 -0
  676. scipy/linalg/tests/test_solvers.py +844 -0
  677. scipy/linalg/tests/test_special_matrices.py +636 -0
  678. scipy/misc/__init__.py +6 -0
  679. scipy/misc/common.py +6 -0
  680. scipy/misc/doccer.py +6 -0
  681. scipy/ndimage/__init__.py +174 -0
  682. scipy/ndimage/_ctest.cpython-314t-x86_64-linux-gnu.so +0 -0
  683. scipy/ndimage/_cytest.cpython-314t-x86_64-linux-gnu.so +0 -0
  684. scipy/ndimage/_delegators.py +303 -0
  685. scipy/ndimage/_filters.py +2422 -0
  686. scipy/ndimage/_fourier.py +306 -0
  687. scipy/ndimage/_interpolation.py +1033 -0
  688. scipy/ndimage/_measurements.py +1689 -0
  689. scipy/ndimage/_morphology.py +2634 -0
  690. scipy/ndimage/_nd_image.cpython-314t-x86_64-linux-gnu.so +0 -0
  691. scipy/ndimage/_ndimage_api.py +16 -0
  692. scipy/ndimage/_ni_docstrings.py +214 -0
  693. scipy/ndimage/_ni_label.cpython-314t-x86_64-linux-gnu.so +0 -0
  694. scipy/ndimage/_ni_support.py +139 -0
  695. scipy/ndimage/_rank_filter_1d.cpython-314t-x86_64-linux-gnu.so +0 -0
  696. scipy/ndimage/_support_alternative_backends.py +84 -0
  697. scipy/ndimage/filters.py +27 -0
  698. scipy/ndimage/fourier.py +21 -0
  699. scipy/ndimage/interpolation.py +22 -0
  700. scipy/ndimage/measurements.py +24 -0
  701. scipy/ndimage/morphology.py +27 -0
  702. scipy/ndimage/tests/__init__.py +12 -0
  703. scipy/ndimage/tests/data/label_inputs.txt +21 -0
  704. scipy/ndimage/tests/data/label_results.txt +294 -0
  705. scipy/ndimage/tests/data/label_strels.txt +42 -0
  706. scipy/ndimage/tests/dots.png +0 -0
  707. scipy/ndimage/tests/test_c_api.py +102 -0
  708. scipy/ndimage/tests/test_datatypes.py +67 -0
  709. scipy/ndimage/tests/test_filters.py +3083 -0
  710. scipy/ndimage/tests/test_fourier.py +187 -0
  711. scipy/ndimage/tests/test_interpolation.py +1491 -0
  712. scipy/ndimage/tests/test_measurements.py +1592 -0
  713. scipy/ndimage/tests/test_morphology.py +2950 -0
  714. scipy/ndimage/tests/test_ni_support.py +78 -0
  715. scipy/ndimage/tests/test_splines.py +70 -0
  716. scipy/odr/__init__.py +131 -0
  717. scipy/odr/__odrpack.cpython-314t-x86_64-linux-gnu.so +0 -0
  718. scipy/odr/_add_newdocs.py +34 -0
  719. scipy/odr/_models.py +315 -0
  720. scipy/odr/_odrpack.py +1154 -0
  721. scipy/odr/models.py +20 -0
  722. scipy/odr/odrpack.py +21 -0
  723. scipy/odr/tests/__init__.py +0 -0
  724. scipy/odr/tests/test_odr.py +607 -0
  725. scipy/optimize/__init__.pxd +1 -0
  726. scipy/optimize/__init__.py +460 -0
  727. scipy/optimize/_basinhopping.py +741 -0
  728. scipy/optimize/_bglu_dense.cpython-314t-x86_64-linux-gnu.so +0 -0
  729. scipy/optimize/_bracket.py +706 -0
  730. scipy/optimize/_chandrupatla.py +551 -0
  731. scipy/optimize/_cobyla_py.py +297 -0
  732. scipy/optimize/_cobyqa_py.py +72 -0
  733. scipy/optimize/_constraints.py +598 -0
  734. scipy/optimize/_dcsrch.py +728 -0
  735. scipy/optimize/_differentiable_functions.py +835 -0
  736. scipy/optimize/_differentialevolution.py +1970 -0
  737. scipy/optimize/_direct.cpython-314t-x86_64-linux-gnu.so +0 -0
  738. scipy/optimize/_direct_py.py +280 -0
  739. scipy/optimize/_dual_annealing.py +732 -0
  740. scipy/optimize/_elementwise.py +798 -0
  741. scipy/optimize/_group_columns.cpython-314t-x86_64-linux-gnu.so +0 -0
  742. scipy/optimize/_hessian_update_strategy.py +479 -0
  743. scipy/optimize/_highspy/__init__.py +0 -0
  744. scipy/optimize/_highspy/_core.cpython-314t-x86_64-linux-gnu.so +0 -0
  745. scipy/optimize/_highspy/_highs_options.cpython-314t-x86_64-linux-gnu.so +0 -0
  746. scipy/optimize/_highspy/_highs_wrapper.py +338 -0
  747. scipy/optimize/_isotonic.py +157 -0
  748. scipy/optimize/_lbfgsb.cpython-314t-x86_64-linux-gnu.so +0 -0
  749. scipy/optimize/_lbfgsb_py.py +634 -0
  750. scipy/optimize/_linesearch.py +896 -0
  751. scipy/optimize/_linprog.py +733 -0
  752. scipy/optimize/_linprog_doc.py +1434 -0
  753. scipy/optimize/_linprog_highs.py +422 -0
  754. scipy/optimize/_linprog_ip.py +1141 -0
  755. scipy/optimize/_linprog_rs.py +572 -0
  756. scipy/optimize/_linprog_simplex.py +663 -0
  757. scipy/optimize/_linprog_util.py +1521 -0
  758. scipy/optimize/_lsap.cpython-314t-x86_64-linux-gnu.so +0 -0
  759. scipy/optimize/_lsq/__init__.py +5 -0
  760. scipy/optimize/_lsq/bvls.py +183 -0
  761. scipy/optimize/_lsq/common.py +731 -0
  762. scipy/optimize/_lsq/dogbox.py +345 -0
  763. scipy/optimize/_lsq/givens_elimination.cpython-314t-x86_64-linux-gnu.so +0 -0
  764. scipy/optimize/_lsq/least_squares.py +1044 -0
  765. scipy/optimize/_lsq/lsq_linear.py +361 -0
  766. scipy/optimize/_lsq/trf.py +587 -0
  767. scipy/optimize/_lsq/trf_linear.py +249 -0
  768. scipy/optimize/_milp.py +394 -0
  769. scipy/optimize/_minimize.py +1199 -0
  770. scipy/optimize/_minpack.cpython-314t-x86_64-linux-gnu.so +0 -0
  771. scipy/optimize/_minpack_py.py +1178 -0
  772. scipy/optimize/_moduleTNC.cpython-314t-x86_64-linux-gnu.so +0 -0
  773. scipy/optimize/_nnls.py +96 -0
  774. scipy/optimize/_nonlin.py +1634 -0
  775. scipy/optimize/_numdiff.py +963 -0
  776. scipy/optimize/_optimize.py +4169 -0
  777. scipy/optimize/_pava_pybind.cpython-314t-x86_64-linux-gnu.so +0 -0
  778. scipy/optimize/_qap.py +760 -0
  779. scipy/optimize/_remove_redundancy.py +522 -0
  780. scipy/optimize/_root.py +732 -0
  781. scipy/optimize/_root_scalar.py +538 -0
  782. scipy/optimize/_shgo.py +1606 -0
  783. scipy/optimize/_shgo_lib/__init__.py +0 -0
  784. scipy/optimize/_shgo_lib/_complex.py +1225 -0
  785. scipy/optimize/_shgo_lib/_vertex.py +460 -0
  786. scipy/optimize/_slsqp_py.py +603 -0
  787. scipy/optimize/_slsqplib.cpython-314t-x86_64-linux-gnu.so +0 -0
  788. scipy/optimize/_spectral.py +260 -0
  789. scipy/optimize/_tnc.py +438 -0
  790. scipy/optimize/_trlib/__init__.py +12 -0
  791. scipy/optimize/_trlib/_trlib.cpython-314t-x86_64-linux-gnu.so +0 -0
  792. scipy/optimize/_trustregion.py +318 -0
  793. scipy/optimize/_trustregion_constr/__init__.py +6 -0
  794. scipy/optimize/_trustregion_constr/canonical_constraint.py +390 -0
  795. scipy/optimize/_trustregion_constr/equality_constrained_sqp.py +231 -0
  796. scipy/optimize/_trustregion_constr/minimize_trustregion_constr.py +584 -0
  797. scipy/optimize/_trustregion_constr/projections.py +411 -0
  798. scipy/optimize/_trustregion_constr/qp_subproblem.py +637 -0
  799. scipy/optimize/_trustregion_constr/report.py +49 -0
  800. scipy/optimize/_trustregion_constr/tests/__init__.py +0 -0
  801. scipy/optimize/_trustregion_constr/tests/test_canonical_constraint.py +296 -0
  802. scipy/optimize/_trustregion_constr/tests/test_nested_minimize.py +39 -0
  803. scipy/optimize/_trustregion_constr/tests/test_projections.py +214 -0
  804. scipy/optimize/_trustregion_constr/tests/test_qp_subproblem.py +645 -0
  805. scipy/optimize/_trustregion_constr/tests/test_report.py +34 -0
  806. scipy/optimize/_trustregion_constr/tr_interior_point.py +361 -0
  807. scipy/optimize/_trustregion_dogleg.py +122 -0
  808. scipy/optimize/_trustregion_exact.py +437 -0
  809. scipy/optimize/_trustregion_krylov.py +65 -0
  810. scipy/optimize/_trustregion_ncg.py +126 -0
  811. scipy/optimize/_tstutils.py +972 -0
  812. scipy/optimize/_zeros.cpython-314t-x86_64-linux-gnu.so +0 -0
  813. scipy/optimize/_zeros_py.py +1475 -0
  814. scipy/optimize/cobyla.py +19 -0
  815. scipy/optimize/cython_optimize/__init__.py +133 -0
  816. scipy/optimize/cython_optimize/_zeros.cpython-314t-x86_64-linux-gnu.so +0 -0
  817. scipy/optimize/cython_optimize/_zeros.pxd +33 -0
  818. scipy/optimize/cython_optimize/c_zeros.pxd +26 -0
  819. scipy/optimize/cython_optimize.pxd +11 -0
  820. scipy/optimize/elementwise.py +38 -0
  821. scipy/optimize/lbfgsb.py +23 -0
  822. scipy/optimize/linesearch.py +18 -0
  823. scipy/optimize/minpack.py +27 -0
  824. scipy/optimize/minpack2.py +17 -0
  825. scipy/optimize/moduleTNC.py +19 -0
  826. scipy/optimize/nonlin.py +29 -0
  827. scipy/optimize/optimize.py +40 -0
  828. scipy/optimize/slsqp.py +22 -0
  829. scipy/optimize/tests/__init__.py +0 -0
  830. scipy/optimize/tests/_cython_examples/extending.pyx +43 -0
  831. scipy/optimize/tests/_cython_examples/meson.build +32 -0
  832. scipy/optimize/tests/test__basinhopping.py +535 -0
  833. scipy/optimize/tests/test__differential_evolution.py +1703 -0
  834. scipy/optimize/tests/test__dual_annealing.py +416 -0
  835. scipy/optimize/tests/test__linprog_clean_inputs.py +312 -0
  836. scipy/optimize/tests/test__numdiff.py +885 -0
  837. scipy/optimize/tests/test__remove_redundancy.py +228 -0
  838. scipy/optimize/tests/test__root.py +124 -0
  839. scipy/optimize/tests/test__shgo.py +1164 -0
  840. scipy/optimize/tests/test__spectral.py +226 -0
  841. scipy/optimize/tests/test_bracket.py +896 -0
  842. scipy/optimize/tests/test_chandrupatla.py +982 -0
  843. scipy/optimize/tests/test_cobyla.py +195 -0
  844. scipy/optimize/tests/test_cobyqa.py +252 -0
  845. scipy/optimize/tests/test_constraint_conversion.py +286 -0
  846. scipy/optimize/tests/test_constraints.py +255 -0
  847. scipy/optimize/tests/test_cython_optimize.py +92 -0
  848. scipy/optimize/tests/test_differentiable_functions.py +1025 -0
  849. scipy/optimize/tests/test_direct.py +321 -0
  850. scipy/optimize/tests/test_extending.py +28 -0
  851. scipy/optimize/tests/test_hessian_update_strategy.py +300 -0
  852. scipy/optimize/tests/test_isotonic_regression.py +167 -0
  853. scipy/optimize/tests/test_lbfgsb_hessinv.py +65 -0
  854. scipy/optimize/tests/test_lbfgsb_setulb.py +122 -0
  855. scipy/optimize/tests/test_least_squares.py +986 -0
  856. scipy/optimize/tests/test_linear_assignment.py +116 -0
  857. scipy/optimize/tests/test_linesearch.py +328 -0
  858. scipy/optimize/tests/test_linprog.py +2577 -0
  859. scipy/optimize/tests/test_lsq_common.py +297 -0
  860. scipy/optimize/tests/test_lsq_linear.py +287 -0
  861. scipy/optimize/tests/test_milp.py +459 -0
  862. scipy/optimize/tests/test_minimize_constrained.py +845 -0
  863. scipy/optimize/tests/test_minpack.py +1194 -0
  864. scipy/optimize/tests/test_nnls.py +469 -0
  865. scipy/optimize/tests/test_nonlin.py +572 -0
  866. scipy/optimize/tests/test_optimize.py +3335 -0
  867. scipy/optimize/tests/test_quadratic_assignment.py +455 -0
  868. scipy/optimize/tests/test_regression.py +40 -0
  869. scipy/optimize/tests/test_slsqp.py +645 -0
  870. scipy/optimize/tests/test_tnc.py +345 -0
  871. scipy/optimize/tests/test_trustregion.py +110 -0
  872. scipy/optimize/tests/test_trustregion_exact.py +351 -0
  873. scipy/optimize/tests/test_trustregion_krylov.py +170 -0
  874. scipy/optimize/tests/test_zeros.py +998 -0
  875. scipy/optimize/tnc.py +22 -0
  876. scipy/optimize/zeros.py +26 -0
  877. scipy/signal/__init__.py +316 -0
  878. scipy/signal/_arraytools.py +264 -0
  879. scipy/signal/_czt.py +575 -0
  880. scipy/signal/_delegators.py +568 -0
  881. scipy/signal/_filter_design.py +5893 -0
  882. scipy/signal/_fir_filter_design.py +1458 -0
  883. scipy/signal/_lti_conversion.py +534 -0
  884. scipy/signal/_ltisys.py +3546 -0
  885. scipy/signal/_max_len_seq.py +139 -0
  886. scipy/signal/_max_len_seq_inner.cpython-314t-x86_64-linux-gnu.so +0 -0
  887. scipy/signal/_peak_finding.py +1310 -0
  888. scipy/signal/_peak_finding_utils.cpython-314t-x86_64-linux-gnu.so +0 -0
  889. scipy/signal/_polyutils.py +172 -0
  890. scipy/signal/_savitzky_golay.py +357 -0
  891. scipy/signal/_short_time_fft.py +2187 -0
  892. scipy/signal/_signal_api.py +30 -0
  893. scipy/signal/_signaltools.py +5309 -0
  894. scipy/signal/_sigtools.cpython-314t-x86_64-linux-gnu.so +0 -0
  895. scipy/signal/_sosfilt.cpython-314t-x86_64-linux-gnu.so +0 -0
  896. scipy/signal/_spectral_py.py +2471 -0
  897. scipy/signal/_spline.cpython-314t-x86_64-linux-gnu.so +0 -0
  898. scipy/signal/_spline.pyi +34 -0
  899. scipy/signal/_spline_filters.py +848 -0
  900. scipy/signal/_support_alternative_backends.py +73 -0
  901. scipy/signal/_upfirdn.py +219 -0
  902. scipy/signal/_upfirdn_apply.cpython-314t-x86_64-linux-gnu.so +0 -0
  903. scipy/signal/_waveforms.py +687 -0
  904. scipy/signal/_wavelets.py +29 -0
  905. scipy/signal/bsplines.py +21 -0
  906. scipy/signal/filter_design.py +28 -0
  907. scipy/signal/fir_filter_design.py +21 -0
  908. scipy/signal/lti_conversion.py +20 -0
  909. scipy/signal/ltisys.py +25 -0
  910. scipy/signal/signaltools.py +27 -0
  911. scipy/signal/spectral.py +21 -0
  912. scipy/signal/spline.py +18 -0
  913. scipy/signal/tests/__init__.py +0 -0
  914. scipy/signal/tests/_scipy_spectral_test_shim.py +311 -0
  915. scipy/signal/tests/mpsig.py +122 -0
  916. scipy/signal/tests/test_array_tools.py +111 -0
  917. scipy/signal/tests/test_bsplines.py +365 -0
  918. scipy/signal/tests/test_cont2discrete.py +424 -0
  919. scipy/signal/tests/test_czt.py +221 -0
  920. scipy/signal/tests/test_dltisys.py +599 -0
  921. scipy/signal/tests/test_filter_design.py +4744 -0
  922. scipy/signal/tests/test_fir_filter_design.py +851 -0
  923. scipy/signal/tests/test_ltisys.py +1225 -0
  924. scipy/signal/tests/test_max_len_seq.py +71 -0
  925. scipy/signal/tests/test_peak_finding.py +915 -0
  926. scipy/signal/tests/test_result_type.py +51 -0
  927. scipy/signal/tests/test_savitzky_golay.py +363 -0
  928. scipy/signal/tests/test_short_time_fft.py +1098 -0
  929. scipy/signal/tests/test_signaltools.py +4729 -0
  930. scipy/signal/tests/test_spectral.py +2103 -0
  931. scipy/signal/tests/test_splines.py +427 -0
  932. scipy/signal/tests/test_upfirdn.py +322 -0
  933. scipy/signal/tests/test_waveforms.py +400 -0
  934. scipy/signal/tests/test_wavelets.py +59 -0
  935. scipy/signal/tests/test_windows.py +987 -0
  936. scipy/signal/waveforms.py +20 -0
  937. scipy/signal/wavelets.py +17 -0
  938. scipy/signal/windows/__init__.py +52 -0
  939. scipy/signal/windows/_windows.py +2513 -0
  940. scipy/signal/windows/windows.py +23 -0
  941. scipy/sparse/__init__.py +350 -0
  942. scipy/sparse/_base.py +1613 -0
  943. scipy/sparse/_bsr.py +880 -0
  944. scipy/sparse/_compressed.py +1328 -0
  945. scipy/sparse/_construct.py +1454 -0
  946. scipy/sparse/_coo.py +1581 -0
  947. scipy/sparse/_csc.py +367 -0
  948. scipy/sparse/_csparsetools.cpython-314t-x86_64-linux-gnu.so +0 -0
  949. scipy/sparse/_csr.py +558 -0
  950. scipy/sparse/_data.py +569 -0
  951. scipy/sparse/_dia.py +677 -0
  952. scipy/sparse/_dok.py +669 -0
  953. scipy/sparse/_extract.py +178 -0
  954. scipy/sparse/_index.py +444 -0
  955. scipy/sparse/_lil.py +632 -0
  956. scipy/sparse/_matrix.py +169 -0
  957. scipy/sparse/_matrix_io.py +167 -0
  958. scipy/sparse/_sparsetools.cpython-314t-x86_64-linux-gnu.so +0 -0
  959. scipy/sparse/_spfuncs.py +76 -0
  960. scipy/sparse/_sputils.py +632 -0
  961. scipy/sparse/base.py +24 -0
  962. scipy/sparse/bsr.py +22 -0
  963. scipy/sparse/compressed.py +20 -0
  964. scipy/sparse/construct.py +38 -0
  965. scipy/sparse/coo.py +23 -0
  966. scipy/sparse/csc.py +22 -0
  967. scipy/sparse/csgraph/__init__.py +210 -0
  968. scipy/sparse/csgraph/_flow.cpython-314t-x86_64-linux-gnu.so +0 -0
  969. scipy/sparse/csgraph/_laplacian.py +563 -0
  970. scipy/sparse/csgraph/_matching.cpython-314t-x86_64-linux-gnu.so +0 -0
  971. scipy/sparse/csgraph/_min_spanning_tree.cpython-314t-x86_64-linux-gnu.so +0 -0
  972. scipy/sparse/csgraph/_reordering.cpython-314t-x86_64-linux-gnu.so +0 -0
  973. scipy/sparse/csgraph/_shortest_path.cpython-314t-x86_64-linux-gnu.so +0 -0
  974. scipy/sparse/csgraph/_tools.cpython-314t-x86_64-linux-gnu.so +0 -0
  975. scipy/sparse/csgraph/_traversal.cpython-314t-x86_64-linux-gnu.so +0 -0
  976. scipy/sparse/csgraph/_validation.py +66 -0
  977. scipy/sparse/csgraph/tests/__init__.py +0 -0
  978. scipy/sparse/csgraph/tests/test_connected_components.py +119 -0
  979. scipy/sparse/csgraph/tests/test_conversions.py +61 -0
  980. scipy/sparse/csgraph/tests/test_flow.py +209 -0
  981. scipy/sparse/csgraph/tests/test_graph_laplacian.py +368 -0
  982. scipy/sparse/csgraph/tests/test_matching.py +307 -0
  983. scipy/sparse/csgraph/tests/test_pydata_sparse.py +197 -0
  984. scipy/sparse/csgraph/tests/test_reordering.py +70 -0
  985. scipy/sparse/csgraph/tests/test_shortest_path.py +540 -0
  986. scipy/sparse/csgraph/tests/test_spanning_tree.py +66 -0
  987. scipy/sparse/csgraph/tests/test_traversal.py +148 -0
  988. scipy/sparse/csr.py +22 -0
  989. scipy/sparse/data.py +18 -0
  990. scipy/sparse/dia.py +22 -0
  991. scipy/sparse/dok.py +22 -0
  992. scipy/sparse/extract.py +23 -0
  993. scipy/sparse/lil.py +22 -0
  994. scipy/sparse/linalg/__init__.py +148 -0
  995. scipy/sparse/linalg/_dsolve/__init__.py +71 -0
  996. scipy/sparse/linalg/_dsolve/_add_newdocs.py +147 -0
  997. scipy/sparse/linalg/_dsolve/_superlu.cpython-314t-x86_64-linux-gnu.so +0 -0
  998. scipy/sparse/linalg/_dsolve/linsolve.py +882 -0
  999. scipy/sparse/linalg/_dsolve/tests/__init__.py +0 -0
  1000. scipy/sparse/linalg/_dsolve/tests/test_linsolve.py +928 -0
  1001. scipy/sparse/linalg/_eigen/__init__.py +22 -0
  1002. scipy/sparse/linalg/_eigen/_svds.py +540 -0
  1003. scipy/sparse/linalg/_eigen/_svds_doc.py +382 -0
  1004. scipy/sparse/linalg/_eigen/arpack/COPYING +45 -0
  1005. scipy/sparse/linalg/_eigen/arpack/__init__.py +20 -0
  1006. scipy/sparse/linalg/_eigen/arpack/_arpack.cpython-314t-x86_64-linux-gnu.so +0 -0
  1007. scipy/sparse/linalg/_eigen/arpack/arpack.py +1706 -0
  1008. scipy/sparse/linalg/_eigen/arpack/tests/__init__.py +0 -0
  1009. scipy/sparse/linalg/_eigen/arpack/tests/test_arpack.py +717 -0
  1010. scipy/sparse/linalg/_eigen/lobpcg/__init__.py +16 -0
  1011. scipy/sparse/linalg/_eigen/lobpcg/lobpcg.py +1110 -0
  1012. scipy/sparse/linalg/_eigen/lobpcg/tests/__init__.py +0 -0
  1013. scipy/sparse/linalg/_eigen/lobpcg/tests/test_lobpcg.py +725 -0
  1014. scipy/sparse/linalg/_eigen/tests/__init__.py +0 -0
  1015. scipy/sparse/linalg/_eigen/tests/test_svds.py +886 -0
  1016. scipy/sparse/linalg/_expm_multiply.py +816 -0
  1017. scipy/sparse/linalg/_interface.py +920 -0
  1018. scipy/sparse/linalg/_isolve/__init__.py +20 -0
  1019. scipy/sparse/linalg/_isolve/_gcrotmk.py +503 -0
  1020. scipy/sparse/linalg/_isolve/iterative.py +1051 -0
  1021. scipy/sparse/linalg/_isolve/lgmres.py +230 -0
  1022. scipy/sparse/linalg/_isolve/lsmr.py +486 -0
  1023. scipy/sparse/linalg/_isolve/lsqr.py +589 -0
  1024. scipy/sparse/linalg/_isolve/minres.py +372 -0
  1025. scipy/sparse/linalg/_isolve/tests/__init__.py +0 -0
  1026. scipy/sparse/linalg/_isolve/tests/test_gcrotmk.py +183 -0
  1027. scipy/sparse/linalg/_isolve/tests/test_iterative.py +809 -0
  1028. scipy/sparse/linalg/_isolve/tests/test_lgmres.py +225 -0
  1029. scipy/sparse/linalg/_isolve/tests/test_lsmr.py +185 -0
  1030. scipy/sparse/linalg/_isolve/tests/test_lsqr.py +120 -0
  1031. scipy/sparse/linalg/_isolve/tests/test_minres.py +97 -0
  1032. scipy/sparse/linalg/_isolve/tests/test_utils.py +9 -0
  1033. scipy/sparse/linalg/_isolve/tfqmr.py +179 -0
  1034. scipy/sparse/linalg/_isolve/utils.py +121 -0
  1035. scipy/sparse/linalg/_matfuncs.py +940 -0
  1036. scipy/sparse/linalg/_norm.py +195 -0
  1037. scipy/sparse/linalg/_onenormest.py +467 -0
  1038. scipy/sparse/linalg/_propack/_cpropack.cpython-314t-x86_64-linux-gnu.so +0 -0
  1039. scipy/sparse/linalg/_propack/_dpropack.cpython-314t-x86_64-linux-gnu.so +0 -0
  1040. scipy/sparse/linalg/_propack/_spropack.cpython-314t-x86_64-linux-gnu.so +0 -0
  1041. scipy/sparse/linalg/_propack/_zpropack.cpython-314t-x86_64-linux-gnu.so +0 -0
  1042. scipy/sparse/linalg/_special_sparse_arrays.py +949 -0
  1043. scipy/sparse/linalg/_svdp.py +309 -0
  1044. scipy/sparse/linalg/dsolve.py +22 -0
  1045. scipy/sparse/linalg/eigen.py +21 -0
  1046. scipy/sparse/linalg/interface.py +20 -0
  1047. scipy/sparse/linalg/isolve.py +22 -0
  1048. scipy/sparse/linalg/matfuncs.py +18 -0
  1049. scipy/sparse/linalg/tests/__init__.py +0 -0
  1050. scipy/sparse/linalg/tests/propack_test_data.npz +0 -0
  1051. scipy/sparse/linalg/tests/test_expm_multiply.py +367 -0
  1052. scipy/sparse/linalg/tests/test_interface.py +561 -0
  1053. scipy/sparse/linalg/tests/test_matfuncs.py +592 -0
  1054. scipy/sparse/linalg/tests/test_norm.py +154 -0
  1055. scipy/sparse/linalg/tests/test_onenormest.py +252 -0
  1056. scipy/sparse/linalg/tests/test_propack.py +165 -0
  1057. scipy/sparse/linalg/tests/test_pydata_sparse.py +272 -0
  1058. scipy/sparse/linalg/tests/test_special_sparse_arrays.py +337 -0
  1059. scipy/sparse/sparsetools.py +17 -0
  1060. scipy/sparse/spfuncs.py +17 -0
  1061. scipy/sparse/sputils.py +17 -0
  1062. scipy/sparse/tests/__init__.py +0 -0
  1063. scipy/sparse/tests/data/csc_py2.npz +0 -0
  1064. scipy/sparse/tests/data/csc_py3.npz +0 -0
  1065. scipy/sparse/tests/test_arithmetic1d.py +341 -0
  1066. scipy/sparse/tests/test_array_api.py +561 -0
  1067. scipy/sparse/tests/test_base.py +5870 -0
  1068. scipy/sparse/tests/test_common1d.py +447 -0
  1069. scipy/sparse/tests/test_construct.py +872 -0
  1070. scipy/sparse/tests/test_coo.py +1119 -0
  1071. scipy/sparse/tests/test_csc.py +98 -0
  1072. scipy/sparse/tests/test_csr.py +214 -0
  1073. scipy/sparse/tests/test_dok.py +209 -0
  1074. scipy/sparse/tests/test_extract.py +51 -0
  1075. scipy/sparse/tests/test_indexing1d.py +603 -0
  1076. scipy/sparse/tests/test_matrix_io.py +109 -0
  1077. scipy/sparse/tests/test_minmax1d.py +128 -0
  1078. scipy/sparse/tests/test_sparsetools.py +344 -0
  1079. scipy/sparse/tests/test_spfuncs.py +97 -0
  1080. scipy/sparse/tests/test_sputils.py +424 -0
  1081. scipy/spatial/__init__.py +129 -0
  1082. scipy/spatial/_ckdtree.cpython-314t-x86_64-linux-gnu.so +0 -0
  1083. scipy/spatial/_distance_pybind.cpython-314t-x86_64-linux-gnu.so +0 -0
  1084. scipy/spatial/_distance_wrap.cpython-314t-x86_64-linux-gnu.so +0 -0
  1085. scipy/spatial/_geometric_slerp.py +238 -0
  1086. scipy/spatial/_hausdorff.cpython-314t-x86_64-linux-gnu.so +0 -0
  1087. scipy/spatial/_kdtree.py +920 -0
  1088. scipy/spatial/_plotutils.py +274 -0
  1089. scipy/spatial/_procrustes.py +132 -0
  1090. scipy/spatial/_qhull.cpython-314t-x86_64-linux-gnu.so +0 -0
  1091. scipy/spatial/_qhull.pyi +213 -0
  1092. scipy/spatial/_spherical_voronoi.py +341 -0
  1093. scipy/spatial/_voronoi.cpython-314t-x86_64-linux-gnu.so +0 -0
  1094. scipy/spatial/_voronoi.pyi +4 -0
  1095. scipy/spatial/ckdtree.py +18 -0
  1096. scipy/spatial/distance.py +3147 -0
  1097. scipy/spatial/distance.pyi +210 -0
  1098. scipy/spatial/kdtree.py +25 -0
  1099. scipy/spatial/qhull.py +25 -0
  1100. scipy/spatial/tests/__init__.py +0 -0
  1101. scipy/spatial/tests/data/cdist-X1.txt +10 -0
  1102. scipy/spatial/tests/data/cdist-X2.txt +20 -0
  1103. scipy/spatial/tests/data/degenerate_pointset.npz +0 -0
  1104. scipy/spatial/tests/data/iris.txt +150 -0
  1105. scipy/spatial/tests/data/pdist-boolean-inp.txt +20 -0
  1106. scipy/spatial/tests/data/pdist-chebyshev-ml-iris.txt +1 -0
  1107. scipy/spatial/tests/data/pdist-chebyshev-ml.txt +1 -0
  1108. scipy/spatial/tests/data/pdist-cityblock-ml-iris.txt +1 -0
  1109. scipy/spatial/tests/data/pdist-cityblock-ml.txt +1 -0
  1110. scipy/spatial/tests/data/pdist-correlation-ml-iris.txt +1 -0
  1111. scipy/spatial/tests/data/pdist-correlation-ml.txt +1 -0
  1112. scipy/spatial/tests/data/pdist-cosine-ml-iris.txt +1 -0
  1113. scipy/spatial/tests/data/pdist-cosine-ml.txt +1 -0
  1114. scipy/spatial/tests/data/pdist-double-inp.txt +20 -0
  1115. scipy/spatial/tests/data/pdist-euclidean-ml-iris.txt +1 -0
  1116. scipy/spatial/tests/data/pdist-euclidean-ml.txt +1 -0
  1117. scipy/spatial/tests/data/pdist-hamming-ml.txt +1 -0
  1118. scipy/spatial/tests/data/pdist-jaccard-ml.txt +1 -0
  1119. scipy/spatial/tests/data/pdist-jensenshannon-ml-iris.txt +1 -0
  1120. scipy/spatial/tests/data/pdist-jensenshannon-ml.txt +1 -0
  1121. scipy/spatial/tests/data/pdist-minkowski-3.2-ml-iris.txt +1 -0
  1122. scipy/spatial/tests/data/pdist-minkowski-3.2-ml.txt +1 -0
  1123. scipy/spatial/tests/data/pdist-minkowski-5.8-ml-iris.txt +1 -0
  1124. scipy/spatial/tests/data/pdist-seuclidean-ml-iris.txt +1 -0
  1125. scipy/spatial/tests/data/pdist-seuclidean-ml.txt +1 -0
  1126. scipy/spatial/tests/data/pdist-spearman-ml.txt +1 -0
  1127. scipy/spatial/tests/data/random-bool-data.txt +100 -0
  1128. scipy/spatial/tests/data/random-double-data.txt +100 -0
  1129. scipy/spatial/tests/data/random-int-data.txt +100 -0
  1130. scipy/spatial/tests/data/random-uint-data.txt +100 -0
  1131. scipy/spatial/tests/data/selfdual-4d-polytope.txt +27 -0
  1132. scipy/spatial/tests/test__plotutils.py +91 -0
  1133. scipy/spatial/tests/test__procrustes.py +116 -0
  1134. scipy/spatial/tests/test_distance.py +2388 -0
  1135. scipy/spatial/tests/test_hausdorff.py +199 -0
  1136. scipy/spatial/tests/test_kdtree.py +1536 -0
  1137. scipy/spatial/tests/test_qhull.py +1313 -0
  1138. scipy/spatial/tests/test_slerp.py +417 -0
  1139. scipy/spatial/tests/test_spherical_voronoi.py +358 -0
  1140. scipy/spatial/transform/__init__.py +31 -0
  1141. scipy/spatial/transform/_rigid_transform.cpython-314t-x86_64-linux-gnu.so +0 -0
  1142. scipy/spatial/transform/_rotation.cpython-314t-x86_64-linux-gnu.so +0 -0
  1143. scipy/spatial/transform/_rotation_groups.py +140 -0
  1144. scipy/spatial/transform/_rotation_spline.py +460 -0
  1145. scipy/spatial/transform/rotation.py +21 -0
  1146. scipy/spatial/transform/tests/__init__.py +0 -0
  1147. scipy/spatial/transform/tests/test_rigid_transform.py +1221 -0
  1148. scipy/spatial/transform/tests/test_rotation.py +2569 -0
  1149. scipy/spatial/transform/tests/test_rotation_groups.py +169 -0
  1150. scipy/spatial/transform/tests/test_rotation_spline.py +183 -0
  1151. scipy/special/__init__.pxd +1 -0
  1152. scipy/special/__init__.py +841 -0
  1153. scipy/special/_add_newdocs.py +9961 -0
  1154. scipy/special/_basic.py +3576 -0
  1155. scipy/special/_comb.cpython-314t-x86_64-linux-gnu.so +0 -0
  1156. scipy/special/_ellip_harm.py +214 -0
  1157. scipy/special/_ellip_harm_2.cpython-314t-x86_64-linux-gnu.so +0 -0
  1158. scipy/special/_gufuncs.cpython-314t-x86_64-linux-gnu.so +0 -0
  1159. scipy/special/_input_validation.py +17 -0
  1160. scipy/special/_lambertw.py +149 -0
  1161. scipy/special/_logsumexp.py +426 -0
  1162. scipy/special/_mptestutils.py +453 -0
  1163. scipy/special/_multiufuncs.py +610 -0
  1164. scipy/special/_orthogonal.py +2592 -0
  1165. scipy/special/_orthogonal.pyi +330 -0
  1166. scipy/special/_precompute/__init__.py +0 -0
  1167. scipy/special/_precompute/cosine_cdf.py +17 -0
  1168. scipy/special/_precompute/expn_asy.py +54 -0
  1169. scipy/special/_precompute/gammainc_asy.py +116 -0
  1170. scipy/special/_precompute/gammainc_data.py +124 -0
  1171. scipy/special/_precompute/hyp2f1_data.py +484 -0
  1172. scipy/special/_precompute/lambertw.py +68 -0
  1173. scipy/special/_precompute/loggamma.py +43 -0
  1174. scipy/special/_precompute/struve_convergence.py +131 -0
  1175. scipy/special/_precompute/utils.py +38 -0
  1176. scipy/special/_precompute/wright_bessel.py +342 -0
  1177. scipy/special/_precompute/wright_bessel_data.py +152 -0
  1178. scipy/special/_precompute/wrightomega.py +41 -0
  1179. scipy/special/_precompute/zetac.py +27 -0
  1180. scipy/special/_sf_error.py +15 -0
  1181. scipy/special/_specfun.cpython-314t-x86_64-linux-gnu.so +0 -0
  1182. scipy/special/_special_ufuncs.cpython-314t-x86_64-linux-gnu.so +0 -0
  1183. scipy/special/_spfun_stats.py +106 -0
  1184. scipy/special/_spherical_bessel.py +397 -0
  1185. scipy/special/_support_alternative_backends.py +295 -0
  1186. scipy/special/_test_internal.cpython-314t-x86_64-linux-gnu.so +0 -0
  1187. scipy/special/_test_internal.pyi +9 -0
  1188. scipy/special/_testutils.py +321 -0
  1189. scipy/special/_ufuncs.cpython-314t-x86_64-linux-gnu.so +0 -0
  1190. scipy/special/_ufuncs.pyi +522 -0
  1191. scipy/special/_ufuncs.pyx +13173 -0
  1192. scipy/special/_ufuncs_cxx.cpython-314t-x86_64-linux-gnu.so +0 -0
  1193. scipy/special/_ufuncs_cxx.pxd +142 -0
  1194. scipy/special/_ufuncs_cxx.pyx +427 -0
  1195. scipy/special/_ufuncs_cxx_defs.h +147 -0
  1196. scipy/special/_ufuncs_defs.h +57 -0
  1197. scipy/special/add_newdocs.py +15 -0
  1198. scipy/special/basic.py +87 -0
  1199. scipy/special/cython_special.cpython-314t-x86_64-linux-gnu.so +0 -0
  1200. scipy/special/cython_special.pxd +259 -0
  1201. scipy/special/cython_special.pyi +3 -0
  1202. scipy/special/orthogonal.py +45 -0
  1203. scipy/special/sf_error.py +20 -0
  1204. scipy/special/specfun.py +24 -0
  1205. scipy/special/spfun_stats.py +17 -0
  1206. scipy/special/tests/__init__.py +0 -0
  1207. scipy/special/tests/_cython_examples/extending.pyx +12 -0
  1208. scipy/special/tests/_cython_examples/meson.build +34 -0
  1209. scipy/special/tests/data/__init__.py +0 -0
  1210. scipy/special/tests/data/boost.npz +0 -0
  1211. scipy/special/tests/data/gsl.npz +0 -0
  1212. scipy/special/tests/data/local.npz +0 -0
  1213. scipy/special/tests/test_basic.py +4815 -0
  1214. scipy/special/tests/test_bdtr.py +112 -0
  1215. scipy/special/tests/test_boost_ufuncs.py +64 -0
  1216. scipy/special/tests/test_boxcox.py +125 -0
  1217. scipy/special/tests/test_cdflib.py +712 -0
  1218. scipy/special/tests/test_cdft_asymptotic.py +49 -0
  1219. scipy/special/tests/test_cephes_intp_cast.py +29 -0
  1220. scipy/special/tests/test_cosine_distr.py +83 -0
  1221. scipy/special/tests/test_cython_special.py +363 -0
  1222. scipy/special/tests/test_data.py +719 -0
  1223. scipy/special/tests/test_dd.py +42 -0
  1224. scipy/special/tests/test_digamma.py +45 -0
  1225. scipy/special/tests/test_ellip_harm.py +278 -0
  1226. scipy/special/tests/test_erfinv.py +89 -0
  1227. scipy/special/tests/test_exponential_integrals.py +118 -0
  1228. scipy/special/tests/test_extending.py +28 -0
  1229. scipy/special/tests/test_faddeeva.py +85 -0
  1230. scipy/special/tests/test_gamma.py +12 -0
  1231. scipy/special/tests/test_gammainc.py +152 -0
  1232. scipy/special/tests/test_hyp2f1.py +2566 -0
  1233. scipy/special/tests/test_hypergeometric.py +234 -0
  1234. scipy/special/tests/test_iv_ratio.py +249 -0
  1235. scipy/special/tests/test_kolmogorov.py +491 -0
  1236. scipy/special/tests/test_lambertw.py +109 -0
  1237. scipy/special/tests/test_legendre.py +1518 -0
  1238. scipy/special/tests/test_log1mexp.py +85 -0
  1239. scipy/special/tests/test_loggamma.py +70 -0
  1240. scipy/special/tests/test_logit.py +162 -0
  1241. scipy/special/tests/test_logsumexp.py +469 -0
  1242. scipy/special/tests/test_mpmath.py +2293 -0
  1243. scipy/special/tests/test_nan_inputs.py +65 -0
  1244. scipy/special/tests/test_ndtr.py +77 -0
  1245. scipy/special/tests/test_ndtri_exp.py +94 -0
  1246. scipy/special/tests/test_orthogonal.py +821 -0
  1247. scipy/special/tests/test_orthogonal_eval.py +275 -0
  1248. scipy/special/tests/test_owens_t.py +53 -0
  1249. scipy/special/tests/test_pcf.py +24 -0
  1250. scipy/special/tests/test_pdtr.py +48 -0
  1251. scipy/special/tests/test_powm1.py +65 -0
  1252. scipy/special/tests/test_precompute_expn_asy.py +24 -0
  1253. scipy/special/tests/test_precompute_gammainc.py +108 -0
  1254. scipy/special/tests/test_precompute_utils.py +36 -0
  1255. scipy/special/tests/test_round.py +18 -0
  1256. scipy/special/tests/test_sf_error.py +146 -0
  1257. scipy/special/tests/test_sici.py +36 -0
  1258. scipy/special/tests/test_specfun.py +48 -0
  1259. scipy/special/tests/test_spence.py +32 -0
  1260. scipy/special/tests/test_spfun_stats.py +61 -0
  1261. scipy/special/tests/test_sph_harm.py +85 -0
  1262. scipy/special/tests/test_spherical_bessel.py +400 -0
  1263. scipy/special/tests/test_support_alternative_backends.py +248 -0
  1264. scipy/special/tests/test_trig.py +72 -0
  1265. scipy/special/tests/test_ufunc_signatures.py +46 -0
  1266. scipy/special/tests/test_wright_bessel.py +205 -0
  1267. scipy/special/tests/test_wrightomega.py +117 -0
  1268. scipy/special/tests/test_zeta.py +301 -0
  1269. scipy/stats/__init__.py +670 -0
  1270. scipy/stats/_ansari_swilk_statistics.cpython-314t-x86_64-linux-gnu.so +0 -0
  1271. scipy/stats/_axis_nan_policy.py +692 -0
  1272. scipy/stats/_biasedurn.cpython-314t-x86_64-linux-gnu.so +0 -0
  1273. scipy/stats/_biasedurn.pxd +27 -0
  1274. scipy/stats/_binned_statistic.py +795 -0
  1275. scipy/stats/_binomtest.py +375 -0
  1276. scipy/stats/_bws_test.py +177 -0
  1277. scipy/stats/_censored_data.py +459 -0
  1278. scipy/stats/_common.py +5 -0
  1279. scipy/stats/_constants.py +42 -0
  1280. scipy/stats/_continued_fraction.py +387 -0
  1281. scipy/stats/_continuous_distns.py +12486 -0
  1282. scipy/stats/_correlation.py +210 -0
  1283. scipy/stats/_covariance.py +636 -0
  1284. scipy/stats/_crosstab.py +204 -0
  1285. scipy/stats/_discrete_distns.py +2098 -0
  1286. scipy/stats/_distn_infrastructure.py +4201 -0
  1287. scipy/stats/_distr_params.py +299 -0
  1288. scipy/stats/_distribution_infrastructure.py +5750 -0
  1289. scipy/stats/_entropy.py +428 -0
  1290. scipy/stats/_finite_differences.py +145 -0
  1291. scipy/stats/_fit.py +1351 -0
  1292. scipy/stats/_hypotests.py +2060 -0
  1293. scipy/stats/_kde.py +732 -0
  1294. scipy/stats/_ksstats.py +600 -0
  1295. scipy/stats/_levy_stable/__init__.py +1231 -0
  1296. scipy/stats/_levy_stable/levyst.cpython-314t-x86_64-linux-gnu.so +0 -0
  1297. scipy/stats/_mannwhitneyu.py +492 -0
  1298. scipy/stats/_mgc.py +550 -0
  1299. scipy/stats/_morestats.py +4626 -0
  1300. scipy/stats/_mstats_basic.py +3658 -0
  1301. scipy/stats/_mstats_extras.py +521 -0
  1302. scipy/stats/_multicomp.py +449 -0
  1303. scipy/stats/_multivariate.py +7281 -0
  1304. scipy/stats/_new_distributions.py +452 -0
  1305. scipy/stats/_odds_ratio.py +466 -0
  1306. scipy/stats/_page_trend_test.py +486 -0
  1307. scipy/stats/_probability_distribution.py +1964 -0
  1308. scipy/stats/_qmc.py +2956 -0
  1309. scipy/stats/_qmc_cy.cpython-314t-x86_64-linux-gnu.so +0 -0
  1310. scipy/stats/_qmc_cy.pyi +54 -0
  1311. scipy/stats/_qmvnt.py +454 -0
  1312. scipy/stats/_qmvnt_cy.cpython-314t-x86_64-linux-gnu.so +0 -0
  1313. scipy/stats/_quantile.py +335 -0
  1314. scipy/stats/_rcont/__init__.py +4 -0
  1315. scipy/stats/_rcont/rcont.cpython-314t-x86_64-linux-gnu.so +0 -0
  1316. scipy/stats/_relative_risk.py +263 -0
  1317. scipy/stats/_resampling.py +2352 -0
  1318. scipy/stats/_result_classes.py +40 -0
  1319. scipy/stats/_sampling.py +1314 -0
  1320. scipy/stats/_sensitivity_analysis.py +713 -0
  1321. scipy/stats/_sobol.cpython-314t-x86_64-linux-gnu.so +0 -0
  1322. scipy/stats/_sobol.pyi +54 -0
  1323. scipy/stats/_sobol_direction_numbers.npz +0 -0
  1324. scipy/stats/_stats.cpython-314t-x86_64-linux-gnu.so +0 -0
  1325. scipy/stats/_stats.pxd +10 -0
  1326. scipy/stats/_stats_mstats_common.py +322 -0
  1327. scipy/stats/_stats_py.py +11089 -0
  1328. scipy/stats/_stats_pythran.cpython-314t-x86_64-linux-gnu.so +0 -0
  1329. scipy/stats/_survival.py +683 -0
  1330. scipy/stats/_tukeylambda_stats.py +199 -0
  1331. scipy/stats/_unuran/__init__.py +0 -0
  1332. scipy/stats/_unuran/unuran_wrapper.cpython-314t-x86_64-linux-gnu.so +0 -0
  1333. scipy/stats/_unuran/unuran_wrapper.pyi +179 -0
  1334. scipy/stats/_variation.py +126 -0
  1335. scipy/stats/_warnings_errors.py +38 -0
  1336. scipy/stats/_wilcoxon.py +265 -0
  1337. scipy/stats/biasedurn.py +16 -0
  1338. scipy/stats/contingency.py +521 -0
  1339. scipy/stats/distributions.py +24 -0
  1340. scipy/stats/kde.py +18 -0
  1341. scipy/stats/morestats.py +27 -0
  1342. scipy/stats/mstats.py +140 -0
  1343. scipy/stats/mstats_basic.py +42 -0
  1344. scipy/stats/mstats_extras.py +25 -0
  1345. scipy/stats/mvn.py +17 -0
  1346. scipy/stats/qmc.py +236 -0
  1347. scipy/stats/sampling.py +73 -0
  1348. scipy/stats/stats.py +41 -0
  1349. scipy/stats/tests/__init__.py +0 -0
  1350. scipy/stats/tests/common_tests.py +356 -0
  1351. scipy/stats/tests/data/_mvt.py +171 -0
  1352. scipy/stats/tests/data/fisher_exact_results_from_r.py +607 -0
  1353. scipy/stats/tests/data/jf_skew_t_gamlss_pdf_data.npy +0 -0
  1354. scipy/stats/tests/data/levy_stable/stable-Z1-cdf-sample-data.npy +0 -0
  1355. scipy/stats/tests/data/levy_stable/stable-Z1-pdf-sample-data.npy +0 -0
  1356. scipy/stats/tests/data/levy_stable/stable-loc-scale-sample-data.npy +0 -0
  1357. scipy/stats/tests/data/nist_anova/AtmWtAg.dat +108 -0
  1358. scipy/stats/tests/data/nist_anova/SiRstv.dat +85 -0
  1359. scipy/stats/tests/data/nist_anova/SmLs01.dat +249 -0
  1360. scipy/stats/tests/data/nist_anova/SmLs02.dat +1869 -0
  1361. scipy/stats/tests/data/nist_anova/SmLs03.dat +18069 -0
  1362. scipy/stats/tests/data/nist_anova/SmLs04.dat +249 -0
  1363. scipy/stats/tests/data/nist_anova/SmLs05.dat +1869 -0
  1364. scipy/stats/tests/data/nist_anova/SmLs06.dat +18069 -0
  1365. scipy/stats/tests/data/nist_anova/SmLs07.dat +249 -0
  1366. scipy/stats/tests/data/nist_anova/SmLs08.dat +1869 -0
  1367. scipy/stats/tests/data/nist_anova/SmLs09.dat +18069 -0
  1368. scipy/stats/tests/data/nist_linregress/Norris.dat +97 -0
  1369. scipy/stats/tests/data/rel_breitwigner_pdf_sample_data_ROOT.npy +0 -0
  1370. scipy/stats/tests/data/studentized_range_mpmath_ref.json +1499 -0
  1371. scipy/stats/tests/test_axis_nan_policy.py +1388 -0
  1372. scipy/stats/tests/test_binned_statistic.py +568 -0
  1373. scipy/stats/tests/test_censored_data.py +152 -0
  1374. scipy/stats/tests/test_contingency.py +294 -0
  1375. scipy/stats/tests/test_continued_fraction.py +173 -0
  1376. scipy/stats/tests/test_continuous.py +2198 -0
  1377. scipy/stats/tests/test_continuous_basic.py +1053 -0
  1378. scipy/stats/tests/test_continuous_fit_censored.py +683 -0
  1379. scipy/stats/tests/test_correlation.py +80 -0
  1380. scipy/stats/tests/test_crosstab.py +115 -0
  1381. scipy/stats/tests/test_discrete_basic.py +580 -0
  1382. scipy/stats/tests/test_discrete_distns.py +700 -0
  1383. scipy/stats/tests/test_distributions.py +10413 -0
  1384. scipy/stats/tests/test_entropy.py +322 -0
  1385. scipy/stats/tests/test_fast_gen_inversion.py +435 -0
  1386. scipy/stats/tests/test_fit.py +1090 -0
  1387. scipy/stats/tests/test_hypotests.py +1991 -0
  1388. scipy/stats/tests/test_kdeoth.py +676 -0
  1389. scipy/stats/tests/test_marray.py +289 -0
  1390. scipy/stats/tests/test_mgc.py +217 -0
  1391. scipy/stats/tests/test_morestats.py +3259 -0
  1392. scipy/stats/tests/test_mstats_basic.py +2071 -0
  1393. scipy/stats/tests/test_mstats_extras.py +172 -0
  1394. scipy/stats/tests/test_multicomp.py +405 -0
  1395. scipy/stats/tests/test_multivariate.py +4381 -0
  1396. scipy/stats/tests/test_odds_ratio.py +148 -0
  1397. scipy/stats/tests/test_qmc.py +1492 -0
  1398. scipy/stats/tests/test_quantile.py +199 -0
  1399. scipy/stats/tests/test_rank.py +345 -0
  1400. scipy/stats/tests/test_relative_risk.py +95 -0
  1401. scipy/stats/tests/test_resampling.py +2000 -0
  1402. scipy/stats/tests/test_sampling.py +1450 -0
  1403. scipy/stats/tests/test_sensitivity_analysis.py +310 -0
  1404. scipy/stats/tests/test_stats.py +9707 -0
  1405. scipy/stats/tests/test_survival.py +466 -0
  1406. scipy/stats/tests/test_tukeylambda_stats.py +85 -0
  1407. scipy/stats/tests/test_variation.py +216 -0
  1408. scipy/version.py +12 -0
  1409. scipy-1.16.1.dist-info/LICENSE.txt +934 -0
  1410. scipy-1.16.1.dist-info/METADATA +1083 -0
  1411. scipy-1.16.1.dist-info/RECORD +1417 -0
  1412. scipy-1.16.1.dist-info/WHEEL +6 -0
  1413. scipy.libs/libgfortran-040039e1-0352e75f.so.5.0.0 +0 -0
  1414. scipy.libs/libgfortran-040039e1.so.5.0.0 +0 -0
  1415. scipy.libs/libquadmath-96973f99-934c22de.so.0.0.0 +0 -0
  1416. scipy.libs/libquadmath-96973f99.so.0.0.0 +0 -0
  1417. scipy.libs/libscipy_openblas-68440149.so +0 -0
@@ -0,0 +1,230 @@
1
+ # Copyright (C) 2009, Pauli Virtanen <pav@iki.fi>
2
+ # Distributed under the same license as SciPy.
3
+
4
+ import numpy as np
5
+ from numpy.linalg import LinAlgError
6
+ from scipy.linalg import get_blas_funcs
7
+ from .iterative import _get_atol_rtol
8
+ from .utils import make_system
9
+
10
+ from ._gcrotmk import _fgmres
11
+
12
+ __all__ = ['lgmres']
13
+
14
+
15
+ def lgmres(A, b, x0=None, *, rtol=1e-5, atol=0., maxiter=1000, M=None, callback=None,
16
+ inner_m=30, outer_k=3, outer_v=None, store_outer_Av=True,
17
+ prepend_outer_v=False):
18
+ """
19
+ Solve ``Ax = b`` with the LGMRES algorithm.
20
+
21
+ The LGMRES algorithm [1]_ [2]_ is designed to avoid some problems
22
+ in the convergence in restarted GMRES, and often converges in fewer
23
+ iterations.
24
+
25
+ Parameters
26
+ ----------
27
+ A : {sparse array, ndarray, LinearOperator}
28
+ The real or complex N-by-N matrix of the linear system.
29
+ Alternatively, ``A`` can be a linear operator which can
30
+ produce ``Ax`` using, e.g.,
31
+ ``scipy.sparse.linalg.LinearOperator``.
32
+ b : ndarray
33
+ Right hand side of the linear system. Has shape (N,) or (N,1).
34
+ x0 : ndarray
35
+ Starting guess for the solution.
36
+ rtol, atol : float, optional
37
+ Parameters for the convergence test. For convergence,
38
+ ``norm(b - A @ x) <= max(rtol*norm(b), atol)`` should be satisfied.
39
+ The default is ``rtol=1e-5``, the default for ``atol`` is ``0.0``.
40
+ maxiter : int, optional
41
+ Maximum number of iterations. Iteration will stop after maxiter
42
+ steps even if the specified tolerance has not been achieved.
43
+ M : {sparse array, ndarray, LinearOperator}, optional
44
+ Preconditioner for A. The preconditioner should approximate the
45
+ inverse of A. Effective preconditioning dramatically improves the
46
+ rate of convergence, which implies that fewer iterations are needed
47
+ to reach a given error tolerance.
48
+ callback : function, optional
49
+ User-supplied function to call after each iteration. It is called
50
+ as callback(xk), where xk is the current solution vector.
51
+ inner_m : int, optional
52
+ Number of inner GMRES iterations per each outer iteration.
53
+ outer_k : int, optional
54
+ Number of vectors to carry between inner GMRES iterations.
55
+ According to [1]_, good values are in the range of 1...3.
56
+ However, note that if you want to use the additional vectors to
57
+ accelerate solving multiple similar problems, larger values may
58
+ be beneficial.
59
+ outer_v : list of tuples, optional
60
+ List containing tuples ``(v, Av)`` of vectors and corresponding
61
+ matrix-vector products, used to augment the Krylov subspace, and
62
+ carried between inner GMRES iterations. The element ``Av`` can
63
+ be `None` if the matrix-vector product should be re-evaluated.
64
+ This parameter is modified in-place by `lgmres`, and can be used
65
+ to pass "guess" vectors in and out of the algorithm when solving
66
+ similar problems.
67
+ store_outer_Av : bool, optional
68
+ Whether LGMRES should store also A@v in addition to vectors `v`
69
+ in the `outer_v` list. Default is True.
70
+ prepend_outer_v : bool, optional
71
+ Whether to put outer_v augmentation vectors before Krylov iterates.
72
+ In standard LGMRES, prepend_outer_v=False.
73
+
74
+ Returns
75
+ -------
76
+ x : ndarray
77
+ The converged solution.
78
+ info : int
79
+ Provides convergence information:
80
+
81
+ - 0 : successful exit
82
+ - >0 : convergence to tolerance not achieved, number of iterations
83
+ - <0 : illegal input or breakdown
84
+
85
+ Notes
86
+ -----
87
+ The LGMRES algorithm [1]_ [2]_ is designed to avoid the
88
+ slowing of convergence in restarted GMRES, due to alternating
89
+ residual vectors. Typically, it often outperforms GMRES(m) of
90
+ comparable memory requirements by some measure, or at least is not
91
+ much worse.
92
+
93
+ Another advantage in this algorithm is that you can supply it with
94
+ 'guess' vectors in the `outer_v` argument that augment the Krylov
95
+ subspace. If the solution lies close to the span of these vectors,
96
+ the algorithm converges faster. This can be useful if several very
97
+ similar matrices need to be inverted one after another, such as in
98
+ Newton-Krylov iteration where the Jacobian matrix often changes
99
+ little in the nonlinear steps.
100
+
101
+ References
102
+ ----------
103
+ .. [1] A.H. Baker and E.R. Jessup and T. Manteuffel, "A Technique for
104
+ Accelerating the Convergence of Restarted GMRES", SIAM J. Matrix
105
+ Anal. Appl. 26, 962 (2005).
106
+ .. [2] A.H. Baker, "On Improving the Performance of the Linear Solver
107
+ restarted GMRES", PhD thesis, University of Colorado (2003).
108
+
109
+ Examples
110
+ --------
111
+ >>> import numpy as np
112
+ >>> from scipy.sparse import csc_array
113
+ >>> from scipy.sparse.linalg import lgmres
114
+ >>> A = csc_array([[3, 2, 0], [1, -1, 0], [0, 5, 1]], dtype=float)
115
+ >>> b = np.array([2, 4, -1], dtype=float)
116
+ >>> x, exitCode = lgmres(A, b, atol=1e-5)
117
+ >>> print(exitCode) # 0 indicates successful convergence
118
+ 0
119
+ >>> np.allclose(A.dot(x), b)
120
+ True
121
+ """
122
+ A,M,x,b = make_system(A,M,x0,b)
123
+
124
+ if not np.isfinite(b).all():
125
+ raise ValueError("RHS must contain only finite numbers")
126
+
127
+ matvec = A.matvec
128
+ psolve = M.matvec
129
+
130
+ if outer_v is None:
131
+ outer_v = []
132
+
133
+ axpy, dot, scal = None, None, None
134
+ nrm2 = get_blas_funcs('nrm2', [b])
135
+
136
+ b_norm = nrm2(b)
137
+
138
+ # we call this to get the right atol/rtol and raise errors as necessary
139
+ atol, rtol = _get_atol_rtol('lgmres', b_norm, atol, rtol)
140
+
141
+ if b_norm == 0:
142
+ x = b
143
+ return (x, 0)
144
+
145
+ ptol_max_factor = 1.0
146
+
147
+ for k_outer in range(maxiter):
148
+ r_outer = matvec(x) - b
149
+
150
+ # -- callback
151
+ if callback is not None:
152
+ callback(x)
153
+
154
+ # -- determine input type routines
155
+ if axpy is None:
156
+ if np.iscomplexobj(r_outer) and not np.iscomplexobj(x):
157
+ x = x.astype(r_outer.dtype)
158
+ axpy, dot, scal, nrm2 = get_blas_funcs(['axpy', 'dot', 'scal', 'nrm2'],
159
+ (x, r_outer))
160
+
161
+ # -- check stopping condition
162
+ r_norm = nrm2(r_outer)
163
+ if r_norm <= max(atol, rtol * b_norm):
164
+ break
165
+
166
+ # -- inner LGMRES iteration
167
+ v0 = -psolve(r_outer)
168
+ inner_res_0 = nrm2(v0)
169
+
170
+ if inner_res_0 == 0:
171
+ rnorm = nrm2(r_outer)
172
+ raise RuntimeError("Preconditioner returned a zero vector; "
173
+ f"|v| ~ {rnorm:.1g}, |M v| = 0")
174
+
175
+ v0 = scal(1.0/inner_res_0, v0)
176
+
177
+ ptol = min(ptol_max_factor, max(atol, rtol*b_norm)/r_norm)
178
+
179
+ try:
180
+ Q, R, B, vs, zs, y, pres = _fgmres(matvec,
181
+ v0,
182
+ inner_m,
183
+ lpsolve=psolve,
184
+ atol=ptol,
185
+ outer_v=outer_v,
186
+ prepend_outer_v=prepend_outer_v)
187
+ y *= inner_res_0
188
+ if not np.isfinite(y).all():
189
+ # Overflow etc. in computation. There's no way to
190
+ # recover from this, so we have to bail out.
191
+ raise LinAlgError()
192
+ except LinAlgError:
193
+ # Floating point over/underflow, non-finite result from
194
+ # matmul etc. -- report failure.
195
+ return x, k_outer + 1
196
+
197
+ # Inner loop tolerance control
198
+ if pres > ptol:
199
+ ptol_max_factor = min(1.0, 1.5 * ptol_max_factor)
200
+ else:
201
+ ptol_max_factor = max(1e-16, 0.25 * ptol_max_factor)
202
+
203
+ # -- GMRES terminated: eval solution
204
+ dx = zs[0]*y[0]
205
+ for w, yc in zip(zs[1:], y[1:]):
206
+ dx = axpy(w, dx, dx.shape[0], yc) # dx += w*yc
207
+
208
+ # -- Store LGMRES augmentation vectors
209
+ nx = nrm2(dx)
210
+ if nx > 0:
211
+ if store_outer_Av:
212
+ q = Q.dot(R.dot(y))
213
+ ax = vs[0]*q[0]
214
+ for v, qc in zip(vs[1:], q[1:]):
215
+ ax = axpy(v, ax, ax.shape[0], qc)
216
+ outer_v.append((dx/nx, ax/nx))
217
+ else:
218
+ outer_v.append((dx/nx, None))
219
+
220
+ # -- Retain only a finite number of augmentation vectors
221
+ while len(outer_v) > outer_k:
222
+ del outer_v[0]
223
+
224
+ # -- Apply step
225
+ x += dx
226
+ else:
227
+ # didn't converge ...
228
+ return x, maxiter
229
+
230
+ return x, 0
@@ -0,0 +1,486 @@
1
+ """
2
+ Copyright (C) 2010 David Fong and Michael Saunders
3
+
4
+ LSMR uses an iterative method.
5
+
6
+ 07 Jun 2010: Documentation updated
7
+ 03 Jun 2010: First release version in Python
8
+
9
+ David Chin-lung Fong clfong@stanford.edu
10
+ Institute for Computational and Mathematical Engineering
11
+ Stanford University
12
+
13
+ Michael Saunders saunders@stanford.edu
14
+ Systems Optimization Laboratory
15
+ Dept of MS&E, Stanford University.
16
+
17
+ """
18
+
19
+ __all__ = ['lsmr']
20
+
21
+ from numpy import zeros, inf, atleast_1d, result_type
22
+ from numpy.linalg import norm
23
+ from math import sqrt
24
+ from scipy.sparse.linalg._interface import aslinearoperator
25
+
26
+ from scipy.sparse.linalg._isolve.lsqr import _sym_ortho
27
+
28
+
29
+ def lsmr(A, b, damp=0.0, atol=1e-6, btol=1e-6, conlim=1e8,
30
+ maxiter=None, show=False, x0=None):
31
+ """Iterative solver for least-squares problems.
32
+
33
+ lsmr solves the system of linear equations ``Ax = b``. If the system
34
+ is inconsistent, it solves the least-squares problem ``min ||b - Ax||_2``.
35
+ ``A`` is a rectangular matrix of dimension m-by-n, where all cases are
36
+ allowed: m = n, m > n, or m < n. ``b`` is a vector of length m.
37
+ The matrix A may be dense or sparse (usually sparse).
38
+
39
+ Parameters
40
+ ----------
41
+ A : {sparse array, ndarray, LinearOperator}
42
+ Matrix A in the linear system.
43
+ Alternatively, ``A`` can be a linear operator which can
44
+ produce ``Ax`` and ``A^H x`` using, e.g.,
45
+ ``scipy.sparse.linalg.LinearOperator``.
46
+ b : array_like, shape (m,)
47
+ Vector ``b`` in the linear system.
48
+ damp : float
49
+ Damping factor for regularized least-squares. `lsmr` solves
50
+ the regularized least-squares problem::
51
+
52
+ min ||(b) - ( A )x||
53
+ ||(0) (damp*I) ||_2
54
+
55
+ where damp is a scalar. If damp is None or 0, the system
56
+ is solved without regularization. Default is 0.
57
+ atol, btol : float, optional
58
+ Stopping tolerances. `lsmr` continues iterations until a
59
+ certain backward error estimate is smaller than some quantity
60
+ depending on atol and btol. Let ``r = b - Ax`` be the
61
+ residual vector for the current approximate solution ``x``.
62
+ If ``Ax = b`` seems to be consistent, `lsmr` terminates
63
+ when ``norm(r) <= atol * norm(A) * norm(x) + btol * norm(b)``.
64
+ Otherwise, `lsmr` terminates when ``norm(A^H r) <=
65
+ atol * norm(A) * norm(r)``. If both tolerances are 1.0e-6 (default),
66
+ the final ``norm(r)`` should be accurate to about 6
67
+ digits. (The final ``x`` will usually have fewer correct digits,
68
+ depending on ``cond(A)`` and the size of LAMBDA.) If `atol`
69
+ or `btol` is None, a default value of 1.0e-6 will be used.
70
+ Ideally, they should be estimates of the relative error in the
71
+ entries of ``A`` and ``b`` respectively. For example, if the entries
72
+ of ``A`` have 7 correct digits, set ``atol = 1e-7``. This prevents
73
+ the algorithm from doing unnecessary work beyond the
74
+ uncertainty of the input data.
75
+ conlim : float, optional
76
+ `lsmr` terminates if an estimate of ``cond(A)`` exceeds
77
+ `conlim`. For compatible systems ``Ax = b``, conlim could be
78
+ as large as 1.0e+12 (say). For least-squares problems,
79
+ `conlim` should be less than 1.0e+8. If `conlim` is None, the
80
+ default value is 1e+8. Maximum precision can be obtained by
81
+ setting ``atol = btol = conlim = 0``, but the number of
82
+ iterations may then be excessive. Default is 1e8.
83
+ maxiter : int, optional
84
+ `lsmr` terminates if the number of iterations reaches
85
+ `maxiter`. The default is ``maxiter = min(m, n)``. For
86
+ ill-conditioned systems, a larger value of `maxiter` may be
87
+ needed. Default is False.
88
+ show : bool, optional
89
+ Print iterations logs if ``show=True``. Default is False.
90
+ x0 : array_like, shape (n,), optional
91
+ Initial guess of ``x``, if None zeros are used. Default is None.
92
+
93
+ .. versionadded:: 1.0.0
94
+
95
+ Returns
96
+ -------
97
+ x : ndarray of float
98
+ Least-square solution returned.
99
+ istop : int
100
+ istop gives the reason for stopping::
101
+
102
+ istop = 0 means x=0 is a solution. If x0 was given, then x=x0 is a
103
+ solution.
104
+ = 1 means x is an approximate solution to A@x = B,
105
+ according to atol and btol.
106
+ = 2 means x approximately solves the least-squares problem
107
+ according to atol.
108
+ = 3 means COND(A) seems to be greater than CONLIM.
109
+ = 4 is the same as 1 with atol = btol = eps (machine
110
+ precision)
111
+ = 5 is the same as 2 with atol = eps.
112
+ = 6 is the same as 3 with CONLIM = 1/eps.
113
+ = 7 means ITN reached maxiter before the other stopping
114
+ conditions were satisfied.
115
+
116
+ itn : int
117
+ Number of iterations used.
118
+ normr : float
119
+ ``norm(b-Ax)``
120
+ normar : float
121
+ ``norm(A^H (b - Ax))``
122
+ norma : float
123
+ ``norm(A)``
124
+ conda : float
125
+ Condition number of A.
126
+ normx : float
127
+ ``norm(x)``
128
+
129
+ Notes
130
+ -----
131
+
132
+ .. versionadded:: 0.11.0
133
+
134
+ References
135
+ ----------
136
+ .. [1] D. C.-L. Fong and M. A. Saunders,
137
+ "LSMR: An iterative algorithm for sparse least-squares problems",
138
+ SIAM J. Sci. Comput., vol. 33, pp. 2950-2971, 2011.
139
+ :arxiv:`1006.0758`
140
+ .. [2] LSMR Software, https://web.stanford.edu/group/SOL/software/lsmr/
141
+
142
+ Examples
143
+ --------
144
+ >>> import numpy as np
145
+ >>> from scipy.sparse import csc_array
146
+ >>> from scipy.sparse.linalg import lsmr
147
+ >>> A = csc_array([[1., 0.], [1., 1.], [0., 1.]], dtype=float)
148
+
149
+ The first example has the trivial solution ``[0, 0]``
150
+
151
+ >>> b = np.array([0., 0., 0.], dtype=float)
152
+ >>> x, istop, itn, normr = lsmr(A, b)[:4]
153
+ >>> istop
154
+ 0
155
+ >>> x
156
+ array([0., 0.])
157
+
158
+ The stopping code ``istop=0`` returned indicates that a vector of zeros was
159
+ found as a solution. The returned solution `x` indeed contains
160
+ ``[0., 0.]``. The next example has a non-trivial solution:
161
+
162
+ >>> b = np.array([1., 0., -1.], dtype=float)
163
+ >>> x, istop, itn, normr = lsmr(A, b)[:4]
164
+ >>> istop
165
+ 1
166
+ >>> x
167
+ array([ 1., -1.])
168
+ >>> itn
169
+ 1
170
+ >>> normr
171
+ 4.440892098500627e-16
172
+
173
+ As indicated by ``istop=1``, `lsmr` found a solution obeying the tolerance
174
+ limits. The given solution ``[1., -1.]`` obviously solves the equation. The
175
+ remaining return values include information about the number of iterations
176
+ (`itn=1`) and the remaining difference of left and right side of the solved
177
+ equation.
178
+ The final example demonstrates the behavior in the case where there is no
179
+ solution for the equation:
180
+
181
+ >>> b = np.array([1., 0.01, -1.], dtype=float)
182
+ >>> x, istop, itn, normr = lsmr(A, b)[:4]
183
+ >>> istop
184
+ 2
185
+ >>> x
186
+ array([ 1.00333333, -0.99666667])
187
+ >>> A.dot(x)-b
188
+ array([ 0.00333333, -0.00333333, 0.00333333])
189
+ >>> normr
190
+ 0.005773502691896255
191
+
192
+ `istop` indicates that the system is inconsistent and thus `x` is rather an
193
+ approximate solution to the corresponding least-squares problem. `normr`
194
+ contains the minimal distance that was found.
195
+ """
196
+
197
+ A = aslinearoperator(A)
198
+ b = atleast_1d(b)
199
+ if b.ndim > 1:
200
+ b = b.squeeze()
201
+
202
+ msg = ('The exact solution is x = 0, or x = x0, if x0 was given ',
203
+ 'Ax - b is small enough, given atol, btol ',
204
+ 'The least-squares solution is good enough, given atol ',
205
+ 'The estimate of cond(Abar) has exceeded conlim ',
206
+ 'Ax - b is small enough for this machine ',
207
+ 'The least-squares solution is good enough for this machine',
208
+ 'Cond(Abar) seems to be too large for this machine ',
209
+ 'The iteration limit has been reached ')
210
+
211
+ hdg1 = ' itn x(1) norm r norm Ar'
212
+ hdg2 = ' compatible LS norm A cond A'
213
+ pfreq = 20 # print frequency (for repeating the heading)
214
+ pcount = 0 # print counter
215
+
216
+ m, n = A.shape
217
+
218
+ # stores the num of singular values
219
+ minDim = min([m, n])
220
+
221
+ if maxiter is None:
222
+ maxiter = minDim
223
+
224
+ if x0 is None:
225
+ dtype = result_type(A, b, float)
226
+ else:
227
+ dtype = result_type(A, b, x0, float)
228
+
229
+ if show:
230
+ print(' ')
231
+ print('LSMR Least-squares solution of Ax = b\n')
232
+ print(f'The matrix A has {m} rows and {n} columns')
233
+ print(f'damp = {damp:20.14e}\n')
234
+ print(f'atol = {atol:8.2e} conlim = {conlim:8.2e}\n')
235
+ print(f'btol = {btol:8.2e} maxiter = {maxiter:8g}\n')
236
+
237
+ u = b
238
+ normb = norm(b)
239
+ if x0 is None:
240
+ x = zeros(n, dtype)
241
+ beta = normb.copy()
242
+ else:
243
+ x = atleast_1d(x0.copy())
244
+ u = u - A.matvec(x)
245
+ beta = norm(u)
246
+
247
+ if beta > 0:
248
+ u = (1 / beta) * u
249
+ v = A.rmatvec(u)
250
+ alpha = norm(v)
251
+ else:
252
+ v = zeros(n, dtype)
253
+ alpha = 0
254
+
255
+ if alpha > 0:
256
+ v = (1 / alpha) * v
257
+
258
+ # Initialize variables for 1st iteration.
259
+
260
+ itn = 0
261
+ zetabar = alpha * beta
262
+ alphabar = alpha
263
+ rho = 1
264
+ rhobar = 1
265
+ cbar = 1
266
+ sbar = 0
267
+
268
+ h = v.copy()
269
+ hbar = zeros(n, dtype)
270
+
271
+ # Initialize variables for estimation of ||r||.
272
+
273
+ betadd = beta
274
+ betad = 0
275
+ rhodold = 1
276
+ tautildeold = 0
277
+ thetatilde = 0
278
+ zeta = 0
279
+ d = 0
280
+
281
+ # Initialize variables for estimation of ||A|| and cond(A)
282
+
283
+ normA2 = alpha * alpha
284
+ maxrbar = 0
285
+ minrbar = 1e+100
286
+ normA = sqrt(normA2)
287
+ condA = 1
288
+ normx = 0
289
+
290
+ # Items for use in stopping rules, normb set earlier
291
+ istop = 0
292
+ ctol = 0
293
+ if conlim > 0:
294
+ ctol = 1 / conlim
295
+ normr = beta
296
+
297
+ # Reverse the order here from the original matlab code because
298
+ # there was an error on return when arnorm==0
299
+ normar = alpha * beta
300
+ if normar == 0:
301
+ if show:
302
+ print(msg[0])
303
+ return x, istop, itn, normr, normar, normA, condA, normx
304
+
305
+ if normb == 0:
306
+ x[()] = 0
307
+ return x, istop, itn, normr, normar, normA, condA, normx
308
+
309
+ if show:
310
+ print(' ')
311
+ print(hdg1, hdg2)
312
+ test1 = 1
313
+ test2 = alpha / beta
314
+ str1 = f'{itn:6g} {x[0]:12.5e}'
315
+ str2 = f' {normr:10.3e} {normar:10.3e}'
316
+ str3 = f' {test1:8.1e} {test2:8.1e}'
317
+ print(''.join([str1, str2, str3]))
318
+
319
+ # Main iteration loop.
320
+ while itn < maxiter:
321
+ itn = itn + 1
322
+
323
+ # Perform the next step of the bidiagonalization to obtain the
324
+ # next beta, u, alpha, v. These satisfy the relations
325
+ # beta*u = A@v - alpha*u,
326
+ # alpha*v = A'@u - beta*v.
327
+
328
+ u *= -alpha
329
+ u += A.matvec(v)
330
+ beta = norm(u)
331
+
332
+ if beta > 0:
333
+ u *= (1 / beta)
334
+ v *= -beta
335
+ v += A.rmatvec(u)
336
+ alpha = norm(v)
337
+ if alpha > 0:
338
+ v *= (1 / alpha)
339
+
340
+ # At this point, beta = beta_{k+1}, alpha = alpha_{k+1}.
341
+
342
+ # Construct rotation Qhat_{k,2k+1}.
343
+
344
+ chat, shat, alphahat = _sym_ortho(alphabar, damp)
345
+
346
+ # Use a plane rotation (Q_i) to turn B_i to R_i
347
+
348
+ rhoold = rho
349
+ c, s, rho = _sym_ortho(alphahat, beta)
350
+ thetanew = s*alpha
351
+ alphabar = c*alpha
352
+
353
+ # Use a plane rotation (Qbar_i) to turn R_i^T to R_i^bar
354
+
355
+ rhobarold = rhobar
356
+ zetaold = zeta
357
+ thetabar = sbar * rho
358
+ rhotemp = cbar * rho
359
+ cbar, sbar, rhobar = _sym_ortho(cbar * rho, thetanew)
360
+ zeta = cbar * zetabar
361
+ zetabar = - sbar * zetabar
362
+
363
+ # Update h, h_hat, x.
364
+
365
+ hbar *= - (thetabar * rho / (rhoold * rhobarold))
366
+ hbar += h
367
+ x += (zeta / (rho * rhobar)) * hbar
368
+ h *= - (thetanew / rho)
369
+ h += v
370
+
371
+ # Estimate of ||r||.
372
+
373
+ # Apply rotation Qhat_{k,2k+1}.
374
+ betaacute = chat * betadd
375
+ betacheck = -shat * betadd
376
+
377
+ # Apply rotation Q_{k,k+1}.
378
+ betahat = c * betaacute
379
+ betadd = -s * betaacute
380
+
381
+ # Apply rotation Qtilde_{k-1}.
382
+ # betad = betad_{k-1} here.
383
+
384
+ thetatildeold = thetatilde
385
+ ctildeold, stildeold, rhotildeold = _sym_ortho(rhodold, thetabar)
386
+ thetatilde = stildeold * rhobar
387
+ rhodold = ctildeold * rhobar
388
+ betad = - stildeold * betad + ctildeold * betahat
389
+
390
+ # betad = betad_k here.
391
+ # rhodold = rhod_k here.
392
+
393
+ tautildeold = (zetaold - thetatildeold * tautildeold) / rhotildeold
394
+ taud = (zeta - thetatilde * tautildeold) / rhodold
395
+ d = d + betacheck * betacheck
396
+ normr = sqrt(d + (betad - taud)**2 + betadd * betadd)
397
+
398
+ # Estimate ||A||.
399
+ normA2 = normA2 + beta * beta
400
+ normA = sqrt(normA2)
401
+ normA2 = normA2 + alpha * alpha
402
+
403
+ # Estimate cond(A).
404
+ maxrbar = max(maxrbar, rhobarold)
405
+ if itn > 1:
406
+ minrbar = min(minrbar, rhobarold)
407
+ condA = max(maxrbar, rhotemp) / min(minrbar, rhotemp)
408
+
409
+ # Test for convergence.
410
+
411
+ # Compute norms for convergence testing.
412
+ normar = abs(zetabar)
413
+ normx = norm(x)
414
+
415
+ # Now use these norms to estimate certain other quantities,
416
+ # some of which will be small near a solution.
417
+
418
+ test1 = normr / normb
419
+ if (normA * normr) != 0:
420
+ test2 = normar / (normA * normr)
421
+ else:
422
+ test2 = inf
423
+ test3 = 1 / condA
424
+ t1 = test1 / (1 + normA * normx / normb)
425
+ rtol = btol + atol * normA * normx / normb
426
+
427
+ # The following tests guard against extremely small values of
428
+ # atol, btol or ctol. (The user may have set any or all of
429
+ # the parameters atol, btol, conlim to 0.)
430
+ # The effect is equivalent to the normAl tests using
431
+ # atol = eps, btol = eps, conlim = 1/eps.
432
+
433
+ if itn >= maxiter:
434
+ istop = 7
435
+ if 1 + test3 <= 1:
436
+ istop = 6
437
+ if 1 + test2 <= 1:
438
+ istop = 5
439
+ if 1 + t1 <= 1:
440
+ istop = 4
441
+
442
+ # Allow for tolerances set by the user.
443
+
444
+ if test3 <= ctol:
445
+ istop = 3
446
+ if test2 <= atol:
447
+ istop = 2
448
+ if test1 <= rtol:
449
+ istop = 1
450
+
451
+ # See if it is time to print something.
452
+
453
+ if show:
454
+ if (n <= 40) or (itn <= 10) or (itn >= maxiter - 10) or \
455
+ (itn % 10 == 0) or (test3 <= 1.1 * ctol) or \
456
+ (test2 <= 1.1 * atol) or (test1 <= 1.1 * rtol) or \
457
+ (istop != 0):
458
+
459
+ if pcount >= pfreq:
460
+ pcount = 0
461
+ print(' ')
462
+ print(hdg1, hdg2)
463
+ pcount = pcount + 1
464
+ str1 = f'{itn:6g} {x[0]:12.5e}'
465
+ str2 = f' {normr:10.3e} {normar:10.3e}'
466
+ str3 = f' {test1:8.1e} {test2:8.1e}'
467
+ str4 = f' {normA:8.1e} {condA:8.1e}'
468
+ print(''.join([str1, str2, str3, str4]))
469
+
470
+ if istop > 0:
471
+ break
472
+
473
+ # Print the stopping condition.
474
+
475
+ if show:
476
+ print(' ')
477
+ print('LSMR finished')
478
+ print(msg[istop])
479
+ print(f'istop ={istop:8g} normr ={normr:8.1e}')
480
+ print(f' normA ={normA:8.1e} normAr ={normar:8.1e}')
481
+ print(f'itn ={itn:8g} condA ={condA:8.1e}')
482
+ print(f' normx ={normx:8.1e}')
483
+ print(str1, str2)
484
+ print(str3, str4)
485
+
486
+ return x, istop, itn, normr, normar, normA, condA, normx