scirs 0.1.3__tar.gz

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 (713) hide show
  1. scirs-0.1.3/LICENSE.txt +30 -0
  2. scirs-0.1.3/PKG-INFO +164 -0
  3. scirs-0.1.3/README.rst +120 -0
  4. scirs-0.1.3/pyproject.toml +142 -0
  5. scirs-0.1.3/python/scicore/__config__.py +129 -0
  6. scirs-0.1.3/python/scicore/__config__.py.in +173 -0
  7. scirs-0.1.3/python/scicore/__init__.py +127 -0
  8. scirs-0.1.3/python/scicore/_build_utils/_generate_blas_wrapper.py +122 -0
  9. scirs-0.1.3/python/scicore/_build_utils/_wrappers_common.py +125 -0
  10. scirs-0.1.3/python/scicore/_distributor_init.py +18 -0
  11. scirs-0.1.3/python/scicore/_external/__init__.py +8 -0
  12. scirs-0.1.3/python/scicore/_external/_array_api_compat_vendor.py +9 -0
  13. scirs-0.1.3/python/scicore/_external/array_api_compat/__init__.py +22 -0
  14. scirs-0.1.3/python/scicore/_external/array_api_compat/_internal.py +77 -0
  15. scirs-0.1.3/python/scicore/_external/array_api_compat/common/__init__.py +1 -0
  16. scirs-0.1.3/python/scicore/_external/array_api_compat/common/_aliases.py +702 -0
  17. scirs-0.1.3/python/scicore/_external/array_api_compat/common/_fft.py +213 -0
  18. scirs-0.1.3/python/scicore/_external/array_api_compat/common/_helpers.py +1111 -0
  19. scirs-0.1.3/python/scicore/_external/array_api_compat/common/_linalg.py +234 -0
  20. scirs-0.1.3/python/scicore/_external/array_api_compat/common/_typing.py +189 -0
  21. scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/__init__.py +24 -0
  22. scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/_aliases.py +208 -0
  23. scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/_info.py +336 -0
  24. scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/_typing.py +30 -0
  25. scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/fft.py +36 -0
  26. scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/linalg.py +62 -0
  27. scirs-0.1.3/python/scicore/_external/array_api_compat/dask/__init__.py +0 -0
  28. scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/__init__.py +26 -0
  29. scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/_aliases.py +369 -0
  30. scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/_info.py +407 -0
  31. scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/fft.py +16 -0
  32. scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/linalg.py +64 -0
  33. scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/__init__.py +37 -0
  34. scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/_aliases.py +185 -0
  35. scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/_info.py +367 -0
  36. scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/_typing.py +29 -0
  37. scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/fft.py +30 -0
  38. scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/linalg.py +208 -0
  39. scirs-0.1.3/python/scicore/_external/array_api_compat/torch/__init__.py +25 -0
  40. scirs-0.1.3/python/scicore/_external/array_api_compat/torch/_aliases.py +960 -0
  41. scirs-0.1.3/python/scicore/_external/array_api_compat/torch/_info.py +369 -0
  42. scirs-0.1.3/python/scicore/_external/array_api_compat/torch/_typing.py +3 -0
  43. scirs-0.1.3/python/scicore/_external/array_api_compat/torch/fft.py +82 -0
  44. scirs-0.1.3/python/scicore/_external/array_api_compat/torch/linalg.py +114 -0
  45. scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/__init__.py +0 -0
  46. scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/test_vendoring.py +29 -0
  47. scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_cupy.py +25 -0
  48. scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_dask.py +23 -0
  49. scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_numpy.py +26 -0
  50. scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_torch.py +30 -0
  51. scirs-0.1.3/python/scicore/_external/array_api_extra/__init__.py +56 -0
  52. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/__init__.py +27 -0
  53. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_creation.py +43 -0
  54. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_elementwise.py +351 -0
  55. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_indexing.py +68 -0
  56. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_inspection.py +45 -0
  57. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_linalg.py +47 -0
  58. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_manipulation.py +99 -0
  59. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_searching.py +44 -0
  60. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_set.py +87 -0
  61. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_sorting.py +29 -0
  62. scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_statistical.py +180 -0
  63. scirs-0.1.3/python/scicore/_external/array_api_extra/_at.py +468 -0
  64. scirs-0.1.3/python/scicore/_external/array_api_extra/_creation.py +146 -0
  65. scirs-0.1.3/python/scicore/_external/array_api_extra/_elementwise.py +368 -0
  66. scirs-0.1.3/python/scicore/_external/array_api_extra/_indexing.py +258 -0
  67. scirs-0.1.3/python/scicore/_external/array_api_extra/_lazy.py +339 -0
  68. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/__init__.py +1 -0
  69. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_backends.py +74 -0
  70. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_compat.py +74 -0
  71. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_compat.pyi +41 -0
  72. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_helpers.py +624 -0
  73. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_testing.py +33 -0
  74. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_typing.py +39 -0
  75. scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_typing.pyi +123 -0
  76. scirs-0.1.3/python/scicore/_external/array_api_extra/_linalg.py +102 -0
  77. scirs-0.1.3/python/scicore/_external/array_api_extra/_manipulation.py +284 -0
  78. scirs-0.1.3/python/scicore/_external/array_api_extra/_searching.py +88 -0
  79. scirs-0.1.3/python/scicore/_external/array_api_extra/_set.py +213 -0
  80. scirs-0.1.3/python/scicore/_external/array_api_extra/_sorting.py +206 -0
  81. scirs-0.1.3/python/scicore/_external/array_api_extra/_statistical.py +425 -0
  82. scirs-0.1.3/python/scicore/_external/array_api_extra/py.typed +0 -0
  83. scirs-0.1.3/python/scicore/_external/array_api_extra/testing/__init__.py +19 -0
  84. scirs-0.1.3/python/scicore/_external/array_api_extra/testing/_testing.py +1013 -0
  85. scirs-0.1.3/python/scicore/_external/cobyqa/__init__.py +20 -0
  86. scirs-0.1.3/python/scicore/_external/cobyqa/framework.py +1240 -0
  87. scirs-0.1.3/python/scicore/_external/cobyqa/main.py +1503 -0
  88. scirs-0.1.3/python/scicore/_external/cobyqa/models.py +1531 -0
  89. scirs-0.1.3/python/scicore/_external/cobyqa/problem.py +1316 -0
  90. scirs-0.1.3/python/scicore/_external/cobyqa/settings.py +132 -0
  91. scirs-0.1.3/python/scicore/_external/cobyqa/subsolvers/__init__.py +14 -0
  92. scirs-0.1.3/python/scicore/_external/cobyqa/subsolvers/geometry.py +387 -0
  93. scirs-0.1.3/python/scicore/_external/cobyqa/subsolvers/optim.py +1203 -0
  94. scirs-0.1.3/python/scicore/_external/cobyqa/utils/__init__.py +18 -0
  95. scirs-0.1.3/python/scicore/_external/cobyqa/utils/exceptions.py +22 -0
  96. scirs-0.1.3/python/scicore/_external/cobyqa/utils/math.py +77 -0
  97. scirs-0.1.3/python/scicore/_external/cobyqa/utils/versions.py +67 -0
  98. scirs-0.1.3/python/scicore/_external/packaging_version/README.md +1 -0
  99. scirs-0.1.3/python/scicore/_external/packaging_version/__init__.py +12 -0
  100. scirs-0.1.3/python/scicore/_external/packaging_version/src/LICENSE.BSD +23 -0
  101. scirs-0.1.3/python/scicore/_external/packaging_version/src/_structures.py +61 -0
  102. scirs-0.1.3/python/scicore/_external/packaging_version/src/version.py +582 -0
  103. scirs-0.1.3/python/scicore/_lib/__init__.py +14 -0
  104. scirs-0.1.3/python/scicore/_lib/_array_api.py +1320 -0
  105. scirs-0.1.3/python/scicore/_lib/_array_api_docs_tables.py +297 -0
  106. scirs-0.1.3/python/scicore/_lib/_array_api_no_0d.py +103 -0
  107. scirs-0.1.3/python/scicore/_lib/_array_api_override.py +233 -0
  108. scirs-0.1.3/python/scicore/_lib/_bunch.py +229 -0
  109. scirs-0.1.3/python/scicore/_lib/_ccallback.py +251 -0
  110. scirs-0.1.3/python/scicore/_lib/_ccallback_c.py +62 -0
  111. scirs-0.1.3/python/scicore/_lib/_disjoint_set.py +266 -0
  112. scirs-0.1.3/python/scicore/_lib/_docscrape.py +761 -0
  113. scirs-0.1.3/python/scicore/_lib/_elementwise_iterative_method.py +399 -0
  114. scirs-0.1.3/python/scicore/_lib/_gcutils.py +96 -0
  115. scirs-0.1.3/python/scicore/_lib/_public_api.py +56 -0
  116. scirs-0.1.3/python/scicore/_lib/_pytest_header.py +31 -0
  117. scirs-0.1.3/python/scicore/_lib/_sparse.py +42 -0
  118. scirs-0.1.3/python/scicore/_lib/_testutils.py +430 -0
  119. scirs-0.1.3/python/scicore/_lib/_uarray/LICENSE +29 -0
  120. scirs-0.1.3/python/scicore/_lib/_uarray/__init__.py +116 -0
  121. scirs-0.1.3/python/scicore/_lib/_uarray/_backend.py +357 -0
  122. scirs-0.1.3/python/scicore/_lib/_uarray/_uarray.py +132 -0
  123. scirs-0.1.3/python/scicore/_lib/_uarray/_uarray_dispatch.cxx +1852 -0
  124. scirs-0.1.3/python/scicore/_lib/_uarray/scipychanges.patch +13 -0
  125. scirs-0.1.3/python/scicore/_lib/_uarray/vectorcall.cxx +99 -0
  126. scirs-0.1.3/python/scicore/_lib/_util.py +1341 -0
  127. scirs-0.1.3/python/scicore/_lib/deprecation.py +207 -0
  128. scirs-0.1.3/python/scicore/_lib/doccer.py +366 -0
  129. scirs-0.1.3/python/scicore/_lib/src/messagestream_config.h.in +1 -0
  130. scirs-0.1.3/python/scicore/_lib/uarray.py +31 -0
  131. scirs-0.1.3/python/scicore/_rsnumpy_compat.py +711 -0
  132. scirs-0.1.3/python/scicore/cluster/__init__.py +31 -0
  133. scirs-0.1.3/python/scicore/cluster/hierarchy/__init__.py +116 -0
  134. scirs-0.1.3/python/scicore/cluster/hierarchy/_hierarchy.py +23 -0
  135. scirs-0.1.3/python/scicore/cluster/hierarchy/_hierarchy_distance_update.pxi +67 -0
  136. scirs-0.1.3/python/scicore/cluster/hierarchy/_hierarchy_impl.py +4245 -0
  137. scirs-0.1.3/python/scicore/cluster/hierarchy/_optimal_leaf_ordering.py +11 -0
  138. scirs-0.1.3/python/scicore/cluster/hierarchy/_structures.pxi +98 -0
  139. scirs-0.1.3/python/scicore/cluster/vq/__init__.py +84 -0
  140. scirs-0.1.3/python/scicore/cluster/vq/_vq.py +75 -0
  141. scirs-0.1.3/python/scicore/cluster/vq/_vq_impl.py +787 -0
  142. scirs-0.1.3/python/scicore/constants/__init__.py +354 -0
  143. scirs-0.1.3/python/scicore/constants/_codata.py +2272 -0
  144. scirs-0.1.3/python/scicore/constants/_constants.py +369 -0
  145. scirs-0.1.3/python/scicore/datasets/__init__.py +90 -0
  146. scirs-0.1.3/python/scicore/datasets/_download_all.py +74 -0
  147. scirs-0.1.3/python/scicore/datasets/_fetchers.py +225 -0
  148. scirs-0.1.3/python/scicore/datasets/_registry.py +26 -0
  149. scirs-0.1.3/python/scicore/datasets/_utils.py +80 -0
  150. scirs-0.1.3/python/scicore/differentiate/__init__.py +27 -0
  151. scirs-0.1.3/python/scicore/differentiate/_differentiate.py +1151 -0
  152. scirs-0.1.3/python/scicore/fft/__init__.py +114 -0
  153. scirs-0.1.3/python/scicore/fft/_backend.py +211 -0
  154. scirs-0.1.3/python/scicore/fft/_basic.py +1724 -0
  155. scirs-0.1.3/python/scicore/fft/_basic_backend.py +197 -0
  156. scirs-0.1.3/python/scicore/fft/_debug_backends.py +22 -0
  157. scirs-0.1.3/python/scicore/fft/_duccfft/LICENSE.md +25 -0
  158. scirs-0.1.3/python/scicore/fft/_duccfft/README.md +20 -0
  159. scirs-0.1.3/python/scicore/fft/_duccfft/__init__.py +9 -0
  160. scirs-0.1.3/python/scicore/fft/_duccfft/basic.py +251 -0
  161. scirs-0.1.3/python/scicore/fft/_duccfft/helper.py +256 -0
  162. scirs-0.1.3/python/scicore/fft/_duccfft/pyduccfft.cxx +668 -0
  163. scirs-0.1.3/python/scicore/fft/_duccfft/pyduccfft.py +40 -0
  164. scirs-0.1.3/python/scicore/fft/_duccfft/realtransforms.py +109 -0
  165. scirs-0.1.3/python/scicore/fft/_fftlog.py +309 -0
  166. scirs-0.1.3/python/scicore/fft/_fftlog_backend.py +203 -0
  167. scirs-0.1.3/python/scicore/fft/_helper.py +347 -0
  168. scirs-0.1.3/python/scicore/fft/_realtransforms.py +759 -0
  169. scirs-0.1.3/python/scicore/fft/_realtransforms_backend.py +64 -0
  170. scirs-0.1.3/python/scicore/fftpack/MANIFEST.in +6 -0
  171. scirs-0.1.3/python/scicore/fftpack/__init__.py +100 -0
  172. scirs-0.1.3/python/scicore/fftpack/_basic.py +428 -0
  173. scirs-0.1.3/python/scicore/fftpack/_helper.py +115 -0
  174. scirs-0.1.3/python/scicore/fftpack/_pseudo_diffs.py +554 -0
  175. scirs-0.1.3/python/scicore/fftpack/_realtransforms.py +598 -0
  176. scirs-0.1.3/python/scicore/fftpack/convolve.py +84 -0
  177. scirs-0.1.3/python/scicore/integrate/__init__.py +120 -0
  178. scirs-0.1.3/python/scicore/integrate/_bvp.py +1164 -0
  179. scirs-0.1.3/python/scicore/integrate/_cubature.py +738 -0
  180. scirs-0.1.3/python/scicore/integrate/_dop.py +20 -0
  181. scirs-0.1.3/python/scicore/integrate/_ivp/__init__.py +8 -0
  182. scirs-0.1.3/python/scicore/integrate/_ivp/base.py +308 -0
  183. scirs-0.1.3/python/scicore/integrate/_ivp/bdf.py +486 -0
  184. scirs-0.1.3/python/scicore/integrate/_ivp/common.py +456 -0
  185. scirs-0.1.3/python/scicore/integrate/_ivp/dop853_coefficients.py +193 -0
  186. scirs-0.1.3/python/scicore/integrate/_ivp/ivp.py +760 -0
  187. scirs-0.1.3/python/scicore/integrate/_ivp/lsoda.py +231 -0
  188. scirs-0.1.3/python/scicore/integrate/_ivp/radau.py +580 -0
  189. scirs-0.1.3/python/scicore/integrate/_ivp/rk.py +896 -0
  190. scirs-0.1.3/python/scicore/integrate/_lebedev.py +5453 -0
  191. scirs-0.1.3/python/scicore/integrate/_ode.py +1422 -0
  192. scirs-0.1.3/python/scicore/integrate/_odepack.py +43 -0
  193. scirs-0.1.3/python/scicore/integrate/_odepack_py.py +275 -0
  194. scirs-0.1.3/python/scicore/integrate/_quad_vec.py +666 -0
  195. scirs-0.1.3/python/scicore/integrate/_quadpack.py +20 -0
  196. scirs-0.1.3/python/scicore/integrate/_quadpack_py.py +1305 -0
  197. scirs-0.1.3/python/scicore/integrate/_quadrature.py +1350 -0
  198. scirs-0.1.3/python/scicore/integrate/_rules/__init__.py +12 -0
  199. scirs-0.1.3/python/scicore/integrate/_rules/_base.py +546 -0
  200. scirs-0.1.3/python/scicore/integrate/_rules/_gauss_kronrod.py +195 -0
  201. scirs-0.1.3/python/scicore/integrate/_rules/_gauss_legendre.py +54 -0
  202. scirs-0.1.3/python/scicore/integrate/_rules/_genz_malik.py +202 -0
  203. scirs-0.1.3/python/scicore/integrate/_tanhsinh.py +1401 -0
  204. scirs-0.1.3/python/scicore/integrate/_vode.py +20 -0
  205. scirs-0.1.3/python/scicore/integrate/src/LICENSE_DOP +76 -0
  206. scirs-0.1.3/python/scicore/interpolate/__init__.py +225 -0
  207. scirs-0.1.3/python/scicore/interpolate/_bary_rational.py +757 -0
  208. scirs-0.1.3/python/scicore/interpolate/_bsplines.py +3670 -0
  209. scirs-0.1.3/python/scicore/interpolate/_cubic.py +1069 -0
  210. scirs-0.1.3/python/scicore/interpolate/_dierckx.py +27 -0
  211. scirs-0.1.3/python/scicore/interpolate/_fitpack.py +12 -0
  212. scirs-0.1.3/python/scicore/interpolate/_fitpack2.py +2798 -0
  213. scirs-0.1.3/python/scicore/interpolate/_fitpack_impl.py +830 -0
  214. scirs-0.1.3/python/scicore/interpolate/_fitpack_py.py +909 -0
  215. scirs-0.1.3/python/scicore/interpolate/_fitpack_repro.py +1361 -0
  216. scirs-0.1.3/python/scicore/interpolate/_interpnd.py +44 -0
  217. scirs-0.1.3/python/scicore/interpolate/_interpnd_info.py +37 -0
  218. scirs-0.1.3/python/scicore/interpolate/_interpolate.py +2778 -0
  219. scirs-0.1.3/python/scicore/interpolate/_ndbspline.py +727 -0
  220. scirs-0.1.3/python/scicore/interpolate/_ndgriddata.py +345 -0
  221. scirs-0.1.3/python/scicore/interpolate/_pade.py +80 -0
  222. scirs-0.1.3/python/scicore/interpolate/_poly_common.pxi +92 -0
  223. scirs-0.1.3/python/scicore/interpolate/_polyint.py +1051 -0
  224. scirs-0.1.3/python/scicore/interpolate/_ppoly.py +38 -0
  225. scirs-0.1.3/python/scicore/interpolate/_rbf.py +292 -0
  226. scirs-0.1.3/python/scicore/interpolate/_rbfinterp.py +576 -0
  227. scirs-0.1.3/python/scicore/interpolate/_rbfinterp_common.py +32 -0
  228. scirs-0.1.3/python/scicore/interpolate/_rbfinterp_np.py +147 -0
  229. scirs-0.1.3/python/scicore/interpolate/_rbfinterp_pythran.py +213 -0
  230. scirs-0.1.3/python/scicore/interpolate/_rbfinterp_xp.py +289 -0
  231. scirs-0.1.3/python/scicore/interpolate/_regrid.py +1109 -0
  232. scirs-0.1.3/python/scicore/interpolate/_rgi.py +858 -0
  233. scirs-0.1.3/python/scicore/interpolate/_rgi_cython.py +38 -0
  234. scirs-0.1.3/python/scicore/io/__init__.py +118 -0
  235. scirs-0.1.3/python/scicore/io/_fast_matrix_market/LICENSE.txt +9 -0
  236. scirs-0.1.3/python/scicore/io/_fast_matrix_market/README.md +71 -0
  237. scirs-0.1.3/python/scicore/io/_fast_matrix_market/__init__.py +660 -0
  238. scirs-0.1.3/python/scicore/io/_fortran.py +355 -0
  239. scirs-0.1.3/python/scicore/io/_harwell_boeing/__init__.py +7 -0
  240. scirs-0.1.3/python/scicore/io/_harwell_boeing/_fortran_format_parser.py +316 -0
  241. scirs-0.1.3/python/scicore/io/_harwell_boeing/hb.py +606 -0
  242. scirs-0.1.3/python/scicore/io/_idl.py +917 -0
  243. scirs-0.1.3/python/scicore/io/_mmio.py +1011 -0
  244. scirs-0.1.3/python/scicore/io/_netcdf.py +1103 -0
  245. scirs-0.1.3/python/scicore/io/arff/__init__.py +25 -0
  246. scirs-0.1.3/python/scicore/io/arff/_arffread.py +893 -0
  247. scirs-0.1.3/python/scicore/io/matlab/__init__.py +62 -0
  248. scirs-0.1.3/python/scicore/io/matlab/_byteordercodes.py +75 -0
  249. scirs-0.1.3/python/scicore/io/matlab/_mio.py +419 -0
  250. scirs-0.1.3/python/scicore/io/matlab/_mio4.py +632 -0
  251. scirs-0.1.3/python/scicore/io/matlab/_mio5.py +918 -0
  252. scirs-0.1.3/python/scicore/io/matlab/_mio5_params.py +298 -0
  253. scirs-0.1.3/python/scicore/io/matlab/_mio5_utils.py +24 -0
  254. scirs-0.1.3/python/scicore/io/matlab/_mio_utils.py +34 -0
  255. scirs-0.1.3/python/scicore/io/matlab/_miobase.py +435 -0
  256. scirs-0.1.3/python/scicore/io/matlab/_streams.py +35 -0
  257. scirs-0.1.3/python/scicore/io/wavfile.py +944 -0
  258. scirs-0.1.3/python/scicore/linalg/__init__.py +228 -0
  259. scirs-0.1.3/python/scicore/linalg/_basic.py +2133 -0
  260. scirs-0.1.3/python/scicore/linalg/_batched_linalg.py +154 -0
  261. scirs-0.1.3/python/scicore/linalg/_cython_signature_generator.py +211 -0
  262. scirs-0.1.3/python/scicore/linalg/_cythonized_array_utils.py +197 -0
  263. scirs-0.1.3/python/scicore/linalg/_cythonized_array_utils.pyi +14 -0
  264. scirs-0.1.3/python/scicore/linalg/_decomp.py +1674 -0
  265. scirs-0.1.3/python/scicore/linalg/_decomp_cholesky.py +473 -0
  266. scirs-0.1.3/python/scicore/linalg/_decomp_cossin.py +235 -0
  267. scirs-0.1.3/python/scicore/linalg/_decomp_interpolative.py +17 -0
  268. scirs-0.1.3/python/scicore/linalg/_decomp_ldl.py +354 -0
  269. scirs-0.1.3/python/scicore/linalg/_decomp_lu.py +377 -0
  270. scirs-0.1.3/python/scicore/linalg/_decomp_polar.py +118 -0
  271. scirs-0.1.3/python/scicore/linalg/_decomp_qr.py +559 -0
  272. scirs-0.1.3/python/scicore/linalg/_decomp_qz.py +476 -0
  273. scirs-0.1.3/python/scicore/linalg/_decomp_schur.py +363 -0
  274. scirs-0.1.3/python/scicore/linalg/_decomp_svd.py +607 -0
  275. scirs-0.1.3/python/scicore/linalg/_decomp_update.py +350 -0
  276. scirs-0.1.3/python/scicore/linalg/_decomp_update.pyx.in +2350 -0
  277. scirs-0.1.3/python/scicore/linalg/_expm_frechet.py +420 -0
  278. scirs-0.1.3/python/scicore/linalg/_fblas.py +89 -0
  279. scirs-0.1.3/python/scicore/linalg/_flapack.py +113 -0
  280. scirs-0.1.3/python/scicore/linalg/_generate_pyx.py +788 -0
  281. scirs-0.1.3/python/scicore/linalg/_internal_matfuncs.py +230 -0
  282. scirs-0.1.3/python/scicore/linalg/_linalg_pythran.py +20 -0
  283. scirs-0.1.3/python/scicore/linalg/_matfuncs.py +915 -0
  284. scirs-0.1.3/python/scicore/linalg/_matfuncs_inv_ssq.py +885 -0
  285. scirs-0.1.3/python/scicore/linalg/_matfuncs_sqrtm.py +108 -0
  286. scirs-0.1.3/python/scicore/linalg/_matfuncs_sqrtm_triu.py +23 -0
  287. scirs-0.1.3/python/scicore/linalg/_misc.py +275 -0
  288. scirs-0.1.3/python/scicore/linalg/_procrustes.py +120 -0
  289. scirs-0.1.3/python/scicore/linalg/_sketches.py +210 -0
  290. scirs-0.1.3/python/scicore/linalg/_solve_toeplitz.py +153 -0
  291. scirs-0.1.3/python/scicore/linalg/_solvers.py +884 -0
  292. scirs-0.1.3/python/scicore/linalg/_special_matrices.py +1307 -0
  293. scirs-0.1.3/python/scicore/linalg/_testutils.py +73 -0
  294. scirs-0.1.3/python/scicore/linalg/blas.py +571 -0
  295. scirs-0.1.3/python/scicore/linalg/cython_blas_signatures.txt +151 -0
  296. scirs-0.1.3/python/scicore/linalg/cython_lapack_signatures.txt +1859 -0
  297. scirs-0.1.3/python/scicore/linalg/interpolative.py +959 -0
  298. scirs-0.1.3/python/scicore/linalg/lapack.py +1174 -0
  299. scirs-0.1.3/python/scicore/ndimage/LICENSE.txt +28 -0
  300. scirs-0.1.3/python/scicore/ndimage/__init__.py +165 -0
  301. scirs-0.1.3/python/scicore/ndimage/_delegators.py +303 -0
  302. scirs-0.1.3/python/scicore/ndimage/_filters.py +2460 -0
  303. scirs-0.1.3/python/scicore/ndimage/_fourier.py +306 -0
  304. scirs-0.1.3/python/scicore/ndimage/_interpolation.py +1033 -0
  305. scirs-0.1.3/python/scicore/ndimage/_measurements.py +1689 -0
  306. scirs-0.1.3/python/scicore/ndimage/_morphology.py +2633 -0
  307. scirs-0.1.3/python/scicore/ndimage/_nd_image.py +68 -0
  308. scirs-0.1.3/python/scicore/ndimage/_ndimage_api.py +16 -0
  309. scirs-0.1.3/python/scicore/ndimage/_ni_docstrings.py +220 -0
  310. scirs-0.1.3/python/scicore/ndimage/_ni_label.py +48 -0
  311. scirs-0.1.3/python/scicore/ndimage/_ni_support.py +139 -0
  312. scirs-0.1.3/python/scicore/ndimage/_rank_filter_1d.py +35 -0
  313. scirs-0.1.3/python/scicore/ndimage/_support_alternative_backends.py +127 -0
  314. scirs-0.1.3/python/scicore/ndimage/utils/generate_label_testvectors.py +44 -0
  315. scirs-0.1.3/python/scicore/optimize/__init__.py +456 -0
  316. scirs-0.1.3/python/scicore/optimize/_basinhopping.py +742 -0
  317. scirs-0.1.3/python/scicore/optimize/_bglu_dense.py +32 -0
  318. scirs-0.1.3/python/scicore/optimize/_biteopt.py +17 -0
  319. scirs-0.1.3/python/scicore/optimize/_biteopt_py.py +267 -0
  320. scirs-0.1.3/python/scicore/optimize/_bracket.py +742 -0
  321. scirs-0.1.3/python/scicore/optimize/_chandrupatla.py +571 -0
  322. scirs-0.1.3/python/scicore/optimize/_cobyla_py.py +296 -0
  323. scirs-0.1.3/python/scicore/optimize/_cobyqa_py.py +68 -0
  324. scirs-0.1.3/python/scicore/optimize/_constraints.py +649 -0
  325. scirs-0.1.3/python/scicore/optimize/_dcsrch.py +728 -0
  326. scirs-0.1.3/python/scicore/optimize/_differentiable_functions.py +844 -0
  327. scirs-0.1.3/python/scicore/optimize/_differentialevolution.py +2038 -0
  328. scirs-0.1.3/python/scicore/optimize/_direct/AUTHORS +2 -0
  329. scirs-0.1.3/python/scicore/optimize/_direct/COPYING +28 -0
  330. scirs-0.1.3/python/scicore/optimize/_direct/README +37 -0
  331. scirs-0.1.3/python/scicore/optimize/_direct.py +18 -0
  332. scirs-0.1.3/python/scicore/optimize/_direct_py.py +282 -0
  333. scirs-0.1.3/python/scicore/optimize/_dual_annealing.py +743 -0
  334. scirs-0.1.3/python/scicore/optimize/_elementwise.py +899 -0
  335. scirs-0.1.3/python/scicore/optimize/_group_columns.py +18 -0
  336. scirs-0.1.3/python/scicore/optimize/_hessian_update_strategy.py +479 -0
  337. scirs-0.1.3/python/scicore/optimize/_highspy/__init__.py +0 -0
  338. scirs-0.1.3/python/scicore/optimize/_highspy/_core.py +33 -0
  339. scirs-0.1.3/python/scicore/optimize/_highspy/_highs_options.py +16 -0
  340. scirs-0.1.3/python/scicore/optimize/_highspy/_highs_wrapper.py +339 -0
  341. scirs-0.1.3/python/scicore/optimize/_isotonic.py +157 -0
  342. scirs-0.1.3/python/scicore/optimize/_lbfgsb.py +19 -0
  343. scirs-0.1.3/python/scicore/optimize/_lbfgsb_py.py +585 -0
  344. scirs-0.1.3/python/scicore/optimize/_linesearch.py +917 -0
  345. scirs-0.1.3/python/scicore/optimize/_linprog.py +734 -0
  346. scirs-0.1.3/python/scicore/optimize/_linprog_doc.py +1434 -0
  347. scirs-0.1.3/python/scicore/optimize/_linprog_highs.py +422 -0
  348. scirs-0.1.3/python/scicore/optimize/_linprog_ip.py +1144 -0
  349. scirs-0.1.3/python/scicore/optimize/_linprog_rs.py +572 -0
  350. scirs-0.1.3/python/scicore/optimize/_linprog_simplex.py +663 -0
  351. scirs-0.1.3/python/scicore/optimize/_linprog_util.py +1521 -0
  352. scirs-0.1.3/python/scicore/optimize/_lsap.py +17 -0
  353. scirs-0.1.3/python/scicore/optimize/_lsq/__init__.py +5 -0
  354. scirs-0.1.3/python/scicore/optimize/_lsq/bvls.py +183 -0
  355. scirs-0.1.3/python/scicore/optimize/_lsq/common.py +731 -0
  356. scirs-0.1.3/python/scicore/optimize/_lsq/dogbox.py +345 -0
  357. scirs-0.1.3/python/scicore/optimize/_lsq/givens_elimination.py +23 -0
  358. scirs-0.1.3/python/scicore/optimize/_lsq/least_squares.py +1045 -0
  359. scirs-0.1.3/python/scicore/optimize/_lsq/lsq_linear.py +363 -0
  360. scirs-0.1.3/python/scicore/optimize/_lsq/trf.py +587 -0
  361. scirs-0.1.3/python/scicore/optimize/_lsq/trf_linear.py +249 -0
  362. scirs-0.1.3/python/scicore/optimize/_milp.py +395 -0
  363. scirs-0.1.3/python/scicore/optimize/_minimize.py +1201 -0
  364. scirs-0.1.3/python/scicore/optimize/_minpack.py +26 -0
  365. scirs-0.1.3/python/scicore/optimize/_minpack_py.py +1186 -0
  366. scirs-0.1.3/python/scicore/optimize/_moduleTNC.py +12 -0
  367. scirs-0.1.3/python/scicore/optimize/_nnls.py +92 -0
  368. scirs-0.1.3/python/scicore/optimize/_nonlin.py +1657 -0
  369. scirs-0.1.3/python/scicore/optimize/_numdiff.py +996 -0
  370. scirs-0.1.3/python/scicore/optimize/_optimize.py +4171 -0
  371. scirs-0.1.3/python/scicore/optimize/_pava_pybind.py +16 -0
  372. scirs-0.1.3/python/scicore/optimize/_qap.py +717 -0
  373. scirs-0.1.3/python/scicore/optimize/_remove_redundancy.py +522 -0
  374. scirs-0.1.3/python/scicore/optimize/_root.py +733 -0
  375. scirs-0.1.3/python/scicore/optimize/_root_scalar.py +537 -0
  376. scirs-0.1.3/python/scicore/optimize/_shgo.py +1625 -0
  377. scirs-0.1.3/python/scicore/optimize/_shgo_lib/__init__.py +0 -0
  378. scirs-0.1.3/python/scicore/optimize/_shgo_lib/_complex.py +1225 -0
  379. scirs-0.1.3/python/scicore/optimize/_shgo_lib/_vertex.py +460 -0
  380. scirs-0.1.3/python/scicore/optimize/_slsqp_py.py +616 -0
  381. scirs-0.1.3/python/scicore/optimize/_slsqplib.py +22 -0
  382. scirs-0.1.3/python/scicore/optimize/_spectral.py +259 -0
  383. scirs-0.1.3/python/scicore/optimize/_tnc.py +437 -0
  384. scirs-0.1.3/python/scicore/optimize/_trlib/__init__.py +12 -0
  385. scirs-0.1.3/python/scicore/optimize/_trlib/_trlib.py +31 -0
  386. scirs-0.1.3/python/scicore/optimize/_trustregion.py +331 -0
  387. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/__init__.py +6 -0
  388. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/canonical_constraint.py +390 -0
  389. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/equality_constrained_sqp.py +231 -0
  390. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/minimize_trustregion_constr.py +586 -0
  391. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/projections.py +411 -0
  392. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/qp_subproblem.py +637 -0
  393. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/report.py +49 -0
  394. scirs-0.1.3/python/scicore/optimize/_trustregion_constr/tr_interior_point.py +369 -0
  395. scirs-0.1.3/python/scicore/optimize/_trustregion_dogleg.py +122 -0
  396. scirs-0.1.3/python/scicore/optimize/_trustregion_exact.py +459 -0
  397. scirs-0.1.3/python/scicore/optimize/_trustregion_krylov.py +65 -0
  398. scirs-0.1.3/python/scicore/optimize/_trustregion_ncg.py +126 -0
  399. scirs-0.1.3/python/scicore/optimize/_tstutils.py +992 -0
  400. scirs-0.1.3/python/scicore/optimize/_zeros.py +36 -0
  401. scirs-0.1.3/python/scicore/optimize/_zeros_py.py +1487 -0
  402. scirs-0.1.3/python/scicore/optimize/cython_optimize/__init__.py +133 -0
  403. scirs-0.1.3/python/scicore/optimize/cython_optimize/_zeros.pyx.in +159 -0
  404. scirs-0.1.3/python/scicore/optimize/elementwise.py +38 -0
  405. scirs-0.1.3/python/scicore/optimize/tnc/HISTORY +30 -0
  406. scirs-0.1.3/python/scicore/optimize/tnc/LICENSE +20 -0
  407. scirs-0.1.3/python/scicore/optimize/tnc/README +67 -0
  408. scirs-0.1.3/python/scicore/scipy_config.h.in +19 -0
  409. scirs-0.1.3/python/scicore/signal/__init__.py +322 -0
  410. scirs-0.1.3/python/scicore/signal/_arraytools.py +264 -0
  411. scirs-0.1.3/python/scicore/signal/_convolve2d.py +44 -0
  412. scirs-0.1.3/python/scicore/signal/_correlate_nd.py +53 -0
  413. scirs-0.1.3/python/scicore/signal/_czt.py +561 -0
  414. scirs-0.1.3/python/scicore/signal/_delegators.py +572 -0
  415. scirs-0.1.3/python/scicore/signal/_filter_design.py +6354 -0
  416. scirs-0.1.3/python/scicore/signal/_fir_filter_design.py +1567 -0
  417. scirs-0.1.3/python/scicore/signal/_lfilter.py +81 -0
  418. scirs-0.1.3/python/scicore/signal/_lti_conversion.py +586 -0
  419. scirs-0.1.3/python/scicore/signal/_ltisys.py +3853 -0
  420. scirs-0.1.3/python/scicore/signal/_max_len_seq.py +139 -0
  421. scirs-0.1.3/python/scicore/signal/_max_len_seq_inner.py +16 -0
  422. scirs-0.1.3/python/scicore/signal/_medfilt2d.py +18 -0
  423. scirs-0.1.3/python/scicore/signal/_peak_finding.py +1307 -0
  424. scirs-0.1.3/python/scicore/signal/_peak_finding_utils_rs.py +97 -0
  425. scirs-0.1.3/python/scicore/signal/_polyutils.py +258 -0
  426. scirs-0.1.3/python/scicore/signal/_remez.py +5 -0
  427. scirs-0.1.3/python/scicore/signal/_savitzky_golay.py +390 -0
  428. scirs-0.1.3/python/scicore/signal/_short_time_fft.py +2291 -0
  429. scirs-0.1.3/python/scicore/signal/_signal_api.py +31 -0
  430. scirs-0.1.3/python/scicore/signal/_signaltools.py +5527 -0
  431. scirs-0.1.3/python/scicore/signal/_sosfilt.py +33 -0
  432. scirs-0.1.3/python/scicore/signal/_spectral_py.py +2475 -0
  433. scirs-0.1.3/python/scicore/signal/_spline.py +116 -0
  434. scirs-0.1.3/python/scicore/signal/_spline.pyi +34 -0
  435. scirs-0.1.3/python/scicore/signal/_spline_filters.py +854 -0
  436. scirs-0.1.3/python/scicore/signal/_support_alternative_backends.py +400 -0
  437. scirs-0.1.3/python/scicore/signal/_upfirdn.py +220 -0
  438. scirs-0.1.3/python/scicore/signal/_upfirdn_apply.py +63 -0
  439. scirs-0.1.3/python/scicore/signal/_waveforms.py +695 -0
  440. scirs-0.1.3/python/scicore/signal/_wavelets.py +29 -0
  441. scirs-0.1.3/python/scicore/signal/_whittaker.py +451 -0
  442. scirs-0.1.3/python/scicore/signal/docs/signaltools.README +94 -0
  443. scirs-0.1.3/python/scicore/signal/windows/__init__.py +49 -0
  444. scirs-0.1.3/python/scicore/signal/windows/_windows.py +2780 -0
  445. scirs-0.1.3/python/scicore/sparse/__init__.py +290 -0
  446. scirs-0.1.3/python/scicore/sparse/_base.py +1795 -0
  447. scirs-0.1.3/python/scicore/sparse/_bsr.py +915 -0
  448. scirs-0.1.3/python/scicore/sparse/_compressed.py +1355 -0
  449. scirs-0.1.3/python/scicore/sparse/_construct.py +1898 -0
  450. scirs-0.1.3/python/scicore/sparse/_coo.py +1966 -0
  451. scirs-0.1.3/python/scicore/sparse/_csc.py +416 -0
  452. scirs-0.1.3/python/scicore/sparse/_csparsetools.py +37 -0
  453. scirs-0.1.3/python/scicore/sparse/_csparsetools.pyx.in +466 -0
  454. scirs-0.1.3/python/scicore/sparse/_csr.py +614 -0
  455. scirs-0.1.3/python/scicore/sparse/_data.py +583 -0
  456. scirs-0.1.3/python/scicore/sparse/_dia.py +745 -0
  457. scirs-0.1.3/python/scicore/sparse/_dok.py +841 -0
  458. scirs-0.1.3/python/scicore/sparse/_extract.py +247 -0
  459. scirs-0.1.3/python/scicore/sparse/_generate_sparsetools.py +453 -0
  460. scirs-0.1.3/python/scicore/sparse/_index.py +487 -0
  461. scirs-0.1.3/python/scicore/sparse/_lil.py +869 -0
  462. scirs-0.1.3/python/scicore/sparse/_matrix.py +200 -0
  463. scirs-0.1.3/python/scicore/sparse/_matrix_io.py +174 -0
  464. scirs-0.1.3/python/scicore/sparse/_sparsetools.py +294 -0
  465. scirs-0.1.3/python/scicore/sparse/_spfuncs.py +76 -0
  466. scirs-0.1.3/python/scicore/sparse/_sputils.py +629 -0
  467. scirs-0.1.3/python/scicore/sparse/csgraph/__init__.py +210 -0
  468. scirs-0.1.3/python/scicore/sparse/csgraph/_flow.py +11 -0
  469. scirs-0.1.3/python/scicore/sparse/csgraph/_laplacian.py +563 -0
  470. scirs-0.1.3/python/scicore/sparse/csgraph/_matching.py +15 -0
  471. scirs-0.1.3/python/scicore/sparse/csgraph/_min_spanning_tree.py +11 -0
  472. scirs-0.1.3/python/scicore/sparse/csgraph/_reordering.py +15 -0
  473. scirs-0.1.3/python/scicore/sparse/csgraph/_shortest_path.py +48 -0
  474. scirs-0.1.3/python/scicore/sparse/csgraph/_tools.py +37 -0
  475. scirs-0.1.3/python/scicore/sparse/csgraph/_traversal.py +38 -0
  476. scirs-0.1.3/python/scicore/sparse/csgraph/_validation.py +71 -0
  477. scirs-0.1.3/python/scicore/sparse/csgraph/parameters.pxi +19 -0
  478. scirs-0.1.3/python/scicore/sparse/linalg/__init__.py +147 -0
  479. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/License.txt +29 -0
  480. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/README +193 -0
  481. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/README.scipy +18 -0
  482. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/SRC/superlu_config.h.in +24 -0
  483. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/scipychanges.patch +20 -0
  484. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/scipychanges_blas.patch +1333 -0
  485. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/__init__.py +71 -0
  486. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/_add_newdocs.py +147 -0
  487. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/_superlu.py +50 -0
  488. scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/linsolve.py +933 -0
  489. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/__init__.py +22 -0
  490. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/_svds.py +535 -0
  491. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/_svds_doc.py +382 -0
  492. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/__init__.py +20 -0
  493. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/_arpacklib.py +29 -0
  494. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/ARPACK_LICENSE.txt +91 -0
  495. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/LICENSE +26 -0
  496. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/Makefile +195 -0
  497. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/README +92 -0
  498. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arpack.py +1790 -0
  499. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/lobpcg/__init__.py +16 -0
  500. scirs-0.1.3/python/scicore/sparse/linalg/_eigen/lobpcg/lobpcg.py +1109 -0
  501. scirs-0.1.3/python/scicore/sparse/linalg/_expm_multiply.py +816 -0
  502. scirs-0.1.3/python/scicore/sparse/linalg/_funm_multiply_krylov.py +340 -0
  503. scirs-0.1.3/python/scicore/sparse/linalg/_interface.py +1273 -0
  504. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/__init__.py +20 -0
  505. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/_gcrotmk.py +506 -0
  506. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/iterative.py +1058 -0
  507. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/lgmres.py +232 -0
  508. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/lsmr.py +494 -0
  509. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/lsqr.py +591 -0
  510. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/minres.py +379 -0
  511. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/tfqmr.py +182 -0
  512. scirs-0.1.3/python/scicore/sparse/linalg/_isolve/utils.py +123 -0
  513. scirs-0.1.3/python/scicore/sparse/linalg/_matfuncs.py +939 -0
  514. scirs-0.1.3/python/scicore/sparse/linalg/_norm.py +201 -0
  515. scirs-0.1.3/python/scicore/sparse/linalg/_onenormest.py +376 -0
  516. scirs-0.1.3/python/scicore/sparse/linalg/_propack/PROPACK/LICENSE +26 -0
  517. scirs-0.1.3/python/scicore/sparse/linalg/_propack/PROPACK/PROPACK_LICENSE.txt +52 -0
  518. scirs-0.1.3/python/scicore/sparse/linalg/_propack/PROPACK/README +27 -0
  519. scirs-0.1.3/python/scicore/sparse/linalg/_propack/__init__.py +21 -0
  520. scirs-0.1.3/python/scicore/sparse/linalg/_propack/_propack.py +21 -0
  521. scirs-0.1.3/python/scicore/sparse/linalg/_special_sparse_arrays.py +950 -0
  522. scirs-0.1.3/python/scicore/sparse/linalg/_svdp.py +304 -0
  523. scirs-0.1.3/python/scicore/sparse/sparsetools/bsr.cxx +9 -0
  524. scirs-0.1.3/python/scicore/sparse/sparsetools/csc.cxx +9 -0
  525. scirs-0.1.3/python/scicore/sparse/sparsetools/csr.cxx +41 -0
  526. scirs-0.1.3/python/scicore/sparse/sparsetools/other.cxx +11 -0
  527. scirs-0.1.3/python/scicore/sparse/sparsetools/sparsetools.cxx +598 -0
  528. scirs-0.1.3/python/scicore/spatial/COPYING_QHULL.txt +39 -0
  529. scirs-0.1.3/python/scicore/spatial/__init__.py +127 -0
  530. scirs-0.1.3/python/scicore/spatial/_ckdtree.py +61 -0
  531. scirs-0.1.3/python/scicore/spatial/_geometric_slerp.py +258 -0
  532. scirs-0.1.3/python/scicore/spatial/_kdtree.py +1062 -0
  533. scirs-0.1.3/python/scicore/spatial/_plotutils.py +268 -0
  534. scirs-0.1.3/python/scicore/spatial/_procrustes.py +138 -0
  535. scirs-0.1.3/python/scicore/spatial/_qhull.py +42 -0
  536. scirs-0.1.3/python/scicore/spatial/_qhull.pyi +213 -0
  537. scirs-0.1.3/python/scicore/spatial/_spherical_voronoi.py +336 -0
  538. scirs-0.1.3/python/scicore/spatial/_voronoi.py +17 -0
  539. scirs-0.1.3/python/scicore/spatial/_voronoi.pyi +4 -0
  540. scirs-0.1.3/python/scicore/spatial/ckdtree/src/build.cxx +250 -0
  541. scirs-0.1.3/python/scicore/spatial/ckdtree/src/count_neighbors.cxx +291 -0
  542. scirs-0.1.3/python/scicore/spatial/ckdtree/src/query.cxx +515 -0
  543. scirs-0.1.3/python/scicore/spatial/ckdtree/src/query_ball_point.cxx +145 -0
  544. scirs-0.1.3/python/scicore/spatial/ckdtree/src/query_ball_tree.cxx +201 -0
  545. scirs-0.1.3/python/scicore/spatial/ckdtree/src/query_pairs.cxx +220 -0
  546. scirs-0.1.3/python/scicore/spatial/ckdtree/src/sparse_distances.cxx +142 -0
  547. scirs-0.1.3/python/scicore/spatial/distance/__init__.py +129 -0
  548. scirs-0.1.3/python/scicore/spatial/distance/_distance.py +2902 -0
  549. scirs-0.1.3/python/scicore/spatial/distance/_distance.pyi +200 -0
  550. scirs-0.1.3/python/scicore/spatial/distance/_distance_pybind.py +293 -0
  551. scirs-0.1.3/python/scicore/spatial/distance/_distance_wrap.py +118 -0
  552. scirs-0.1.3/python/scicore/spatial/distance/_hausdorff.py +60 -0
  553. scirs-0.1.3/python/scicore/spatial/qhull_misc_README.txt +42 -0
  554. scirs-0.1.3/python/scicore/spatial/transform/__init__.py +28 -0
  555. scirs-0.1.3/python/scicore/spatial/transform/_rigid_transform.py +1973 -0
  556. scirs-0.1.3/python/scicore/spatial/transform/_rigid_transform_cy.py +12 -0
  557. scirs-0.1.3/python/scicore/spatial/transform/_rigid_transform_xp.py +448 -0
  558. scirs-0.1.3/python/scicore/spatial/transform/_rotation.py +2861 -0
  559. scirs-0.1.3/python/scicore/spatial/transform/_rotation_cy.py +12 -0
  560. scirs-0.1.3/python/scicore/spatial/transform/_rotation_groups.py +140 -0
  561. scirs-0.1.3/python/scicore/spatial/transform/_rotation_spline.py +468 -0
  562. scirs-0.1.3/python/scicore/spatial/transform/_rotation_xp.py +1152 -0
  563. scirs-0.1.3/python/scicore/special/__init__.py +858 -0
  564. scirs-0.1.3/python/scicore/special/_add_newdocs.py +2039 -0
  565. scirs-0.1.3/python/scicore/special/_basic.py +3824 -0
  566. scirs-0.1.3/python/scicore/special/_ellip_harm.py +216 -0
  567. scirs-0.1.3/python/scicore/special/_ellip_harm_2.py +19 -0
  568. scirs-0.1.3/python/scicore/special/_generate_pyx.py +1083 -0
  569. scirs-0.1.3/python/scicore/special/_gufuncs.py +74 -0
  570. scirs-0.1.3/python/scicore/special/_input_validation.py +17 -0
  571. scirs-0.1.3/python/scicore/special/_lambertw.py +149 -0
  572. scirs-0.1.3/python/scicore/special/_logsumexp.py +420 -0
  573. scirs-0.1.3/python/scicore/special/_mathieu.py +168 -0
  574. scirs-0.1.3/python/scicore/special/_mptestutils.py +453 -0
  575. scirs-0.1.3/python/scicore/special/_multiufuncs.py +744 -0
  576. scirs-0.1.3/python/scicore/special/_orthogonal.py +3682 -0
  577. scirs-0.1.3/python/scicore/special/_precompute/__init__.py +0 -0
  578. scirs-0.1.3/python/scicore/special/_precompute/expn_asy.py +54 -0
  579. scirs-0.1.3/python/scicore/special/_precompute/gammainc_asy.py +116 -0
  580. scirs-0.1.3/python/scicore/special/_precompute/gammainc_data.py +124 -0
  581. scirs-0.1.3/python/scicore/special/_precompute/hyp2f1_data.py +484 -0
  582. scirs-0.1.3/python/scicore/special/_precompute/utils.py +38 -0
  583. scirs-0.1.3/python/scicore/special/_precompute/wright_bessel_data.py +152 -0
  584. scirs-0.1.3/python/scicore/special/_sf_error.py +15 -0
  585. scirs-0.1.3/python/scicore/special/_specfun.py +32 -0
  586. scirs-0.1.3/python/scicore/special/_special_ufuncs.py +52 -0
  587. scirs-0.1.3/python/scicore/special/_spfun_stats.py +223 -0
  588. scirs-0.1.3/python/scicore/special/_spherical_bessel.py +363 -0
  589. scirs-0.1.3/python/scicore/special/_support_alternative_backends.py +1309 -0
  590. scirs-0.1.3/python/scicore/special/_testutils.py +321 -0
  591. scirs-0.1.3/python/scicore/special/_ufunc_tools.py +717 -0
  592. scirs-0.1.3/python/scicore/special/_ufuncs.py +449 -0
  593. scirs-0.1.3/python/scicore/special/_ufuncs.pyi +523 -0
  594. scirs-0.1.3/python/scicore/special/_ufuncs_extra_code.pxi +234 -0
  595. scirs-0.1.3/python/scicore/special/_ufuncs_extra_code_common.pxi +31 -0
  596. scirs-0.1.3/python/scicore/special/cython_special.pyi +3 -0
  597. scirs-0.1.3/python/scicore/special/functions.json +206 -0
  598. scirs-0.1.3/python/scicore/special/utils/README.md +29 -0
  599. scirs-0.1.3/python/scicore/special/utils/convert.py +125 -0
  600. scirs-0.1.3/python/scicore/special/utils/datafunc.py +61 -0
  601. scirs-0.1.3/python/scicore/special/utils/makenpz.py +88 -0
  602. scirs-0.1.3/python/scicore/stats/__init__.py +658 -0
  603. scirs-0.1.3/python/scicore/stats/_ansari_swilk_statistics.py +23 -0
  604. scirs-0.1.3/python/scicore/stats/_axis_nan_policy.py +762 -0
  605. scirs-0.1.3/python/scicore/stats/_biasedurn.py +28 -0
  606. scirs-0.1.3/python/scicore/stats/_binned_statistic.py +806 -0
  607. scirs-0.1.3/python/scicore/stats/_binomtest.py +418 -0
  608. scirs-0.1.3/python/scicore/stats/_bws_test.py +206 -0
  609. scirs-0.1.3/python/scicore/stats/_censored_data.py +468 -0
  610. scirs-0.1.3/python/scicore/stats/_circstats.py +779 -0
  611. scirs-0.1.3/python/scicore/stats/_common.py +5 -0
  612. scirs-0.1.3/python/scicore/stats/_constants.py +42 -0
  613. scirs-0.1.3/python/scicore/stats/_continued_fraction.py +390 -0
  614. scirs-0.1.3/python/scicore/stats/_continuous_distns.py +12675 -0
  615. scirs-0.1.3/python/scicore/stats/_correlation.py +738 -0
  616. scirs-0.1.3/python/scicore/stats/_covariance.py +672 -0
  617. scirs-0.1.3/python/scicore/stats/_crosstab.py +200 -0
  618. scirs-0.1.3/python/scicore/stats/_discrete_distns.py +2115 -0
  619. scirs-0.1.3/python/scicore/stats/_distn_infrastructure.py +4272 -0
  620. scirs-0.1.3/python/scicore/stats/_distr_params.py +304 -0
  621. scirs-0.1.3/python/scicore/stats/_distribution_infrastructure.py +6216 -0
  622. scirs-0.1.3/python/scicore/stats/_entropy.py +432 -0
  623. scirs-0.1.3/python/scicore/stats/_finite_differences.py +145 -0
  624. scirs-0.1.3/python/scicore/stats/_fit.py +1349 -0
  625. scirs-0.1.3/python/scicore/stats/_hypotests.py +2214 -0
  626. scirs-0.1.3/python/scicore/stats/_kde.py +765 -0
  627. scirs-0.1.3/python/scicore/stats/_ksstats.py +600 -0
  628. scirs-0.1.3/python/scicore/stats/_levy_stable/__init__.py +1247 -0
  629. scirs-0.1.3/python/scicore/stats/_levy_stable/levyst.py +3 -0
  630. scirs-0.1.3/python/scicore/stats/_mannwhitneyu.py +547 -0
  631. scirs-0.1.3/python/scicore/stats/_mgc.py +552 -0
  632. scirs-0.1.3/python/scicore/stats/_morestats.py +4616 -0
  633. scirs-0.1.3/python/scicore/stats/_mstats_basic.py +3836 -0
  634. scirs-0.1.3/python/scicore/stats/_mstats_extras.py +520 -0
  635. scirs-0.1.3/python/scicore/stats/_multicomp.py +457 -0
  636. scirs-0.1.3/python/scicore/stats/_multivariate.py +8042 -0
  637. scirs-0.1.3/python/scicore/stats/_new_distributions.py +707 -0
  638. scirs-0.1.3/python/scicore/stats/_odds_ratio.py +468 -0
  639. scirs-0.1.3/python/scicore/stats/_page_trend_test.py +488 -0
  640. scirs-0.1.3/python/scicore/stats/_probability_distribution.py +2255 -0
  641. scirs-0.1.3/python/scicore/stats/_qmc.py +2956 -0
  642. scirs-0.1.3/python/scicore/stats/_qmc_cy.py +79 -0
  643. scirs-0.1.3/python/scicore/stats/_qmc_cy.pyi +54 -0
  644. scirs-0.1.3/python/scicore/stats/_qmvnt.py +500 -0
  645. scirs-0.1.3/python/scicore/stats/_qmvnt_cy.py +41 -0
  646. scirs-0.1.3/python/scicore/stats/_quantile.py +817 -0
  647. scirs-0.1.3/python/scicore/stats/_rcont/__init__.py +4 -0
  648. scirs-0.1.3/python/scicore/stats/_rcont/rcont.py +45 -0
  649. scirs-0.1.3/python/scicore/stats/_relative_risk.py +265 -0
  650. scirs-0.1.3/python/scicore/stats/_resampling.py +2426 -0
  651. scirs-0.1.3/python/scicore/stats/_result_classes.py +40 -0
  652. scirs-0.1.3/python/scicore/stats/_sampling.py +1319 -0
  653. scirs-0.1.3/python/scicore/stats/_sensitivity_analysis.py +716 -0
  654. scirs-0.1.3/python/scicore/stats/_sobol.py +211 -0
  655. scirs-0.1.3/python/scicore/stats/_sobol.pyi +54 -0
  656. scirs-0.1.3/python/scicore/stats/_sobol_direction_numbers.npz +0 -0
  657. scirs-0.1.3/python/scicore/stats/_stats.py +184 -0
  658. scirs-0.1.3/python/scicore/stats/_stats_mstats_common.py +35 -0
  659. scirs-0.1.3/python/scicore/stats/_stats_py.py +11351 -0
  660. scirs-0.1.3/python/scicore/stats/_stats_pythran.py +180 -0
  661. scirs-0.1.3/python/scicore/stats/_survival.py +687 -0
  662. scirs-0.1.3/python/scicore/stats/_tukeylambda_stats.py +199 -0
  663. scirs-0.1.3/python/scicore/stats/_unuran/__init__.py +0 -0
  664. scirs-0.1.3/python/scicore/stats/_unuran/unuran_wrapper.pyi +179 -0
  665. scirs-0.1.3/python/scicore/stats/_variation.py +133 -0
  666. scirs-0.1.3/python/scicore/stats/_warnings_errors.py +62 -0
  667. scirs-0.1.3/python/scicore/stats/_wilcoxon.py +284 -0
  668. scirs-0.1.3/python/scicore/stats/biasedurn/license.txt +31 -0
  669. scirs-0.1.3/python/scicore/stats/contingency.py +567 -0
  670. scirs-0.1.3/python/scicore/stats/distributions.py +24 -0
  671. scirs-0.1.3/python/scicore/stats/libnpyrandom/README.md +5 -0
  672. scirs-0.1.3/python/scicore/stats/mstats.py +245 -0
  673. scirs-0.1.3/python/scicore/stats/qmc.py +235 -0
  674. scirs-0.1.3/python/scicore/stats/sampling.py +73 -0
  675. scirs-0.1.3/python/scicore/version.py +3 -0
  676. scirs-0.1.3/rust/Cargo.lock +155 -0
  677. scirs-0.1.3/rust/Cargo.toml +23 -0
  678. scirs-0.1.3/rust/src/array_utils.rs +218 -0
  679. scirs-0.1.3/rust/src/ccallback.rs +315 -0
  680. scirs-0.1.3/rust/src/column_grouping.rs +142 -0
  681. scirs-0.1.3/rust/src/convolve2d.rs +332 -0
  682. scirs-0.1.3/rust/src/correlate_nd.rs +502 -0
  683. scirs-0.1.3/rust/src/fblas.rs +706 -0
  684. scirs-0.1.3/rust/src/fftpack_convolve.rs +177 -0
  685. scirs-0.1.3/rust/src/flapack.rs +878 -0
  686. scirs-0.1.3/rust/src/fmm/format.rs +79 -0
  687. scirs-0.1.3/rust/src/fmm/mod.rs +443 -0
  688. scirs-0.1.3/rust/src/fmm/parse.rs +394 -0
  689. scirs-0.1.3/rust/src/fpumode.rs +32 -0
  690. scirs-0.1.3/rust/src/givens_elimination.rs +103 -0
  691. scirs-0.1.3/rust/src/graph_tools.rs +165 -0
  692. scirs-0.1.3/rust/src/hausdorff.rs +105 -0
  693. scirs-0.1.3/rust/src/levy_stable.rs +157 -0
  694. scirs-0.1.3/rust/src/lfilter.rs +188 -0
  695. scirs-0.1.3/rust/src/lib.rs +158 -0
  696. scirs-0.1.3/rust/src/max_len_seq_inner.rs +182 -0
  697. scirs-0.1.3/rust/src/median_filter_2d.rs +133 -0
  698. scirs-0.1.3/rust/src/mio_utils.rs +57 -0
  699. scirs-0.1.3/rust/src/ndimage_label.rs +172 -0
  700. scirs-0.1.3/rust/src/peak_finding_utils.rs +441 -0
  701. scirs-0.1.3/rust/src/qmc.rs +428 -0
  702. scirs-0.1.3/rust/src/qmvnt.rs +277 -0
  703. scirs-0.1.3/rust/src/rank_filter_1d.rs +131 -0
  704. scirs-0.1.3/rust/src/rcont.rs +318 -0
  705. scirs-0.1.3/rust/src/remez.rs +532 -0
  706. scirs-0.1.3/rust/src/reordering.rs +109 -0
  707. scirs-0.1.3/rust/src/rgi.rs +211 -0
  708. scirs-0.1.3/rust/src/sobol.rs +449 -0
  709. scirs-0.1.3/rust/src/sosfilt.rs +233 -0
  710. scirs-0.1.3/rust/src/spherical_voronoi.rs +107 -0
  711. scirs-0.1.3/rust/src/spline.rs +461 -0
  712. scirs-0.1.3/rust/src/upfirdn_apply.rs +458 -0
  713. scirs-0.1.3/rust/src/vq.rs +194 -0
@@ -0,0 +1,30 @@
1
+ Copyright (c) 2026-2027 SciCore Developers.
2
+ All rights reserved.
3
+
4
+ Redistribution and use in source and binary forms, with or without
5
+ modification, are permitted provided that the following conditions
6
+ are met:
7
+
8
+ 1. Redistributions of source code must retain the above copyright
9
+ notice, this list of conditions and the following disclaimer.
10
+
11
+ 2. Redistributions in binary form must reproduce the above
12
+ copyright notice, this list of conditions and the following
13
+ disclaimer in the documentation and/or other materials provided
14
+ with the distribution.
15
+
16
+ 3. Neither the name of the copyright holder nor the names of its
17
+ contributors may be used to endorse or promote products derived
18
+ from this software without specific prior written permission.
19
+
20
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
scirs-0.1.3/PKG-INFO ADDED
@@ -0,0 +1,164 @@
1
+ Metadata-Version: 2.4
2
+ Name: scirs
3
+ Version: 0.1.3
4
+ Classifier: Development Status :: 5 - Production/Stable
5
+ Classifier: Intended Audience :: Science/Research
6
+ Classifier: Intended Audience :: Developers
7
+ Classifier: License :: OSI Approved :: BSD License
8
+ Classifier: Programming Language :: Rust
9
+ Classifier: Programming Language :: Python
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.9
12
+ Classifier: Programming Language :: Python :: 3.10
13
+ Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
16
+ Classifier: Programming Language :: Python :: 3.14
17
+ Classifier: Programming Language :: Python :: 3.15
18
+ Classifier: Topic :: Software Development :: Libraries
19
+ Classifier: Topic :: Scientific/Engineering
20
+ Classifier: Operating System :: Microsoft :: Windows
21
+ Classifier: Operating System :: POSIX :: Linux
22
+ Classifier: Operating System :: POSIX
23
+ Classifier: Operating System :: Unix
24
+ Classifier: Operating System :: MacOS
25
+ Requires-Dist: rsnumpy>=1.2.5
26
+ Requires-Dist: pooch ; extra == 'all'
27
+ Requires-Dist: threadpoolctl ; extra == 'all'
28
+ Requires-Dist: rsplotlib ; extra == 'all'
29
+ Provides-Extra: all
30
+ License-File: LICENSE.txt
31
+ License-File: LICENSES_bundled.txt
32
+ Summary: Fundamental algorithms for scientific computing in Python, built on rsnumpy
33
+ Keywords: scientific,computing,linear-algebra,rsnumpy,rust
34
+ Author: YJ-Niu
35
+ Maintainer: SciCore Developers
36
+ Requires-Python: >=3.12
37
+ Description-Content-Type: text/x-rst; charset=UTF-8
38
+ Project-URL: documentation, https://github.com/YJ-Niu/scicore#readme
39
+ Project-URL: download, https://pypi.org/project/scirs/
40
+ Project-URL: homepage, https://github.com/YJ-Niu/scicore
41
+ Project-URL: source, https://github.com/YJ-Niu/scicore
42
+ Project-URL: tracker, https://github.com/YJ-Niu/scicore/issues
43
+
44
+ SciCore
45
+ =======
46
+
47
+ .. image:: https://img.shields.io/badge/powered%20by-rsnumpy-blue.svg
48
+ :target: https://github.com/YJ-Niu/rsnumpy
49
+
50
+ **SciCore** is a port of `SciPy <https://github.com/scipy/scipy>`__ onto
51
+ `rsnumpy <https://github.com/YJ-Niu/rsnumpy>`__ — a Rust-backed, NumPy-compatible
52
+ array library.
53
+
54
+ The import name stays ``scicore``, so it is a drop-in replacement::
55
+
56
+ pip install scirs
57
+ python -c "import scicore.linalg"
58
+
59
+ Why
60
+ ---
61
+
62
+ SciCore's compiled kernels are C, C++, Cython and Fortran. SciCore keeps the
63
+ algorithms, migrates compiled kernels to Rust incrementally, and swaps the array
64
+ backend from NumPy to rsnumpy. Until that migration is complete, some native
65
+ extensions still use the upstream implementations. Two consequences worth
66
+ knowing up front:
67
+
68
+ - **No Python NumPy dependency at runtime.** Arrays are rsnumpy arrays. NumPy
69
+ remains a build-time dependency for the C/Cython extensions that have not yet
70
+ been ported.
71
+ - **Native-kernel migration is ongoing.** Signal filtering kernels including
72
+ ``lfilter``, ``sosfilt``, ``upfirdn``, direct N-D ``correlate``,
73
+ ``convolve2d``/``correlate2d``, ``remez`` FIR design, spline filtering, and
74
+ 2-D median filtering now run in Rust. FFTPACK's packed-spectrum convolution
75
+ kernels and convolution-kernel generation, as well as cluster VQ assignment
76
+ and cluster-mean updates, also run in Rust; other C, C++, Cython, and Fortran
77
+ production extensions are still being replaced. Regular-grid interpolation's
78
+ interval search and 2-D linear interpolation kernels, as well as reverse
79
+ Cuthill-McKee graph ordering and sparse-to-dense/distance-matrix graph
80
+ kernels, as well as least-squares Givens elimination, also run in Rust.
81
+ Sparse graph conversion adapters and sparse finite-difference column
82
+ grouping kernels are Rust-backed with Python adapters. Multidimensional
83
+ connected-component labeling and the one-dimensional rank-filter kernel
84
+ also run in Rust. The directed Hausdorff distance search kernel is Rust-backed
85
+ with its existing Python random-number and array API preserved. Boyett and
86
+ Patefield random contingency-table sampling and the Nolan stable-distribution
87
+ integration kernel also run in Rust.
88
+ - **Recomputation over incremental update.** Where upstream keeps a factorisation
89
+ up to date with Givens rotations (``scicore.linalg.qr_update`` and friends), this
90
+ port recomputes the factorisation. The results match, but the complexity is
91
+ ``O(m n²)`` rather than ``O(m n)``. Each affected function says so in its
92
+ docstring.
93
+
94
+ Status
95
+ ------
96
+
97
+ This is a work in progress. Native kernels are still being migrated to Rust;
98
+ until that is complete, some native extensions still use the upstream
99
+ implementations. Treat the API as experimental and pin the version if you
100
+ depend on it.
101
+
102
+ Building from source
103
+ --------------------
104
+
105
+ The build is driven by **maturin**: it compiles the pyo3 crate in ``rust/``
106
+ into the ``scicore._scicore_rs`` extension and packages the ``python/`` tree
107
+ into a wheel.
108
+
109
+ There is a helper that does the whole thing and installs the result into
110
+ ``.venv``::
111
+
112
+ ./build_wheel.sh
113
+
114
+ Useful flags::
115
+
116
+ ./build_wheel.sh --debug # debug build instead of release
117
+ ./build_wheel.sh --out-dir dist # where to put the wheel
118
+ ./build_wheel.sh --python /path/to/python
119
+
120
+ To do it by hand::
121
+
122
+ pip install maturin
123
+ maturin build --release -i python -o dist
124
+ pip install dist/*.whl
125
+
126
+ ``build_wheel.sh`` also runs ``cargo fmt --check`` and ``cargo clippy`` before
127
+ building, so a failing lint stops the build rather than shipping a wheel.
128
+
129
+ Requirements: a Rust toolchain, Python >= 3.12.
130
+
131
+ Development
132
+ -----------
133
+
134
+ Clone the repository::
135
+
136
+ git clone --recursive https://github.com/YJ-Niu/scicore.git
137
+
138
+ The ``--recursive`` flag initializes the doc submodule (scipy-mathjax for
139
+ formula rendering in the docs).
140
+
141
+ Run the Rust unit tests from the workspace root::
142
+
143
+ cd rust
144
+ cargo test --workspace
145
+
146
+ The repository's SciCore-owned Python tests live in ``test/`` and
147
+ ``tools/``. ``pytest.ini`` limits ``python -m pytest`` to those tests so the
148
+ vendored upstream SciCore test corpus is not run as if it were a SciCore suite.
149
+ The Python tests cover the rsnumpy migration and Rust-backed Python adapters;
150
+ the Rust workspace tests cover each migrated kernel.
151
+
152
+ Links
153
+ -----
154
+
155
+ - **Source code:** https://github.com/YJ-Niu/scicore
156
+ - **Bug reports:** https://github.com/YJ-Niu/scicore/issues
157
+ - **rsnumpy (array backend):** https://github.com/YJ-Niu/rsnumpy
158
+ - **Upstream SciCore:** https://github.com/scicore-dev/scicore
159
+
160
+ License
161
+ -------
162
+
163
+ BSD 3-Clause, matching upstream SciCore. See ``LICENSE.txt``.
164
+
scirs-0.1.3/README.rst ADDED
@@ -0,0 +1,120 @@
1
+ SciCore
2
+ =======
3
+
4
+ .. image:: https://img.shields.io/badge/powered%20by-rsnumpy-blue.svg
5
+ :target: https://github.com/YJ-Niu/rsnumpy
6
+
7
+ **SciCore** is a port of `SciPy <https://github.com/scipy/scipy>`__ onto
8
+ `rsnumpy <https://github.com/YJ-Niu/rsnumpy>`__ — a Rust-backed, NumPy-compatible
9
+ array library.
10
+
11
+ The import name stays ``scicore``, so it is a drop-in replacement::
12
+
13
+ pip install scirs
14
+ python -c "import scicore.linalg"
15
+
16
+ Why
17
+ ---
18
+
19
+ SciCore's compiled kernels are C, C++, Cython and Fortran. SciCore keeps the
20
+ algorithms, migrates compiled kernels to Rust incrementally, and swaps the array
21
+ backend from NumPy to rsnumpy. Until that migration is complete, some native
22
+ extensions still use the upstream implementations. Two consequences worth
23
+ knowing up front:
24
+
25
+ - **No Python NumPy dependency at runtime.** Arrays are rsnumpy arrays. NumPy
26
+ remains a build-time dependency for the C/Cython extensions that have not yet
27
+ been ported.
28
+ - **Native-kernel migration is ongoing.** Signal filtering kernels including
29
+ ``lfilter``, ``sosfilt``, ``upfirdn``, direct N-D ``correlate``,
30
+ ``convolve2d``/``correlate2d``, ``remez`` FIR design, spline filtering, and
31
+ 2-D median filtering now run in Rust. FFTPACK's packed-spectrum convolution
32
+ kernels and convolution-kernel generation, as well as cluster VQ assignment
33
+ and cluster-mean updates, also run in Rust; other C, C++, Cython, and Fortran
34
+ production extensions are still being replaced. Regular-grid interpolation's
35
+ interval search and 2-D linear interpolation kernels, as well as reverse
36
+ Cuthill-McKee graph ordering and sparse-to-dense/distance-matrix graph
37
+ kernels, as well as least-squares Givens elimination, also run in Rust.
38
+ Sparse graph conversion adapters and sparse finite-difference column
39
+ grouping kernels are Rust-backed with Python adapters. Multidimensional
40
+ connected-component labeling and the one-dimensional rank-filter kernel
41
+ also run in Rust. The directed Hausdorff distance search kernel is Rust-backed
42
+ with its existing Python random-number and array API preserved. Boyett and
43
+ Patefield random contingency-table sampling and the Nolan stable-distribution
44
+ integration kernel also run in Rust.
45
+ - **Recomputation over incremental update.** Where upstream keeps a factorisation
46
+ up to date with Givens rotations (``scicore.linalg.qr_update`` and friends), this
47
+ port recomputes the factorisation. The results match, but the complexity is
48
+ ``O(m n²)`` rather than ``O(m n)``. Each affected function says so in its
49
+ docstring.
50
+
51
+ Status
52
+ ------
53
+
54
+ This is a work in progress. Native kernels are still being migrated to Rust;
55
+ until that is complete, some native extensions still use the upstream
56
+ implementations. Treat the API as experimental and pin the version if you
57
+ depend on it.
58
+
59
+ Building from source
60
+ --------------------
61
+
62
+ The build is driven by **maturin**: it compiles the pyo3 crate in ``rust/``
63
+ into the ``scicore._scicore_rs`` extension and packages the ``python/`` tree
64
+ into a wheel.
65
+
66
+ There is a helper that does the whole thing and installs the result into
67
+ ``.venv``::
68
+
69
+ ./build_wheel.sh
70
+
71
+ Useful flags::
72
+
73
+ ./build_wheel.sh --debug # debug build instead of release
74
+ ./build_wheel.sh --out-dir dist # where to put the wheel
75
+ ./build_wheel.sh --python /path/to/python
76
+
77
+ To do it by hand::
78
+
79
+ pip install maturin
80
+ maturin build --release -i python -o dist
81
+ pip install dist/*.whl
82
+
83
+ ``build_wheel.sh`` also runs ``cargo fmt --check`` and ``cargo clippy`` before
84
+ building, so a failing lint stops the build rather than shipping a wheel.
85
+
86
+ Requirements: a Rust toolchain, Python >= 3.12.
87
+
88
+ Development
89
+ -----------
90
+
91
+ Clone the repository::
92
+
93
+ git clone --recursive https://github.com/YJ-Niu/scicore.git
94
+
95
+ The ``--recursive`` flag initializes the doc submodule (scipy-mathjax for
96
+ formula rendering in the docs).
97
+
98
+ Run the Rust unit tests from the workspace root::
99
+
100
+ cd rust
101
+ cargo test --workspace
102
+
103
+ The repository's SciCore-owned Python tests live in ``test/`` and
104
+ ``tools/``. ``pytest.ini`` limits ``python -m pytest`` to those tests so the
105
+ vendored upstream SciCore test corpus is not run as if it were a SciCore suite.
106
+ The Python tests cover the rsnumpy migration and Rust-backed Python adapters;
107
+ the Rust workspace tests cover each migrated kernel.
108
+
109
+ Links
110
+ -----
111
+
112
+ - **Source code:** https://github.com/YJ-Niu/scicore
113
+ - **Bug reports:** https://github.com/YJ-Niu/scicore/issues
114
+ - **rsnumpy (array backend):** https://github.com/YJ-Niu/rsnumpy
115
+ - **Upstream SciCore:** https://github.com/scicore-dev/scicore
116
+
117
+ License
118
+ -------
119
+
120
+ BSD 3-Clause, matching upstream SciCore. See ``LICENSE.txt``.
@@ -0,0 +1,142 @@
1
+ [build-system]
2
+ # The build is driven by ``maturin``: it compiles the pyo3 crate
3
+ # (``rust/scicore_rs``) into the ``scicore._scicore_rs`` extension and packages
4
+ # the ``python/`` tree into a wheel. The only external tool required is
5
+ # ``cargo``; maturin itself is provided by the build frontend.
6
+ requires = ["maturin>=1.5,<2.0"]
7
+ build-backend = "maturin"
8
+
9
+ [tool.maturin]
10
+ # pyo3 bindings; the Python package lives under `python/` and the pyo3 crate is
11
+ # the `scicore_rs` workspace member. The extension is placed at
12
+ # `scicore._scicore_rs` (i.e. `python/scicore/_scicore_rs`).
13
+ bindings = "pyo3"
14
+ python-source = "python"
15
+ manifest-dir = "rust"
16
+ module-name = "scicore._scicore_rs"
17
+
18
+ [project]
19
+ # The distribution is `scirs`; the *import* package stays `scicore` so this
20
+ # remains a drop-in replacement -- `pip install scirs`, then `import scicore`.
21
+ name = "scirs"
22
+ version = "0.1.3"
23
+ license = { file = "LICENSE.txt" }
24
+ description = "Fundamental algorithms for scientific computing in Python, built on rsnumpy"
25
+ authors = [
26
+ { name = "YJ-Niu" },
27
+ ]
28
+ maintainers = [
29
+ { name = "SciCore Developers" },
30
+ ]
31
+ keywords = [
32
+ "scientific",
33
+ "computing",
34
+ "linear-algebra",
35
+ "rsnumpy",
36
+ "rust",
37
+ ]
38
+ requires-python = ">=3.12"
39
+ dependencies = [
40
+ "rsnumpy>=1.2.5",
41
+ ]
42
+ readme = "README.rst"
43
+ classifiers = [
44
+ "Development Status :: 5 - Production/Stable",
45
+ "Intended Audience :: Science/Research",
46
+ "Intended Audience :: Developers",
47
+ "License :: OSI Approved :: BSD License",
48
+ "Programming Language :: Rust",
49
+ "Programming Language :: Python",
50
+ "Programming Language :: Python :: 3",
51
+ "Programming Language :: Python :: 3.9",
52
+ "Programming Language :: Python :: 3.10",
53
+ "Programming Language :: Python :: 3.11",
54
+ "Programming Language :: Python :: 3.12",
55
+ "Programming Language :: Python :: 3.13",
56
+ "Programming Language :: Python :: 3.14",
57
+ "Programming Language :: Python :: 3.15",
58
+ "Topic :: Software Development :: Libraries",
59
+ "Topic :: Scientific/Engineering",
60
+ "Operating System :: Microsoft :: Windows",
61
+ "Operating System :: POSIX :: Linux",
62
+ "Operating System :: POSIX",
63
+ "Operating System :: Unix",
64
+ "Operating System :: MacOS",
65
+ ]
66
+
67
+ [project.urls]
68
+ homepage = "https://github.com/YJ-Niu/scicore"
69
+ documentation = "https://github.com/YJ-Niu/scicore#readme"
70
+ source = "https://github.com/YJ-Niu/scicore"
71
+ download = "https://pypi.org/project/scirs/"
72
+ tracker = "https://github.com/YJ-Niu/scicore/issues"
73
+
74
+ # NOTE: when updating this table, also update `dependency-groups.optional-runtime-deps`
75
+ [project.optional-dependencies]
76
+ all = [
77
+ "pooch", # datasets
78
+ "threadpoolctl", # io.mm{...}
79
+ "rsplotlib", # cluster.hierarchy.dendrogram, stats.probplot
80
+ # circular dependency issues, https://github.com/scipy/scipy/issues/19783
81
+ # "scikit-umfpack", # optimize, sparse.linalg
82
+ ]
83
+
84
+ [dependency-groups]
85
+ optional-runtime-deps = [
86
+ "pooch", # datasets
87
+ "threadpoolctl", # io.mm{...}
88
+ "rsplotlib", # cluster.hierarchy.dendrogram, stats.probplot
89
+ # circular dependency issues, https://github.com/scipy/scipy/issues/19783
90
+ # "scikit-umfpack", # optimize, sparse.linalg
91
+ ]
92
+
93
+ test-core = [
94
+ "pytest>=9.1.1",
95
+ "hypothesis>=6.30",
96
+ "pooch",
97
+ "pytest-xdist", # not required, but used widely, belongs in -core
98
+ "pytest-timeout", # not required, but used widely, belongs in -core
99
+ ]
100
+ test-mp = [
101
+ "mpmath",
102
+ # for PyPI: 'gmpy2; sys_platform != "win32" or platform_machine != "ARM64"'
103
+ "gmpy2",
104
+ ]
105
+ test-parallel = [
106
+ { include-group = "test-core" },
107
+ "pytest-run-parallel",
108
+ ]
109
+ test-docs = [
110
+ { include-group = "test-core" },
111
+ "scipy-doctest>=2.0.0",
112
+ "rsplotlib",
113
+ ]
114
+ test-array-types = [
115
+ { include-group = "test-core" },
116
+ "array-api-strict>=2.3.1",
117
+ "marray",
118
+ # for PyPI: 'sparse; sys_platform != "win32" or platform_machine != "ARM64"'
119
+ "sparse",
120
+ ]
121
+ test = [
122
+ { include-group = "optional-runtime-deps" },
123
+ { include-group = "test-core" },
124
+ { include-group = "test-mp" },
125
+ { include-group = "test-parallel" },
126
+ { include-group = "test-docs" },
127
+ { include-group = "test-array-types" },
128
+ # useful but doesn't have its own group (rarely used, and has compiled wheels so can be hard to install)
129
+ "psutil",
130
+ ]
131
+ test-fail-slow = [
132
+ { include-group = "test-core" },
133
+ "pytest-fail-slow", # only one CI job; isolated so it doesn't cause failures for contributors randomly
134
+ ]
135
+ coverage = [
136
+ { include-group = "test" }, # includes all optional test and runtime deps for maximum coverage
137
+ "pytest-cov",
138
+ ]
139
+ dev = [
140
+ { include-group = "test" },
141
+ "scipy-stubs",
142
+ ]
@@ -0,0 +1,129 @@
1
+ # This file is generated by scicore's build process (`maturin`).
2
+ # It replaces the meson-generated `scipy/__config__.py`: the compiled layer is
3
+ # now Rust, so the build reports the Rust toolchain instead of C/Cython/pythran.
4
+ from enum import Enum
5
+
6
+ import platform as _platform
7
+ import sys as _sys
8
+
9
+ __all__ = ["show"]
10
+
11
+ _built_with_meson = False
12
+
13
+
14
+ class DisplayModes(Enum):
15
+ stdout = "stdout"
16
+ dicts = "dicts"
17
+
18
+
19
+ def _cleanup(d):
20
+ """Remove empty values in a `dict` recursively."""
21
+ if isinstance(d, dict):
22
+ return {k: _cleanup(v) for k, v in d.items() if v != '' and _cleanup(v) != ''}
23
+ return d
24
+
25
+
26
+ def _rust_toolchain():
27
+ import json
28
+ import subprocess
29
+ try:
30
+ out = subprocess.run(
31
+ ["rustc", "--version", "--verbose"],
32
+ capture_output=True, text=True, timeout=30,
33
+ ).stdout
34
+ info = {}
35
+ for line in out.splitlines()[1:]:
36
+ if ":" in line:
37
+ k, _, v = line.partition(":")
38
+ info[k.strip()] = v.strip()
39
+ return {
40
+ "name": "rustc",
41
+ "version": info.get("release", ""),
42
+ "host": info.get("host", ""),
43
+ }
44
+ except Exception:
45
+ return {"name": "rustc", "version": "", "host": ""}
46
+
47
+
48
+ def _backend_version(name):
49
+ try:
50
+ mod = __import__(name)
51
+ return getattr(mod, "__version__", "")
52
+ except Exception:
53
+ return ""
54
+
55
+
56
+ CONFIG = _cleanup(
57
+ {
58
+ "Compilers": {
59
+ "rust": _rust_toolchain(),
60
+ },
61
+ "Machine Information": {
62
+ "host": {
63
+ "cpu": _platform.machine(),
64
+ "family": _platform.system(),
65
+ },
66
+ },
67
+ "Build Dependencies": {
68
+ "rsnumpy": {
69
+ "name": "rsnumpy",
70
+ "version": _backend_version("rsnumpy"),
71
+ "detection method": "pkgconfig",
72
+ },
73
+ "pyo3": {
74
+ "name": "pyo3",
75
+ "version": "0.29",
76
+ "detection method": "cargo",
77
+ },
78
+ # No BLAS/LAPACK backend is wired up yet: the Rust port of
79
+ # `scipy.linalg` will plug one in (see `rust/`). Declaring the keys
80
+ # keeps `scipy.linalg.blas` importable in the meantime.
81
+ "blas": {
82
+ "name": "unknown",
83
+ "found": False,
84
+ "version": "",
85
+ "detection method": "",
86
+ "has ilp64": False,
87
+ "cython blas ilp64": False,
88
+ },
89
+ "lapack": {
90
+ "name": "unknown",
91
+ "found": False,
92
+ "version": "",
93
+ "detection method": "",
94
+ "has ilp64": False,
95
+ },
96
+ },
97
+ "Python Information": {
98
+ "path": _sys.executable,
99
+ "version": _sys.version.split()[0],
100
+ },
101
+ }
102
+ )
103
+
104
+
105
+ def _check_pyyaml():
106
+ import yaml
107
+
108
+ return yaml
109
+
110
+
111
+ def show(mode=DisplayModes.stdout.value):
112
+ """Show the libraries and system information scicore was built with."""
113
+ if mode == DisplayModes.stdout.value:
114
+ try: # Non-standard library, check import
115
+ yaml = _check_pyyaml()
116
+
117
+ print(yaml.dump(CONFIG))
118
+ except ModuleNotFoundError:
119
+ import json
120
+ import warnings
121
+
122
+ warnings.warn("Install `pyyaml` for better output", stacklevel=1)
123
+ print(json.dumps(CONFIG, indent=2))
124
+ elif mode == DisplayModes.dicts.value:
125
+ return CONFIG
126
+ else:
127
+ raise AttributeError(
128
+ f"Invalid `mode`, use one of: {', '.join([e.value for e in DisplayModes])}"
129
+ )