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.
- scirs-0.1.3/LICENSE.txt +30 -0
- scirs-0.1.3/PKG-INFO +164 -0
- scirs-0.1.3/README.rst +120 -0
- scirs-0.1.3/pyproject.toml +142 -0
- scirs-0.1.3/python/scicore/__config__.py +129 -0
- scirs-0.1.3/python/scicore/__config__.py.in +173 -0
- scirs-0.1.3/python/scicore/__init__.py +127 -0
- scirs-0.1.3/python/scicore/_build_utils/_generate_blas_wrapper.py +122 -0
- scirs-0.1.3/python/scicore/_build_utils/_wrappers_common.py +125 -0
- scirs-0.1.3/python/scicore/_distributor_init.py +18 -0
- scirs-0.1.3/python/scicore/_external/__init__.py +8 -0
- scirs-0.1.3/python/scicore/_external/_array_api_compat_vendor.py +9 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/__init__.py +22 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/_internal.py +77 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/common/__init__.py +1 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/common/_aliases.py +702 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/common/_fft.py +213 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/common/_helpers.py +1111 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/common/_linalg.py +234 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/common/_typing.py +189 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/__init__.py +24 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/_aliases.py +208 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/_info.py +336 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/_typing.py +30 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/fft.py +36 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/cupy/linalg.py +62 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/dask/__init__.py +0 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/__init__.py +26 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/_aliases.py +369 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/_info.py +407 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/fft.py +16 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/dask/array/linalg.py +64 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/__init__.py +37 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/_aliases.py +185 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/_info.py +367 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/_typing.py +29 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/fft.py +30 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/numpy/linalg.py +208 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/torch/__init__.py +25 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/torch/_aliases.py +960 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/torch/_info.py +369 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/torch/_typing.py +3 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/torch/fft.py +82 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/torch/linalg.py +114 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/__init__.py +0 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/test_vendoring.py +29 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_cupy.py +25 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_dask.py +23 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_numpy.py +26 -0
- scirs-0.1.3/python/scicore/_external/array_api_compat/vendor_tests/uses_torch.py +30 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/__init__.py +56 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/__init__.py +27 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_creation.py +43 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_elementwise.py +351 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_indexing.py +68 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_inspection.py +45 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_linalg.py +47 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_manipulation.py +99 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_searching.py +44 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_set.py +87 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_sorting.py +29 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_agnostic/_statistical.py +180 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_at.py +468 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_creation.py +146 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_elementwise.py +368 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_indexing.py +258 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lazy.py +339 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/__init__.py +1 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_backends.py +74 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_compat.py +74 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_compat.pyi +41 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_helpers.py +624 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_testing.py +33 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_typing.py +39 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_lib/_typing.pyi +123 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_linalg.py +102 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_manipulation.py +284 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_searching.py +88 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_set.py +213 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_sorting.py +206 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/_statistical.py +425 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/py.typed +0 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/testing/__init__.py +19 -0
- scirs-0.1.3/python/scicore/_external/array_api_extra/testing/_testing.py +1013 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/__init__.py +20 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/framework.py +1240 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/main.py +1503 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/models.py +1531 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/problem.py +1316 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/settings.py +132 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/subsolvers/__init__.py +14 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/subsolvers/geometry.py +387 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/subsolvers/optim.py +1203 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/utils/__init__.py +18 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/utils/exceptions.py +22 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/utils/math.py +77 -0
- scirs-0.1.3/python/scicore/_external/cobyqa/utils/versions.py +67 -0
- scirs-0.1.3/python/scicore/_external/packaging_version/README.md +1 -0
- scirs-0.1.3/python/scicore/_external/packaging_version/__init__.py +12 -0
- scirs-0.1.3/python/scicore/_external/packaging_version/src/LICENSE.BSD +23 -0
- scirs-0.1.3/python/scicore/_external/packaging_version/src/_structures.py +61 -0
- scirs-0.1.3/python/scicore/_external/packaging_version/src/version.py +582 -0
- scirs-0.1.3/python/scicore/_lib/__init__.py +14 -0
- scirs-0.1.3/python/scicore/_lib/_array_api.py +1320 -0
- scirs-0.1.3/python/scicore/_lib/_array_api_docs_tables.py +297 -0
- scirs-0.1.3/python/scicore/_lib/_array_api_no_0d.py +103 -0
- scirs-0.1.3/python/scicore/_lib/_array_api_override.py +233 -0
- scirs-0.1.3/python/scicore/_lib/_bunch.py +229 -0
- scirs-0.1.3/python/scicore/_lib/_ccallback.py +251 -0
- scirs-0.1.3/python/scicore/_lib/_ccallback_c.py +62 -0
- scirs-0.1.3/python/scicore/_lib/_disjoint_set.py +266 -0
- scirs-0.1.3/python/scicore/_lib/_docscrape.py +761 -0
- scirs-0.1.3/python/scicore/_lib/_elementwise_iterative_method.py +399 -0
- scirs-0.1.3/python/scicore/_lib/_gcutils.py +96 -0
- scirs-0.1.3/python/scicore/_lib/_public_api.py +56 -0
- scirs-0.1.3/python/scicore/_lib/_pytest_header.py +31 -0
- scirs-0.1.3/python/scicore/_lib/_sparse.py +42 -0
- scirs-0.1.3/python/scicore/_lib/_testutils.py +430 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/LICENSE +29 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/__init__.py +116 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/_backend.py +357 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/_uarray.py +132 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/_uarray_dispatch.cxx +1852 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/scipychanges.patch +13 -0
- scirs-0.1.3/python/scicore/_lib/_uarray/vectorcall.cxx +99 -0
- scirs-0.1.3/python/scicore/_lib/_util.py +1341 -0
- scirs-0.1.3/python/scicore/_lib/deprecation.py +207 -0
- scirs-0.1.3/python/scicore/_lib/doccer.py +366 -0
- scirs-0.1.3/python/scicore/_lib/src/messagestream_config.h.in +1 -0
- scirs-0.1.3/python/scicore/_lib/uarray.py +31 -0
- scirs-0.1.3/python/scicore/_rsnumpy_compat.py +711 -0
- scirs-0.1.3/python/scicore/cluster/__init__.py +31 -0
- scirs-0.1.3/python/scicore/cluster/hierarchy/__init__.py +116 -0
- scirs-0.1.3/python/scicore/cluster/hierarchy/_hierarchy.py +23 -0
- scirs-0.1.3/python/scicore/cluster/hierarchy/_hierarchy_distance_update.pxi +67 -0
- scirs-0.1.3/python/scicore/cluster/hierarchy/_hierarchy_impl.py +4245 -0
- scirs-0.1.3/python/scicore/cluster/hierarchy/_optimal_leaf_ordering.py +11 -0
- scirs-0.1.3/python/scicore/cluster/hierarchy/_structures.pxi +98 -0
- scirs-0.1.3/python/scicore/cluster/vq/__init__.py +84 -0
- scirs-0.1.3/python/scicore/cluster/vq/_vq.py +75 -0
- scirs-0.1.3/python/scicore/cluster/vq/_vq_impl.py +787 -0
- scirs-0.1.3/python/scicore/constants/__init__.py +354 -0
- scirs-0.1.3/python/scicore/constants/_codata.py +2272 -0
- scirs-0.1.3/python/scicore/constants/_constants.py +369 -0
- scirs-0.1.3/python/scicore/datasets/__init__.py +90 -0
- scirs-0.1.3/python/scicore/datasets/_download_all.py +74 -0
- scirs-0.1.3/python/scicore/datasets/_fetchers.py +225 -0
- scirs-0.1.3/python/scicore/datasets/_registry.py +26 -0
- scirs-0.1.3/python/scicore/datasets/_utils.py +80 -0
- scirs-0.1.3/python/scicore/differentiate/__init__.py +27 -0
- scirs-0.1.3/python/scicore/differentiate/_differentiate.py +1151 -0
- scirs-0.1.3/python/scicore/fft/__init__.py +114 -0
- scirs-0.1.3/python/scicore/fft/_backend.py +211 -0
- scirs-0.1.3/python/scicore/fft/_basic.py +1724 -0
- scirs-0.1.3/python/scicore/fft/_basic_backend.py +197 -0
- scirs-0.1.3/python/scicore/fft/_debug_backends.py +22 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/LICENSE.md +25 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/README.md +20 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/__init__.py +9 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/basic.py +251 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/helper.py +256 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/pyduccfft.cxx +668 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/pyduccfft.py +40 -0
- scirs-0.1.3/python/scicore/fft/_duccfft/realtransforms.py +109 -0
- scirs-0.1.3/python/scicore/fft/_fftlog.py +309 -0
- scirs-0.1.3/python/scicore/fft/_fftlog_backend.py +203 -0
- scirs-0.1.3/python/scicore/fft/_helper.py +347 -0
- scirs-0.1.3/python/scicore/fft/_realtransforms.py +759 -0
- scirs-0.1.3/python/scicore/fft/_realtransforms_backend.py +64 -0
- scirs-0.1.3/python/scicore/fftpack/MANIFEST.in +6 -0
- scirs-0.1.3/python/scicore/fftpack/__init__.py +100 -0
- scirs-0.1.3/python/scicore/fftpack/_basic.py +428 -0
- scirs-0.1.3/python/scicore/fftpack/_helper.py +115 -0
- scirs-0.1.3/python/scicore/fftpack/_pseudo_diffs.py +554 -0
- scirs-0.1.3/python/scicore/fftpack/_realtransforms.py +598 -0
- scirs-0.1.3/python/scicore/fftpack/convolve.py +84 -0
- scirs-0.1.3/python/scicore/integrate/__init__.py +120 -0
- scirs-0.1.3/python/scicore/integrate/_bvp.py +1164 -0
- scirs-0.1.3/python/scicore/integrate/_cubature.py +738 -0
- scirs-0.1.3/python/scicore/integrate/_dop.py +20 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/__init__.py +8 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/base.py +308 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/bdf.py +486 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/common.py +456 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/dop853_coefficients.py +193 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/ivp.py +760 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/lsoda.py +231 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/radau.py +580 -0
- scirs-0.1.3/python/scicore/integrate/_ivp/rk.py +896 -0
- scirs-0.1.3/python/scicore/integrate/_lebedev.py +5453 -0
- scirs-0.1.3/python/scicore/integrate/_ode.py +1422 -0
- scirs-0.1.3/python/scicore/integrate/_odepack.py +43 -0
- scirs-0.1.3/python/scicore/integrate/_odepack_py.py +275 -0
- scirs-0.1.3/python/scicore/integrate/_quad_vec.py +666 -0
- scirs-0.1.3/python/scicore/integrate/_quadpack.py +20 -0
- scirs-0.1.3/python/scicore/integrate/_quadpack_py.py +1305 -0
- scirs-0.1.3/python/scicore/integrate/_quadrature.py +1350 -0
- scirs-0.1.3/python/scicore/integrate/_rules/__init__.py +12 -0
- scirs-0.1.3/python/scicore/integrate/_rules/_base.py +546 -0
- scirs-0.1.3/python/scicore/integrate/_rules/_gauss_kronrod.py +195 -0
- scirs-0.1.3/python/scicore/integrate/_rules/_gauss_legendre.py +54 -0
- scirs-0.1.3/python/scicore/integrate/_rules/_genz_malik.py +202 -0
- scirs-0.1.3/python/scicore/integrate/_tanhsinh.py +1401 -0
- scirs-0.1.3/python/scicore/integrate/_vode.py +20 -0
- scirs-0.1.3/python/scicore/integrate/src/LICENSE_DOP +76 -0
- scirs-0.1.3/python/scicore/interpolate/__init__.py +225 -0
- scirs-0.1.3/python/scicore/interpolate/_bary_rational.py +757 -0
- scirs-0.1.3/python/scicore/interpolate/_bsplines.py +3670 -0
- scirs-0.1.3/python/scicore/interpolate/_cubic.py +1069 -0
- scirs-0.1.3/python/scicore/interpolate/_dierckx.py +27 -0
- scirs-0.1.3/python/scicore/interpolate/_fitpack.py +12 -0
- scirs-0.1.3/python/scicore/interpolate/_fitpack2.py +2798 -0
- scirs-0.1.3/python/scicore/interpolate/_fitpack_impl.py +830 -0
- scirs-0.1.3/python/scicore/interpolate/_fitpack_py.py +909 -0
- scirs-0.1.3/python/scicore/interpolate/_fitpack_repro.py +1361 -0
- scirs-0.1.3/python/scicore/interpolate/_interpnd.py +44 -0
- scirs-0.1.3/python/scicore/interpolate/_interpnd_info.py +37 -0
- scirs-0.1.3/python/scicore/interpolate/_interpolate.py +2778 -0
- scirs-0.1.3/python/scicore/interpolate/_ndbspline.py +727 -0
- scirs-0.1.3/python/scicore/interpolate/_ndgriddata.py +345 -0
- scirs-0.1.3/python/scicore/interpolate/_pade.py +80 -0
- scirs-0.1.3/python/scicore/interpolate/_poly_common.pxi +92 -0
- scirs-0.1.3/python/scicore/interpolate/_polyint.py +1051 -0
- scirs-0.1.3/python/scicore/interpolate/_ppoly.py +38 -0
- scirs-0.1.3/python/scicore/interpolate/_rbf.py +292 -0
- scirs-0.1.3/python/scicore/interpolate/_rbfinterp.py +576 -0
- scirs-0.1.3/python/scicore/interpolate/_rbfinterp_common.py +32 -0
- scirs-0.1.3/python/scicore/interpolate/_rbfinterp_np.py +147 -0
- scirs-0.1.3/python/scicore/interpolate/_rbfinterp_pythran.py +213 -0
- scirs-0.1.3/python/scicore/interpolate/_rbfinterp_xp.py +289 -0
- scirs-0.1.3/python/scicore/interpolate/_regrid.py +1109 -0
- scirs-0.1.3/python/scicore/interpolate/_rgi.py +858 -0
- scirs-0.1.3/python/scicore/interpolate/_rgi_cython.py +38 -0
- scirs-0.1.3/python/scicore/io/__init__.py +118 -0
- scirs-0.1.3/python/scicore/io/_fast_matrix_market/LICENSE.txt +9 -0
- scirs-0.1.3/python/scicore/io/_fast_matrix_market/README.md +71 -0
- scirs-0.1.3/python/scicore/io/_fast_matrix_market/__init__.py +660 -0
- scirs-0.1.3/python/scicore/io/_fortran.py +355 -0
- scirs-0.1.3/python/scicore/io/_harwell_boeing/__init__.py +7 -0
- scirs-0.1.3/python/scicore/io/_harwell_boeing/_fortran_format_parser.py +316 -0
- scirs-0.1.3/python/scicore/io/_harwell_boeing/hb.py +606 -0
- scirs-0.1.3/python/scicore/io/_idl.py +917 -0
- scirs-0.1.3/python/scicore/io/_mmio.py +1011 -0
- scirs-0.1.3/python/scicore/io/_netcdf.py +1103 -0
- scirs-0.1.3/python/scicore/io/arff/__init__.py +25 -0
- scirs-0.1.3/python/scicore/io/arff/_arffread.py +893 -0
- scirs-0.1.3/python/scicore/io/matlab/__init__.py +62 -0
- scirs-0.1.3/python/scicore/io/matlab/_byteordercodes.py +75 -0
- scirs-0.1.3/python/scicore/io/matlab/_mio.py +419 -0
- scirs-0.1.3/python/scicore/io/matlab/_mio4.py +632 -0
- scirs-0.1.3/python/scicore/io/matlab/_mio5.py +918 -0
- scirs-0.1.3/python/scicore/io/matlab/_mio5_params.py +298 -0
- scirs-0.1.3/python/scicore/io/matlab/_mio5_utils.py +24 -0
- scirs-0.1.3/python/scicore/io/matlab/_mio_utils.py +34 -0
- scirs-0.1.3/python/scicore/io/matlab/_miobase.py +435 -0
- scirs-0.1.3/python/scicore/io/matlab/_streams.py +35 -0
- scirs-0.1.3/python/scicore/io/wavfile.py +944 -0
- scirs-0.1.3/python/scicore/linalg/__init__.py +228 -0
- scirs-0.1.3/python/scicore/linalg/_basic.py +2133 -0
- scirs-0.1.3/python/scicore/linalg/_batched_linalg.py +154 -0
- scirs-0.1.3/python/scicore/linalg/_cython_signature_generator.py +211 -0
- scirs-0.1.3/python/scicore/linalg/_cythonized_array_utils.py +197 -0
- scirs-0.1.3/python/scicore/linalg/_cythonized_array_utils.pyi +14 -0
- scirs-0.1.3/python/scicore/linalg/_decomp.py +1674 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_cholesky.py +473 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_cossin.py +235 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_interpolative.py +17 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_ldl.py +354 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_lu.py +377 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_polar.py +118 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_qr.py +559 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_qz.py +476 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_schur.py +363 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_svd.py +607 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_update.py +350 -0
- scirs-0.1.3/python/scicore/linalg/_decomp_update.pyx.in +2350 -0
- scirs-0.1.3/python/scicore/linalg/_expm_frechet.py +420 -0
- scirs-0.1.3/python/scicore/linalg/_fblas.py +89 -0
- scirs-0.1.3/python/scicore/linalg/_flapack.py +113 -0
- scirs-0.1.3/python/scicore/linalg/_generate_pyx.py +788 -0
- scirs-0.1.3/python/scicore/linalg/_internal_matfuncs.py +230 -0
- scirs-0.1.3/python/scicore/linalg/_linalg_pythran.py +20 -0
- scirs-0.1.3/python/scicore/linalg/_matfuncs.py +915 -0
- scirs-0.1.3/python/scicore/linalg/_matfuncs_inv_ssq.py +885 -0
- scirs-0.1.3/python/scicore/linalg/_matfuncs_sqrtm.py +108 -0
- scirs-0.1.3/python/scicore/linalg/_matfuncs_sqrtm_triu.py +23 -0
- scirs-0.1.3/python/scicore/linalg/_misc.py +275 -0
- scirs-0.1.3/python/scicore/linalg/_procrustes.py +120 -0
- scirs-0.1.3/python/scicore/linalg/_sketches.py +210 -0
- scirs-0.1.3/python/scicore/linalg/_solve_toeplitz.py +153 -0
- scirs-0.1.3/python/scicore/linalg/_solvers.py +884 -0
- scirs-0.1.3/python/scicore/linalg/_special_matrices.py +1307 -0
- scirs-0.1.3/python/scicore/linalg/_testutils.py +73 -0
- scirs-0.1.3/python/scicore/linalg/blas.py +571 -0
- scirs-0.1.3/python/scicore/linalg/cython_blas_signatures.txt +151 -0
- scirs-0.1.3/python/scicore/linalg/cython_lapack_signatures.txt +1859 -0
- scirs-0.1.3/python/scicore/linalg/interpolative.py +959 -0
- scirs-0.1.3/python/scicore/linalg/lapack.py +1174 -0
- scirs-0.1.3/python/scicore/ndimage/LICENSE.txt +28 -0
- scirs-0.1.3/python/scicore/ndimage/__init__.py +165 -0
- scirs-0.1.3/python/scicore/ndimage/_delegators.py +303 -0
- scirs-0.1.3/python/scicore/ndimage/_filters.py +2460 -0
- scirs-0.1.3/python/scicore/ndimage/_fourier.py +306 -0
- scirs-0.1.3/python/scicore/ndimage/_interpolation.py +1033 -0
- scirs-0.1.3/python/scicore/ndimage/_measurements.py +1689 -0
- scirs-0.1.3/python/scicore/ndimage/_morphology.py +2633 -0
- scirs-0.1.3/python/scicore/ndimage/_nd_image.py +68 -0
- scirs-0.1.3/python/scicore/ndimage/_ndimage_api.py +16 -0
- scirs-0.1.3/python/scicore/ndimage/_ni_docstrings.py +220 -0
- scirs-0.1.3/python/scicore/ndimage/_ni_label.py +48 -0
- scirs-0.1.3/python/scicore/ndimage/_ni_support.py +139 -0
- scirs-0.1.3/python/scicore/ndimage/_rank_filter_1d.py +35 -0
- scirs-0.1.3/python/scicore/ndimage/_support_alternative_backends.py +127 -0
- scirs-0.1.3/python/scicore/ndimage/utils/generate_label_testvectors.py +44 -0
- scirs-0.1.3/python/scicore/optimize/__init__.py +456 -0
- scirs-0.1.3/python/scicore/optimize/_basinhopping.py +742 -0
- scirs-0.1.3/python/scicore/optimize/_bglu_dense.py +32 -0
- scirs-0.1.3/python/scicore/optimize/_biteopt.py +17 -0
- scirs-0.1.3/python/scicore/optimize/_biteopt_py.py +267 -0
- scirs-0.1.3/python/scicore/optimize/_bracket.py +742 -0
- scirs-0.1.3/python/scicore/optimize/_chandrupatla.py +571 -0
- scirs-0.1.3/python/scicore/optimize/_cobyla_py.py +296 -0
- scirs-0.1.3/python/scicore/optimize/_cobyqa_py.py +68 -0
- scirs-0.1.3/python/scicore/optimize/_constraints.py +649 -0
- scirs-0.1.3/python/scicore/optimize/_dcsrch.py +728 -0
- scirs-0.1.3/python/scicore/optimize/_differentiable_functions.py +844 -0
- scirs-0.1.3/python/scicore/optimize/_differentialevolution.py +2038 -0
- scirs-0.1.3/python/scicore/optimize/_direct/AUTHORS +2 -0
- scirs-0.1.3/python/scicore/optimize/_direct/COPYING +28 -0
- scirs-0.1.3/python/scicore/optimize/_direct/README +37 -0
- scirs-0.1.3/python/scicore/optimize/_direct.py +18 -0
- scirs-0.1.3/python/scicore/optimize/_direct_py.py +282 -0
- scirs-0.1.3/python/scicore/optimize/_dual_annealing.py +743 -0
- scirs-0.1.3/python/scicore/optimize/_elementwise.py +899 -0
- scirs-0.1.3/python/scicore/optimize/_group_columns.py +18 -0
- scirs-0.1.3/python/scicore/optimize/_hessian_update_strategy.py +479 -0
- scirs-0.1.3/python/scicore/optimize/_highspy/__init__.py +0 -0
- scirs-0.1.3/python/scicore/optimize/_highspy/_core.py +33 -0
- scirs-0.1.3/python/scicore/optimize/_highspy/_highs_options.py +16 -0
- scirs-0.1.3/python/scicore/optimize/_highspy/_highs_wrapper.py +339 -0
- scirs-0.1.3/python/scicore/optimize/_isotonic.py +157 -0
- scirs-0.1.3/python/scicore/optimize/_lbfgsb.py +19 -0
- scirs-0.1.3/python/scicore/optimize/_lbfgsb_py.py +585 -0
- scirs-0.1.3/python/scicore/optimize/_linesearch.py +917 -0
- scirs-0.1.3/python/scicore/optimize/_linprog.py +734 -0
- scirs-0.1.3/python/scicore/optimize/_linprog_doc.py +1434 -0
- scirs-0.1.3/python/scicore/optimize/_linprog_highs.py +422 -0
- scirs-0.1.3/python/scicore/optimize/_linprog_ip.py +1144 -0
- scirs-0.1.3/python/scicore/optimize/_linprog_rs.py +572 -0
- scirs-0.1.3/python/scicore/optimize/_linprog_simplex.py +663 -0
- scirs-0.1.3/python/scicore/optimize/_linprog_util.py +1521 -0
- scirs-0.1.3/python/scicore/optimize/_lsap.py +17 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/__init__.py +5 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/bvls.py +183 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/common.py +731 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/dogbox.py +345 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/givens_elimination.py +23 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/least_squares.py +1045 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/lsq_linear.py +363 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/trf.py +587 -0
- scirs-0.1.3/python/scicore/optimize/_lsq/trf_linear.py +249 -0
- scirs-0.1.3/python/scicore/optimize/_milp.py +395 -0
- scirs-0.1.3/python/scicore/optimize/_minimize.py +1201 -0
- scirs-0.1.3/python/scicore/optimize/_minpack.py +26 -0
- scirs-0.1.3/python/scicore/optimize/_minpack_py.py +1186 -0
- scirs-0.1.3/python/scicore/optimize/_moduleTNC.py +12 -0
- scirs-0.1.3/python/scicore/optimize/_nnls.py +92 -0
- scirs-0.1.3/python/scicore/optimize/_nonlin.py +1657 -0
- scirs-0.1.3/python/scicore/optimize/_numdiff.py +996 -0
- scirs-0.1.3/python/scicore/optimize/_optimize.py +4171 -0
- scirs-0.1.3/python/scicore/optimize/_pava_pybind.py +16 -0
- scirs-0.1.3/python/scicore/optimize/_qap.py +717 -0
- scirs-0.1.3/python/scicore/optimize/_remove_redundancy.py +522 -0
- scirs-0.1.3/python/scicore/optimize/_root.py +733 -0
- scirs-0.1.3/python/scicore/optimize/_root_scalar.py +537 -0
- scirs-0.1.3/python/scicore/optimize/_shgo.py +1625 -0
- scirs-0.1.3/python/scicore/optimize/_shgo_lib/__init__.py +0 -0
- scirs-0.1.3/python/scicore/optimize/_shgo_lib/_complex.py +1225 -0
- scirs-0.1.3/python/scicore/optimize/_shgo_lib/_vertex.py +460 -0
- scirs-0.1.3/python/scicore/optimize/_slsqp_py.py +616 -0
- scirs-0.1.3/python/scicore/optimize/_slsqplib.py +22 -0
- scirs-0.1.3/python/scicore/optimize/_spectral.py +259 -0
- scirs-0.1.3/python/scicore/optimize/_tnc.py +437 -0
- scirs-0.1.3/python/scicore/optimize/_trlib/__init__.py +12 -0
- scirs-0.1.3/python/scicore/optimize/_trlib/_trlib.py +31 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion.py +331 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/__init__.py +6 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/canonical_constraint.py +390 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/equality_constrained_sqp.py +231 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/minimize_trustregion_constr.py +586 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/projections.py +411 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/qp_subproblem.py +637 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/report.py +49 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_constr/tr_interior_point.py +369 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_dogleg.py +122 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_exact.py +459 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_krylov.py +65 -0
- scirs-0.1.3/python/scicore/optimize/_trustregion_ncg.py +126 -0
- scirs-0.1.3/python/scicore/optimize/_tstutils.py +992 -0
- scirs-0.1.3/python/scicore/optimize/_zeros.py +36 -0
- scirs-0.1.3/python/scicore/optimize/_zeros_py.py +1487 -0
- scirs-0.1.3/python/scicore/optimize/cython_optimize/__init__.py +133 -0
- scirs-0.1.3/python/scicore/optimize/cython_optimize/_zeros.pyx.in +159 -0
- scirs-0.1.3/python/scicore/optimize/elementwise.py +38 -0
- scirs-0.1.3/python/scicore/optimize/tnc/HISTORY +30 -0
- scirs-0.1.3/python/scicore/optimize/tnc/LICENSE +20 -0
- scirs-0.1.3/python/scicore/optimize/tnc/README +67 -0
- scirs-0.1.3/python/scicore/scipy_config.h.in +19 -0
- scirs-0.1.3/python/scicore/signal/__init__.py +322 -0
- scirs-0.1.3/python/scicore/signal/_arraytools.py +264 -0
- scirs-0.1.3/python/scicore/signal/_convolve2d.py +44 -0
- scirs-0.1.3/python/scicore/signal/_correlate_nd.py +53 -0
- scirs-0.1.3/python/scicore/signal/_czt.py +561 -0
- scirs-0.1.3/python/scicore/signal/_delegators.py +572 -0
- scirs-0.1.3/python/scicore/signal/_filter_design.py +6354 -0
- scirs-0.1.3/python/scicore/signal/_fir_filter_design.py +1567 -0
- scirs-0.1.3/python/scicore/signal/_lfilter.py +81 -0
- scirs-0.1.3/python/scicore/signal/_lti_conversion.py +586 -0
- scirs-0.1.3/python/scicore/signal/_ltisys.py +3853 -0
- scirs-0.1.3/python/scicore/signal/_max_len_seq.py +139 -0
- scirs-0.1.3/python/scicore/signal/_max_len_seq_inner.py +16 -0
- scirs-0.1.3/python/scicore/signal/_medfilt2d.py +18 -0
- scirs-0.1.3/python/scicore/signal/_peak_finding.py +1307 -0
- scirs-0.1.3/python/scicore/signal/_peak_finding_utils_rs.py +97 -0
- scirs-0.1.3/python/scicore/signal/_polyutils.py +258 -0
- scirs-0.1.3/python/scicore/signal/_remez.py +5 -0
- scirs-0.1.3/python/scicore/signal/_savitzky_golay.py +390 -0
- scirs-0.1.3/python/scicore/signal/_short_time_fft.py +2291 -0
- scirs-0.1.3/python/scicore/signal/_signal_api.py +31 -0
- scirs-0.1.3/python/scicore/signal/_signaltools.py +5527 -0
- scirs-0.1.3/python/scicore/signal/_sosfilt.py +33 -0
- scirs-0.1.3/python/scicore/signal/_spectral_py.py +2475 -0
- scirs-0.1.3/python/scicore/signal/_spline.py +116 -0
- scirs-0.1.3/python/scicore/signal/_spline.pyi +34 -0
- scirs-0.1.3/python/scicore/signal/_spline_filters.py +854 -0
- scirs-0.1.3/python/scicore/signal/_support_alternative_backends.py +400 -0
- scirs-0.1.3/python/scicore/signal/_upfirdn.py +220 -0
- scirs-0.1.3/python/scicore/signal/_upfirdn_apply.py +63 -0
- scirs-0.1.3/python/scicore/signal/_waveforms.py +695 -0
- scirs-0.1.3/python/scicore/signal/_wavelets.py +29 -0
- scirs-0.1.3/python/scicore/signal/_whittaker.py +451 -0
- scirs-0.1.3/python/scicore/signal/docs/signaltools.README +94 -0
- scirs-0.1.3/python/scicore/signal/windows/__init__.py +49 -0
- scirs-0.1.3/python/scicore/signal/windows/_windows.py +2780 -0
- scirs-0.1.3/python/scicore/sparse/__init__.py +290 -0
- scirs-0.1.3/python/scicore/sparse/_base.py +1795 -0
- scirs-0.1.3/python/scicore/sparse/_bsr.py +915 -0
- scirs-0.1.3/python/scicore/sparse/_compressed.py +1355 -0
- scirs-0.1.3/python/scicore/sparse/_construct.py +1898 -0
- scirs-0.1.3/python/scicore/sparse/_coo.py +1966 -0
- scirs-0.1.3/python/scicore/sparse/_csc.py +416 -0
- scirs-0.1.3/python/scicore/sparse/_csparsetools.py +37 -0
- scirs-0.1.3/python/scicore/sparse/_csparsetools.pyx.in +466 -0
- scirs-0.1.3/python/scicore/sparse/_csr.py +614 -0
- scirs-0.1.3/python/scicore/sparse/_data.py +583 -0
- scirs-0.1.3/python/scicore/sparse/_dia.py +745 -0
- scirs-0.1.3/python/scicore/sparse/_dok.py +841 -0
- scirs-0.1.3/python/scicore/sparse/_extract.py +247 -0
- scirs-0.1.3/python/scicore/sparse/_generate_sparsetools.py +453 -0
- scirs-0.1.3/python/scicore/sparse/_index.py +487 -0
- scirs-0.1.3/python/scicore/sparse/_lil.py +869 -0
- scirs-0.1.3/python/scicore/sparse/_matrix.py +200 -0
- scirs-0.1.3/python/scicore/sparse/_matrix_io.py +174 -0
- scirs-0.1.3/python/scicore/sparse/_sparsetools.py +294 -0
- scirs-0.1.3/python/scicore/sparse/_spfuncs.py +76 -0
- scirs-0.1.3/python/scicore/sparse/_sputils.py +629 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/__init__.py +210 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_flow.py +11 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_laplacian.py +563 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_matching.py +15 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_min_spanning_tree.py +11 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_reordering.py +15 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_shortest_path.py +48 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_tools.py +37 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_traversal.py +38 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/_validation.py +71 -0
- scirs-0.1.3/python/scicore/sparse/csgraph/parameters.pxi +19 -0
- scirs-0.1.3/python/scicore/sparse/linalg/__init__.py +147 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/License.txt +29 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/README +193 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/README.scipy +18 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/SRC/superlu_config.h.in +24 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/scipychanges.patch +20 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/SuperLU/scipychanges_blas.patch +1333 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/__init__.py +71 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/_add_newdocs.py +147 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/_superlu.py +50 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_dsolve/linsolve.py +933 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/__init__.py +22 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/_svds.py +535 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/_svds_doc.py +382 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/__init__.py +20 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/_arpacklib.py +29 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/ARPACK_LICENSE.txt +91 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/LICENSE +26 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/Makefile +195 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arnaud/README +92 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/arpack/arpack.py +1790 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/lobpcg/__init__.py +16 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_eigen/lobpcg/lobpcg.py +1109 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_expm_multiply.py +816 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_funm_multiply_krylov.py +340 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_interface.py +1273 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/__init__.py +20 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/_gcrotmk.py +506 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/iterative.py +1058 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/lgmres.py +232 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/lsmr.py +494 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/lsqr.py +591 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/minres.py +379 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/tfqmr.py +182 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_isolve/utils.py +123 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_matfuncs.py +939 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_norm.py +201 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_onenormest.py +376 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_propack/PROPACK/LICENSE +26 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_propack/PROPACK/PROPACK_LICENSE.txt +52 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_propack/PROPACK/README +27 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_propack/__init__.py +21 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_propack/_propack.py +21 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_special_sparse_arrays.py +950 -0
- scirs-0.1.3/python/scicore/sparse/linalg/_svdp.py +304 -0
- scirs-0.1.3/python/scicore/sparse/sparsetools/bsr.cxx +9 -0
- scirs-0.1.3/python/scicore/sparse/sparsetools/csc.cxx +9 -0
- scirs-0.1.3/python/scicore/sparse/sparsetools/csr.cxx +41 -0
- scirs-0.1.3/python/scicore/sparse/sparsetools/other.cxx +11 -0
- scirs-0.1.3/python/scicore/sparse/sparsetools/sparsetools.cxx +598 -0
- scirs-0.1.3/python/scicore/spatial/COPYING_QHULL.txt +39 -0
- scirs-0.1.3/python/scicore/spatial/__init__.py +127 -0
- scirs-0.1.3/python/scicore/spatial/_ckdtree.py +61 -0
- scirs-0.1.3/python/scicore/spatial/_geometric_slerp.py +258 -0
- scirs-0.1.3/python/scicore/spatial/_kdtree.py +1062 -0
- scirs-0.1.3/python/scicore/spatial/_plotutils.py +268 -0
- scirs-0.1.3/python/scicore/spatial/_procrustes.py +138 -0
- scirs-0.1.3/python/scicore/spatial/_qhull.py +42 -0
- scirs-0.1.3/python/scicore/spatial/_qhull.pyi +213 -0
- scirs-0.1.3/python/scicore/spatial/_spherical_voronoi.py +336 -0
- scirs-0.1.3/python/scicore/spatial/_voronoi.py +17 -0
- scirs-0.1.3/python/scicore/spatial/_voronoi.pyi +4 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/build.cxx +250 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/count_neighbors.cxx +291 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/query.cxx +515 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/query_ball_point.cxx +145 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/query_ball_tree.cxx +201 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/query_pairs.cxx +220 -0
- scirs-0.1.3/python/scicore/spatial/ckdtree/src/sparse_distances.cxx +142 -0
- scirs-0.1.3/python/scicore/spatial/distance/__init__.py +129 -0
- scirs-0.1.3/python/scicore/spatial/distance/_distance.py +2902 -0
- scirs-0.1.3/python/scicore/spatial/distance/_distance.pyi +200 -0
- scirs-0.1.3/python/scicore/spatial/distance/_distance_pybind.py +293 -0
- scirs-0.1.3/python/scicore/spatial/distance/_distance_wrap.py +118 -0
- scirs-0.1.3/python/scicore/spatial/distance/_hausdorff.py +60 -0
- scirs-0.1.3/python/scicore/spatial/qhull_misc_README.txt +42 -0
- scirs-0.1.3/python/scicore/spatial/transform/__init__.py +28 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rigid_transform.py +1973 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rigid_transform_cy.py +12 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rigid_transform_xp.py +448 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rotation.py +2861 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rotation_cy.py +12 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rotation_groups.py +140 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rotation_spline.py +468 -0
- scirs-0.1.3/python/scicore/spatial/transform/_rotation_xp.py +1152 -0
- scirs-0.1.3/python/scicore/special/__init__.py +858 -0
- scirs-0.1.3/python/scicore/special/_add_newdocs.py +2039 -0
- scirs-0.1.3/python/scicore/special/_basic.py +3824 -0
- scirs-0.1.3/python/scicore/special/_ellip_harm.py +216 -0
- scirs-0.1.3/python/scicore/special/_ellip_harm_2.py +19 -0
- scirs-0.1.3/python/scicore/special/_generate_pyx.py +1083 -0
- scirs-0.1.3/python/scicore/special/_gufuncs.py +74 -0
- scirs-0.1.3/python/scicore/special/_input_validation.py +17 -0
- scirs-0.1.3/python/scicore/special/_lambertw.py +149 -0
- scirs-0.1.3/python/scicore/special/_logsumexp.py +420 -0
- scirs-0.1.3/python/scicore/special/_mathieu.py +168 -0
- scirs-0.1.3/python/scicore/special/_mptestutils.py +453 -0
- scirs-0.1.3/python/scicore/special/_multiufuncs.py +744 -0
- scirs-0.1.3/python/scicore/special/_orthogonal.py +3682 -0
- scirs-0.1.3/python/scicore/special/_precompute/__init__.py +0 -0
- scirs-0.1.3/python/scicore/special/_precompute/expn_asy.py +54 -0
- scirs-0.1.3/python/scicore/special/_precompute/gammainc_asy.py +116 -0
- scirs-0.1.3/python/scicore/special/_precompute/gammainc_data.py +124 -0
- scirs-0.1.3/python/scicore/special/_precompute/hyp2f1_data.py +484 -0
- scirs-0.1.3/python/scicore/special/_precompute/utils.py +38 -0
- scirs-0.1.3/python/scicore/special/_precompute/wright_bessel_data.py +152 -0
- scirs-0.1.3/python/scicore/special/_sf_error.py +15 -0
- scirs-0.1.3/python/scicore/special/_specfun.py +32 -0
- scirs-0.1.3/python/scicore/special/_special_ufuncs.py +52 -0
- scirs-0.1.3/python/scicore/special/_spfun_stats.py +223 -0
- scirs-0.1.3/python/scicore/special/_spherical_bessel.py +363 -0
- scirs-0.1.3/python/scicore/special/_support_alternative_backends.py +1309 -0
- scirs-0.1.3/python/scicore/special/_testutils.py +321 -0
- scirs-0.1.3/python/scicore/special/_ufunc_tools.py +717 -0
- scirs-0.1.3/python/scicore/special/_ufuncs.py +449 -0
- scirs-0.1.3/python/scicore/special/_ufuncs.pyi +523 -0
- scirs-0.1.3/python/scicore/special/_ufuncs_extra_code.pxi +234 -0
- scirs-0.1.3/python/scicore/special/_ufuncs_extra_code_common.pxi +31 -0
- scirs-0.1.3/python/scicore/special/cython_special.pyi +3 -0
- scirs-0.1.3/python/scicore/special/functions.json +206 -0
- scirs-0.1.3/python/scicore/special/utils/README.md +29 -0
- scirs-0.1.3/python/scicore/special/utils/convert.py +125 -0
- scirs-0.1.3/python/scicore/special/utils/datafunc.py +61 -0
- scirs-0.1.3/python/scicore/special/utils/makenpz.py +88 -0
- scirs-0.1.3/python/scicore/stats/__init__.py +658 -0
- scirs-0.1.3/python/scicore/stats/_ansari_swilk_statistics.py +23 -0
- scirs-0.1.3/python/scicore/stats/_axis_nan_policy.py +762 -0
- scirs-0.1.3/python/scicore/stats/_biasedurn.py +28 -0
- scirs-0.1.3/python/scicore/stats/_binned_statistic.py +806 -0
- scirs-0.1.3/python/scicore/stats/_binomtest.py +418 -0
- scirs-0.1.3/python/scicore/stats/_bws_test.py +206 -0
- scirs-0.1.3/python/scicore/stats/_censored_data.py +468 -0
- scirs-0.1.3/python/scicore/stats/_circstats.py +779 -0
- scirs-0.1.3/python/scicore/stats/_common.py +5 -0
- scirs-0.1.3/python/scicore/stats/_constants.py +42 -0
- scirs-0.1.3/python/scicore/stats/_continued_fraction.py +390 -0
- scirs-0.1.3/python/scicore/stats/_continuous_distns.py +12675 -0
- scirs-0.1.3/python/scicore/stats/_correlation.py +738 -0
- scirs-0.1.3/python/scicore/stats/_covariance.py +672 -0
- scirs-0.1.3/python/scicore/stats/_crosstab.py +200 -0
- scirs-0.1.3/python/scicore/stats/_discrete_distns.py +2115 -0
- scirs-0.1.3/python/scicore/stats/_distn_infrastructure.py +4272 -0
- scirs-0.1.3/python/scicore/stats/_distr_params.py +304 -0
- scirs-0.1.3/python/scicore/stats/_distribution_infrastructure.py +6216 -0
- scirs-0.1.3/python/scicore/stats/_entropy.py +432 -0
- scirs-0.1.3/python/scicore/stats/_finite_differences.py +145 -0
- scirs-0.1.3/python/scicore/stats/_fit.py +1349 -0
- scirs-0.1.3/python/scicore/stats/_hypotests.py +2214 -0
- scirs-0.1.3/python/scicore/stats/_kde.py +765 -0
- scirs-0.1.3/python/scicore/stats/_ksstats.py +600 -0
- scirs-0.1.3/python/scicore/stats/_levy_stable/__init__.py +1247 -0
- scirs-0.1.3/python/scicore/stats/_levy_stable/levyst.py +3 -0
- scirs-0.1.3/python/scicore/stats/_mannwhitneyu.py +547 -0
- scirs-0.1.3/python/scicore/stats/_mgc.py +552 -0
- scirs-0.1.3/python/scicore/stats/_morestats.py +4616 -0
- scirs-0.1.3/python/scicore/stats/_mstats_basic.py +3836 -0
- scirs-0.1.3/python/scicore/stats/_mstats_extras.py +520 -0
- scirs-0.1.3/python/scicore/stats/_multicomp.py +457 -0
- scirs-0.1.3/python/scicore/stats/_multivariate.py +8042 -0
- scirs-0.1.3/python/scicore/stats/_new_distributions.py +707 -0
- scirs-0.1.3/python/scicore/stats/_odds_ratio.py +468 -0
- scirs-0.1.3/python/scicore/stats/_page_trend_test.py +488 -0
- scirs-0.1.3/python/scicore/stats/_probability_distribution.py +2255 -0
- scirs-0.1.3/python/scicore/stats/_qmc.py +2956 -0
- scirs-0.1.3/python/scicore/stats/_qmc_cy.py +79 -0
- scirs-0.1.3/python/scicore/stats/_qmc_cy.pyi +54 -0
- scirs-0.1.3/python/scicore/stats/_qmvnt.py +500 -0
- scirs-0.1.3/python/scicore/stats/_qmvnt_cy.py +41 -0
- scirs-0.1.3/python/scicore/stats/_quantile.py +817 -0
- scirs-0.1.3/python/scicore/stats/_rcont/__init__.py +4 -0
- scirs-0.1.3/python/scicore/stats/_rcont/rcont.py +45 -0
- scirs-0.1.3/python/scicore/stats/_relative_risk.py +265 -0
- scirs-0.1.3/python/scicore/stats/_resampling.py +2426 -0
- scirs-0.1.3/python/scicore/stats/_result_classes.py +40 -0
- scirs-0.1.3/python/scicore/stats/_sampling.py +1319 -0
- scirs-0.1.3/python/scicore/stats/_sensitivity_analysis.py +716 -0
- scirs-0.1.3/python/scicore/stats/_sobol.py +211 -0
- scirs-0.1.3/python/scicore/stats/_sobol.pyi +54 -0
- scirs-0.1.3/python/scicore/stats/_sobol_direction_numbers.npz +0 -0
- scirs-0.1.3/python/scicore/stats/_stats.py +184 -0
- scirs-0.1.3/python/scicore/stats/_stats_mstats_common.py +35 -0
- scirs-0.1.3/python/scicore/stats/_stats_py.py +11351 -0
- scirs-0.1.3/python/scicore/stats/_stats_pythran.py +180 -0
- scirs-0.1.3/python/scicore/stats/_survival.py +687 -0
- scirs-0.1.3/python/scicore/stats/_tukeylambda_stats.py +199 -0
- scirs-0.1.3/python/scicore/stats/_unuran/__init__.py +0 -0
- scirs-0.1.3/python/scicore/stats/_unuran/unuran_wrapper.pyi +179 -0
- scirs-0.1.3/python/scicore/stats/_variation.py +133 -0
- scirs-0.1.3/python/scicore/stats/_warnings_errors.py +62 -0
- scirs-0.1.3/python/scicore/stats/_wilcoxon.py +284 -0
- scirs-0.1.3/python/scicore/stats/biasedurn/license.txt +31 -0
- scirs-0.1.3/python/scicore/stats/contingency.py +567 -0
- scirs-0.1.3/python/scicore/stats/distributions.py +24 -0
- scirs-0.1.3/python/scicore/stats/libnpyrandom/README.md +5 -0
- scirs-0.1.3/python/scicore/stats/mstats.py +245 -0
- scirs-0.1.3/python/scicore/stats/qmc.py +235 -0
- scirs-0.1.3/python/scicore/stats/sampling.py +73 -0
- scirs-0.1.3/python/scicore/version.py +3 -0
- scirs-0.1.3/rust/Cargo.lock +155 -0
- scirs-0.1.3/rust/Cargo.toml +23 -0
- scirs-0.1.3/rust/src/array_utils.rs +218 -0
- scirs-0.1.3/rust/src/ccallback.rs +315 -0
- scirs-0.1.3/rust/src/column_grouping.rs +142 -0
- scirs-0.1.3/rust/src/convolve2d.rs +332 -0
- scirs-0.1.3/rust/src/correlate_nd.rs +502 -0
- scirs-0.1.3/rust/src/fblas.rs +706 -0
- scirs-0.1.3/rust/src/fftpack_convolve.rs +177 -0
- scirs-0.1.3/rust/src/flapack.rs +878 -0
- scirs-0.1.3/rust/src/fmm/format.rs +79 -0
- scirs-0.1.3/rust/src/fmm/mod.rs +443 -0
- scirs-0.1.3/rust/src/fmm/parse.rs +394 -0
- scirs-0.1.3/rust/src/fpumode.rs +32 -0
- scirs-0.1.3/rust/src/givens_elimination.rs +103 -0
- scirs-0.1.3/rust/src/graph_tools.rs +165 -0
- scirs-0.1.3/rust/src/hausdorff.rs +105 -0
- scirs-0.1.3/rust/src/levy_stable.rs +157 -0
- scirs-0.1.3/rust/src/lfilter.rs +188 -0
- scirs-0.1.3/rust/src/lib.rs +158 -0
- scirs-0.1.3/rust/src/max_len_seq_inner.rs +182 -0
- scirs-0.1.3/rust/src/median_filter_2d.rs +133 -0
- scirs-0.1.3/rust/src/mio_utils.rs +57 -0
- scirs-0.1.3/rust/src/ndimage_label.rs +172 -0
- scirs-0.1.3/rust/src/peak_finding_utils.rs +441 -0
- scirs-0.1.3/rust/src/qmc.rs +428 -0
- scirs-0.1.3/rust/src/qmvnt.rs +277 -0
- scirs-0.1.3/rust/src/rank_filter_1d.rs +131 -0
- scirs-0.1.3/rust/src/rcont.rs +318 -0
- scirs-0.1.3/rust/src/remez.rs +532 -0
- scirs-0.1.3/rust/src/reordering.rs +109 -0
- scirs-0.1.3/rust/src/rgi.rs +211 -0
- scirs-0.1.3/rust/src/sobol.rs +449 -0
- scirs-0.1.3/rust/src/sosfilt.rs +233 -0
- scirs-0.1.3/rust/src/spherical_voronoi.rs +107 -0
- scirs-0.1.3/rust/src/spline.rs +461 -0
- scirs-0.1.3/rust/src/upfirdn_apply.rs +458 -0
- scirs-0.1.3/rust/src/vq.rs +194 -0
scirs-0.1.3/LICENSE.txt
ADDED
|
@@ -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
|
+
)
|