Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/ ZENODOarrow_drop_down
image/svg+xml art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos Open Access logo, converted into svg, designed by PLoS. This version with transparent background. http://commons.wikimedia.org/wiki/File:Open_Access_logo_PLoS_white.svg art designer at PLoS, modified by Wikipedia users Nina, Beao, JakobVoss, and AnonMoos http://www.plos.org/
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

scipy/scipy: SciPy 1.15.0rc2

Authors: Ralf Gommers; Pauli Virtanen; Matt Haberland; Evgeni Burovski; Tyler Reddy; Warren Weckesser; Travis E. Oliphant; +23 Authors

scipy/scipy: SciPy 1.15.0rc2

Abstract

SciPy 1.15.0 Release Notes Note: SciPy 1.15.0 is not released yet! SciPy 1.15.0 is the culmination of 6 months of hard work. It contains many new features, numerous bug-fixes, improved test coverage and better documentation. There have been a number of deprecations and API changes in this release, which are documented below. All users are encouraged to upgrade to this release, as there are a large number of bug-fixes and optimizations. Before upgrading, we recommend that users check that their own code does not use deprecated SciPy functionality (to do so, run your code with python -Wd and check for DeprecationWarning s). Our development attention will now shift to bug-fix releases on the 1.15.x branch, and on adding new features on the main branch. This release requires Python 3.10-3.13 and NumPy 1.23.5 or greater. Highlights of this release Sparse arrays are now fully functional for 1-D and 2-D arrays. We recommend that all new code use sparse arrays instead of sparse matrices and that developers start to migrate their existing code from sparse matrix to sparse array: migration_to_sparray. Both sparse.linalg and sparse.csgraph work with either sparse matrix or sparse array and work internally with sparse array. Sparse arrays now provide basic support for n-D arrays in the COO format including add, subtract, reshape, transpose, matmul, dot, tensordot and others. More functionality is coming in future releases. Preliminary support for free-threaded Python 3.13. New probability distribution features in scipy.stats can be used to improve the speed and accuracy of existing continuous distributions and perform new probability calculations. Several new features support vectorized calculations with Python Array API Standard compatible input (see "Array API Standard Support" below): scipy.differentiate is a new top-level submodule for accurate estimation of derivatives of black box functions. scipy.optimize.elementwise contains new functions for root-finding and minimization of univariate functions. scipy.integrate offers new functions cubature, tanhsinh, and nsum for multivariate integration, univariate integration, and univariate series summation, respectively. scipy.interpolate.AAA adds the AAA algorithm for barycentric rational approximation of real or complex functions. scipy.special adds new functions offering improved Legendre function implementations with a more consistent interface. New features scipy.differentiate introduction The new scipy.differentiate sub-package contains functions for accurate estimation of derivatives of black box functions. Use scipy.differentiate.derivative for first-order derivatives of scalar-in, scalar-out functions. Use scipy.differentiate.jacobian for first-order partial derivatives of vector-in, vector-out functions. Use scipy.differentiate.hessian for second-order partial derivatives of vector-in, scalar-out functions. All functions use high-order finite difference rules with adaptive (real) step size. To facilitate batch computation, these functions are vectorized and support several Array API compatible array libraries in addition to NumPy (see "Array API Standard Support" below). scipy.integrate improvements The new scipy.integrate.cubature function supports multidimensional integration, and has support for approximating integrals with one or more sets of infinite limits. scipy.integrate.tanhsinh is now exposed for public use, allowing evaluation of a convergent integral using tanh-sinh quadrature. scipy.integrate.nsum evaluates finite and infinite series and their logarithms. scipy.integrate.lebedev_rule computes abscissae and weights for integration over the surface of a sphere. The QUADPACK Fortran77 package has been ported to C. scipy.interpolate improvements scipy.interpolate.AAA adds the AAA algorithm for barycentric rational approximation of real or complex functions. scipy.interpolate.FloaterHormannInterpolator adds barycentric rational interpolation. New functions scipy.interpolate.make_splrep and scipy.interpolate.make_splprep implement construction of smoothing splines. The algorithmic content is equivalent to FITPACK (splrep and splprep functions, and *UnivariateSpline classes) and the user API is consistent with make_interp_spline: these functions receive data arrays and return a scipy.interpolate.BSpline instance. New generator function scipy.interpolate.generate_knots implements the FITPACK strategy for selecting knots of a smoothing spline given the smoothness parameter, s. The function exposes the internal logic of knot selection that splrep and *UnivariateSpline was using. scipy.linalg improvements scipy.linalg.interpolative Fortran77 code has been ported to Cython. scipy.linalg.solve supports several new values for the assume_a argument, enabling faster computation for diagonal, tri-diagonal, banded, and triangular matrices. Also, when assume_a is left unspecified, the function now automatically detects and exploits diagonal, tri-diagonal, and triangular structures. scipy.linalg matrix creation functions (scipy.linalg.circulant, scipy.linalg.companion, scipy.linalg.convolution_matrix, scipy.linalg.fiedler, scipy.linalg.fiedler_companion, and scipy.linalg.leslie) now support batch matrix creation. scipy.linalg.funm is faster. scipy.linalg.orthogonal_procrustes now supports complex input. Wrappers for the following LAPACK routines have been added in scipy.linalg.lapack: ?lantr, ?sytrs, ?hetrs, ?trcon, and ?gtcon. scipy.linalg.expm was rewritten in C. scipy.linalg.null_space now accepts the new arguments overwrite_a, check_finite, and lapack_driver. id_dist Fortran code was rewritten in Cython. scipy.ndimage improvements Several additional filtering functions now support an axes argument that specifies which axes of the input filtering is to be performed on. These include correlate, convolve, generic_laplace, laplace, gaussian_laplace, derivative2, generic_gradient_magnitude, gaussian_gradient_magnitude and generic_filter. The binary and grayscale morphology functions now support an axes argument that specifies which axes of the input filtering is to be performed on. scipy.ndimage.rank_filter time complexity has improved from n to log(n). scipy.optimize improvements The vendored HiGHS library has been upgraded from 1.4.0 to 1.8.0, bringing accuracy and performance improvements to solvers. The MINPACK Fortran77 package has been ported to C. The L-BFGS-B Fortran77 package has been ported to C. The new scipy.optimize.elementwise namespace includes functions bracket_root, find_root, bracket_minimum, and find_minimum for root-finding and minimization of univariate functions. To facilitate batch computation, these functions are vectorized and support several Array API compatible array libraries in addition to NumPy (see "Array API Standard Support" below). Compared to existing functions (e.g. scipy.optimize.root_scalar and scipy.optimize.minimize_scalar), these functions can offer speedups of over 100x when used with NumPy arrays, and even greater gains are possible with other Array API Standard compatible array libraries (e.g. CuPy). scipy.optimize.differential_evolution now supports more general use of workers, such as passing a map-like callable. scipy.optimize.nnls was rewritten in Cython. HessianUpdateStrategy now supports __matmul__. scipy.signal improvements Add functionality of complex-valued waveforms to signal.chirp(). scipy.signal.lombscargle has two new arguments, weights and floating_mean, enabling sample weighting and removal of an unknown y-offset independently for each frequency. Additionally, the normalize argument includes a new option to return the complex representation of the amplitude and phase. New function scipy.signal.envelope for computation of the envelope of a real or complex valued signal. scipy.sparse improvements A migration guide is now available for moving from sparse.matrix to sparse.array in your code/library. Sparse arrays now support indexing for 1-D and 2-D arrays. So, sparse arrays are now fully functional for 1-D and 2D. n-D sparse arrays in COO format can now be constructed, reshaped and used for basic arithmetic. New functions sparse.linalg.is_sptriangular and sparse.linalg.spbandwidth mimic the existing dense tools linalg.is_triangular and linalg.bandwidth. sparse.linalg and sparse.csgraph now work with sparse arrays. Be careful that your index arrays are 32-bit. We are working on 64bit support. The vendored ARPACK library has been upgraded to version 3.9.1. COO, CSR, CSC and LIL formats now support the axis argument for count_nonzero. Sparse arrays and matrices may now raise errors when initialized with incompatible data types, such as float16. min, max, argmin, and argmax now support computation over nonzero elements only via the new explicit argument. New functions get_index_dtype and safely_cast_index_arrays are available to facilitate index array casting in sparse. scipy.spatial improvements Rotation.concatenate now accepts a bare Rotation object, and will return a copy of it. scipy.special improvements New functions offering improved Legendre function implementations with a more consistent interface. See respective docstrings for more information. scipy.special.legendre_p, scipy.special.legendre_p_all scipy.special.assoc_legendre_p, scipy.special.assoc_legendre_p_all scipy.special.sph_harm_y, scipy.special.sph_harm_y_all scipy.special.sph_legendre_p, scipy.special.sph_legendre_p_all, The factorial functions special.{factorial,factorial2,factorialk} now offer an extension to the complex domain by passing the kwarg extend='complex'. This is opt-in because it changes the values for negative inputs (which by default return 0), as well as for some integers (in the case of factorial2 and factorialk; for more details, check the respective docstrings). scipy.special.zeta now defines the Riemann zeta function on the complex plane. scipy.special.softplus computes the softplus function The spherical Bessel functions (scipy.special.spherical_jn, scipy.special.spherical_yn, scipy.special.spherical_in, and scipy.special.spherical_kn) now support negative arguments with real dtype. scipy.special.logsumexp now preserves precision when one element of the sum has magnitude much bigger than the rest. The accuracy of several functions has been improved: scipy.special.ncfdtr, scipy.special.nctdtr, and scipy.special.gdtrib have been improved throughout the domain. scipy.special.hyperu is improved for the case of b=1, small x, and small a. scipy.special.logit is improved near the argument p=0.5. scipy.special.rel_entr is improved when x/y overflows, underflows, or is close to 1. scipy.special.ndtr is now more efficient for sqrt(2)/2 =2.1.3 is required at runtime. Note that building for a free-threaded interpreter requires a recent pre-release or nightly for Cython 3.1.0. Support for free-threaded Python does not mean that SciPy is fully thread-safe. Please see scipy_thread_safety for more details. If you are interested in free-threaded Python, for example because you have a multiprocessing-based workflow that you are interested in running with Python threads, we encourage testing and experimentation. If you run into problems that you suspect are because of SciPy, please open an issue, checking first if the bug also occurs in the "regular" non-free-threaded CPython 3.13 build. Many threading bugs can also occur in code that releases the GIL; disabling the GIL only makes it easier to hit threading bugs. Array API Standard Support Experimental support for array libraries other than NumPy has been added to existing sub-packages in recent versions of SciPy. Please consider testing these features by setting an environment variable SCIPY_ARRAY_API=1 and providing PyTorch, JAX, ndonnx, or CuPy arrays as array arguments. Features with support added for SciPy 1.15.0 include: All functions in scipy.differentiate (new sub-package) All functions in scipy.optimize.elementwise (new namespace) scipy.optimize.rosen, scipy.optimize.rosen_der, and scipy.optimize.rosen_hess scipy.special.logsumexp scipy.integrate.trapezoid scipy.integrate.tanhsinh (newly public function) scipy.integrate.cubature (new function) scipy.integrate.nsum (new function) scipy.special.chdtr, scipy.special.betainc, and scipy.special.betaincc scipy.stats.boxcox_llf scipy.stats.differential_entropy scipy.stats.zmap, scipy.stats.zscore, and scipy.stats.gzscore scipy.stats.tmean, scipy.stats.tvar, scipy.stats.tstd, scipy.stats.tsem, scipy.stats.tmin, and scipy.stats.tmax scipy.stats.gmean, scipy.stats.hmean and scipy.stats.pmean scipy.stats.combine_pvalues scipy.stats.ttest_ind, scipy.stats.ttest_rel scipy.stats.directional_stats scipy.ndimage functions will now delegate to cupyx.scipy.ndimage, and for other backends will transit via NumPy arrays on the host. Deprecated features Functions scipy.linalg.interpolative.rand and scipy.linalg.interpolative.seed have been deprecated and will be removed in SciPy 1.17.0. Complex inputs to scipy.spatial.distance.cosine and scipy.spatial.distance.correlation have been deprecated and will raise an error in SciPy 1.17.0. scipy.spatial.distance.kulczynski1 and scipy.spatial.distance.sokalmichener were deprecated and will be removed in SciPy 1.17.0. scipy.stats.find_repeats is deprecated as of SciPy 1.15.0 and will be removed in SciPy 1.17.0. Please use numpy.unique/numpy.unique_counts instead. scipy.linalg.kron is deprecated in favour of numpy.kron. Using object arrays and longdouble arrays in scipy.signal convolution/correlation functions (scipy.signal.correlate, scipy.signal.convolve and scipy.signal.choose_conv_method) and filtering functions (scipy.signal.lfilter, scipy.signal.sosfilt) has been deprecated as of SciPy 1.15.0 and will be removed in SciPy 1.17.0. scipy.stats.linregress has deprecated one-argument use; the two variables must be specified as separate arguments. scipy.stats.trapz is deprecated in favor of scipy.stats.trapezoid. scipy.special.lpn is deprecated in favor of scipy.special.legendre_p_all. scipy.special.lpmn and scipy.special.clpmn are deprecated in favor of scipy.special.assoc_legendre_p_all. scipy.special.sph_harm has been deprecated in favor of scipy.special.sph_harm_y. The raveling of multi-dimensional input by scipy.linalg.toeplitz has been deprecated. It will support batching in SciPy 1.17.0. The random_state and permutations arguments of scipy.stats.ttest_ind are deprecated. Use method to perform a permutation test, instead. Expired Deprecations The wavelet functions in scipy.signal have been removed. This includes daub, qmf, cascade, morlet, morlet2, ricker, and cwt. Users should use pywavelets instead. scipy.signal.cmplx_sort has been removed. scipy.integrate.quadrature and scipy.integrate.romberg have been removed in favour of scipy.integrate.quad. scipy.stats.rvs_ratio_uniforms has been removed in favor of scipy.stats.sampling.RatioUniforms. scipy.special.factorial now raises an error for non-integer scalars when exact=True. scipy.integrate.cumulative_trapezoid now raises an error for values of initial other than 0 and None. Complex dtypes now raise an error in scipy.interpolate.Akima1DInterpolator and scipy.interpolate.PchipInterpolator special.btdtr and special.btdtri have been removed. The default of the exact= kwarg in special.factorialk has changed from True to False. All functions in the scipy.misc submodule have been removed. Backwards incompatible changes interpolate.BSpline.integrate output is now always a numpy array. Previously, for 1D splines the output was a python float or a 0D array depending on the value of the extrapolate argument. scipy.stats.wilcoxon now respects the method argument provided by the user. Previously, even if method='exact' was specified, the function would resort to method='approx' in some cases. scipy.integrate.AccuracyWarning has been removed as the functions the warning was emitted from (scipy.integrate.quadrature and scipy.integrate.romberg) have been removed. Other changes A separate accompanying type stubs package, scipy-stubs, will be made available with the 1.15.0 release. Installation instructions are available _. scipy.stats.bootstrap now emits a FutureWarning if the shapes of the input arrays do not agree. Broadcast the arrays to the same batch shape (i.e. for all dimensions except those specified by the axis argument) to avoid the warning. Broadcasting will be performed automatically in the future. SciPy endorsed SPEC-7 _, which proposes a rng argument to control pseudorandom number generation (PRNG) in a standard way, replacing legacy arguments like seed and random_sate. In many cases, use of rng will change the behavior of the function unless the argument is already an instance of numpy.random.Generator. Effective in SciPy 1.15.0: The rng argument has been added to the following functions: scipy.cluster.vq.kmeans, scipy.cluster.vq.kmeans2, scipy.interpolate.BarycentricInterpolator, scipy.interpolate.barycentric_interpolate, scipy.linalg.clarkson_woodruff_transform, scipy.optimize.basinhopping, scipy.optimize.differential_evolution, scipy.optimize.dual_annealing, scipy.optimize.check_grad, scipy.optimize.quadratic_assignment, scipy.sparse.random, scipy.sparse.random_array, scipy.sparse.rand, scipy.sparse.linalg.svds, scipy.spatial.transform.Rotation.random, scipy.spatial.distance.directed_hausdorff, scipy.stats.goodness_of_fit, scipy.stats.BootstrapMethod, scipy.stats.PermutationMethod, scipy.stats.bootstrap, scipy.stats.permutation_test, scipy.stats.dunnett, all scipy.stats.qmc classes that consume random numbers, and scipy.stats.sobol_indices. When passed by keyword, the rng argument will follow the SPEC 7 standard behavior: the argument will be normalized with np.random.default_rng before being used. When passed by position or legacy keyword, the behavior of the argument will remain unchanged (for now). It is planned that in 1.17.0 the legacy argument will start emitting warnings, and that in 1.19.0 the default behavior will change. In all cases, users can avoid future disruption by proactively passing an instance of np.random.Generator by keyword rng. For details, see SPEC-7 _. The SciPy build no longer adds -std=legacy for Fortran code, except when using Gfortran. This avoids problems with the new Flang and AMD Fortran compilers. It may make new build warnings appear for other compilers - if so, please file an issue. scipy.signal.sosfreqz has been renamed to scipy.signal.freqz_sos. New code should use the new name. The old name is maintained as an alias for backwards compatibility. Testing thread-safety improvements related to Python 3.13t have been made in: scipy.special, scipy.spatial, scipy.sparse, scipy.interpolate. Authors (commits) endolith (4) h-vetinari (62) a-drenaline (1) + Afleloup (1) + Ahmad Alkadri (1) + Luiz Eduardo Amaral (3) + Virgile Andreani (3) Isaac Alonso Asensio (2) + Matteo Bachetti (1) + Arash Badie-Modiri (1) + Arnaud Baguet (1) + Soutrik Bandyopadhyay (1) + Ankit Barik (1) + Christoph Baumgarten (1) Nickolai Belakovski (3) Krishan Bhasin (1) + Jake Bowhay (89) Michael Bratsch (2) + Matthew Brett (1) Keith Briggs (1) + Olly Britton (145) + Dietrich Brunn (11) Clemens Brunner (1) Evgeni Burovski (185) Matthias Bussonnier (7) CJ Carey (32) Cesar Carrasco (4) + Hood Chatham (1) Aadya Chinubhai (1) Alessandro Chitarrini (1) + Thibault de Coincy (1) + Lucas Colley (217) Martin Diehl (1) + Djip007 (1) + Kevin Doshi (2) + Michael Dunphy (2) Andy Everall (1) + Thomas J. Fan (2) fancidev (60) Sergey Fedorov (2) + Sahil Garje (1) + Gabriel Gerlero (2) Yotam Gingold (1) + Ralf Gommers (110) Rohit Goswami (62) Anil Gurses (1) + Oscar Gustafsson (1) + Matt Haberland (389) Matt Hall (1) + Joren Hammudoglu (6) + CY Han (1) + Daniel Isaac (4) + Maxim Ivanov (1) Jakob Jakobson (2) Janez Demšar (4) + Chris Jerdonek (2) + Adam Jones (4) + Aditi Juneja (1) + Nuri Jung (1) + Guus Kamphuis (1) + Aditya Karumanchi (2) + Robert Kern (5) Agriya Khetarpal (11) Andrew Knyazev (7) Gideon Genadi Kogan (1) + Damien LaRocque (1) + Eric Larson (10) Gregory R. Lee (4) Linfye (1) + Boyu Liu (1) + Drew Allan Loney (1) + Christian Lorentzen (1) Loïc Estève (2) Smit Lunagariya (1) Henry Lunn (1) + Marco Maggi (4) Lauren Main (1) + Martin Spišák (1) + Mateusz Sokół (4) Jan-Kristian Mathisen (1) + Nikolay Mayorov (2) Nicholas McKibben (1) Melissa Weber Mendonça (62) João Mendes (10) Gian Marco Messa (1) + Samuel Le Meur-Diebolt (1) + Michał Górny (2) Naoto Mizuno (2) Nicolas Mokus (2) musvaage (18) + Andrew Nelson (88) Jens Hedegaard Nielsen (1) + Roman Nigmatullin (8) + Nick ODell (37) Yagiz Olmez (4) Matti Picus (9) Diogo Pires (5) + Ilhan Polat (96) Zachary Potthoff (1) + Tom M. Ragonneau (2) Peter Ralph (1) + Stephan Rave (1) + Tyler Reddy (182) redha2404 (2) + Ritvik1sharma (1) + Érico Nogueira Rolim (1) + Heshy Roskes (1) Pamphile Roy (34) Mikhail Ryazanov (1) + Sina Saber (1) + Atsushi Sakai (1) Clemens Schmid (1) + Daniel Schmitz (17) Moritz Schreiber (1) + Dan Schult (91) Searchingdays (1) + Matias Senger (1) + Scott Shambaugh (1) Zhida Shang (1) + Sheila-nk (4) Romain Simon (2) + Gagandeep Singh (31) Albert Steppi (40) Kai Striega (1) Anushka Suyal (143) + Alex Szatmary (1) Svetlin Tassev (1) + Ewout ter Hoeven (1) Tibor Völcker (4) + Kanishk Tiwari (1) + Yusuke Toyama (1) + Edgar Andrés Margffoy Tuay (124) Adam Turner (2) + Nicole Vadot (1) + Andrew Valentine (1) Christian Veenhuis (2) vfdev (2) + Pauli Virtanen (2) Simon Waldherr (1) + Stefan van der Walt (2) Warren Weckesser (23) Anreas Weh (1) Benoît Wygas (2) + Pavadol Yamsiri (3) + ysard (1) + Xiao Yuan (2) Irwin Zaid (12) Gang Zhao (1) ਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (10) A total of 149 people contributed to this release. People with a "+" by their names contributed a patch for the first time. This list of names is automatically generated, and may not be fully complete.

Related Organizations
  • BIP!
    Impact byBIP!
    citations
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    0
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Average
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Average
Powered by OpenAIRE graph
Found an issue? Give us feedback
citations
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
0
Average
Average
Average
Related to Research communities