scipy/scipy: SciPy 1.11.0rc1
Authors/Creators
- Ralf Gommers1
- Pauli Virtanen
- Evgeni Burovski
- Matt Haberland
- Warren Weckesser
- Travis E. Oliphant2
- Tyler Reddy3
- David Cournapeau4
- alexbrc
- Andrew Nelson
- Pearu Peterson1
- Pamphile Roy5
- Josh Wilson
- endolith
- Ilhan Polat6
- Nikolay Mayorov
- Stefan van der Walt7
- Matthew Brett8
- Denis Laxalde9
- Eric Larson10
- Jarrod Millman11
- Atsushi Sakai
- Lars
- peterbell101
- Paul van Mulbregt12
- CJ Carey12
- eric-jones
- 1. Quansight
- 2. Quansight, OpenTeams
- 3. LANL
- 4. Mercari JP
- 5. @Quansight
- 6. Sandvik
- 7. University of California, Berkeley
- 8. London Interdisciplinary School
- 9. @dalibo
- 10. University of Washington
- 11. UC Berkeley
- 12. Google
Description
Note: SciPy 1.11.0 is not released yet!
SciPy 1.11.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.11.x branch, and on adding new features on the main branch.
This release requires Python 3.9+ and NumPy 1.21.6 or greater.
For running on PyPy, PyPy3 6.0+ is required.
- Several
scipy.sparsearray API improvements, including a new public base class distinct from the older matrix class, proper 64-bit index support, and numerous deprecations paving the way to a modern sparse array experience. - Added three new statistical distributions, and wide-ranging performance and precision improvements to several other statistical distributions.
- A new function was added for quasi-Monte Carlo integration, and linear
algebra functions
detandlunow accept nD-arrays. - An
axesargument was added broadly tondimagefunctions, facilitating analysis of stacked image data.
scipy.integrate improvements
- Added
scipy.integrate.qmc_quadfor quasi-Monte Carlo integration. - For an even number of points,
scipy.integrate.simpsonnow calculates a parabolic segment over the last three points which gives improved accuracy over the previous implementation.
scipy.cluster improvements
disjoint_sethas a new methodsubset_sizefor providing the size of a particular subset.
scipy.constants improvements
- The
quetta,ronna,ronto, andquectoSI prefixes were added.
scipy.linalg improvements
scipy.linalg.detis improved and now accepts nD-arrays.scipy.linalg.luis improved and now accepts nD-arrays. With the newp_indicesswitch the output permutation argument can be 1D(n,)permutation index instead of the full(n, n)array.
scipy.ndimage improvements
axesargument was added torank_filter,percentile_filter,median_filter,uniform_filter,minimum_filter,maximum_filter, andgaussian_filter, which can be useful for processing stacks of image data.
scipy.optimize improvements
scipy.optimize.linprognow passes unrecognized options directly to HiGHS.scipy.optimize.root_scalarnow uses Newton's method to be used without providingfprimeand thesecantmethod to be used without a second guess.scipy.optimize.lsq_linearnow acceptsboundsarguments of typescipy.optimize.Bounds.scipy.optimize.minimizemethod='cobyla'now supports simple bound constraints.- Users can opt into a new callback interface for most methods of
scipy.optimize.minimize: If the provided callback callable accepts a single keyword argument,intermediate_result,scipy.optimize.minimizenow passes both the current solution and the optimal value of the objective function to the callback as an instance ofscipy.optimize.OptimizeResult. It also allows the user to terminate optimization by raising aStopIterationexception from the callback function.scipy.optimize.minimizewill return normally, and the latest solution information is provided in the result object. scipy.optimize.curve_fitnow supports an optionalnan_policyargument.scipy.optimize.shgonow has parallelization with theworkersargument, symmetry arguments that can improve performance, class-based design to improve usability, and generally improved performance.
scipy.signal improvements
istfthas an improved warning message when the NOLA condition fails.
scipy.sparse improvements
scipy.sparsearray (not matrix) classes now return a sparse array instead of a dense array when divided by a dense array.- A new public base class
scipy.sparse.sparraywas introduced, allowingisinstance(x, scipy.sparse.sparray)to select the new sparse array classes, whileisinstance(x, scipy.sparse.spmatrix)selects only the old sparse matrix types. - The behavior of
scipy.sparse.isspmatrix()was updated to return True for only the sparse matrix types. If you want to check for either sparse arrays or sparse matrices, usescipy.sparse.issparse()instead. (Previously, these had identical behavior.) - Sparse arrays constructed with 64-bit indices will no longer automatically downcast to 32-bit.
- A new
scipy.sparse.diags_arrayfunction was added, which behaves like the existingscipy.sparse.diagsfunction except that it returns a sparse array instead of a sparse matrix. argminandargmaxmethods now return the correct result when no implicit zeros are present.
scipy.sparse.linalg improvements
- dividing
LinearOperatorby a number now returns a_ScaledLinearOperator LinearOperatornow supports right multiplication by arrayslobpcgshould be more efficient following removal of an extraneous QR decomposition.
scipy.spatial improvements
- Usage of new C++ backend for additional distance metrics, the majority of which will see substantial performance improvements, though a few minor regressions are known. These are focused on distances between boolean arrays.
scipy.special improvements
- The factorial functions
factorial,factorial2andfactorialkwere made consistent in their behavior (in terms of dimensionality, errors etc.). Additionally,factorial2can now handle arrays withexact=True, andfactorialkcan handle arrays.
scipy.stats improvements
New Features
scipy.stats.sobol_indices, a method to compute Sobol' sensitivity indices.scipy.stats.dunnett, which performs Dunnett's test of the means of multiple experimental groups against the mean of a control group.scipy.stats.ecdffor computing the empirical CDF and complementary CDF (survival function / SF) from uncensored or right-censored data. This function is also useful for survival analysis / Kaplain-Meier estimation.scipy.stats.logrankto compare survival functions underlying samples.scipy.stats.false_discovery_controlfor adjusting p-values to control the false discovery rate of multiple hypothesis tests using the Benjamini-Hochberg or Benjamini-Yekutieli procedures.scipy.stats.CensoredDatato represent censored data. It can be used as input to thefitmethod of univariate distributions and to the newecdffunction.- Filliben's goodness of fit test as
method='Filliben'ofscipy.stats.goodness_of_fit. scipy.stats.ttest_indhas a new method,confidence_intervalfor computing confidence intervals.scipy.stats.MonteCarloMethod,scipy.stats.PermutationMethod, andscipy.stats.BootstrapMethodare new classes to configure resampling and/or Monte Carlo versions of hypothesis tests. They can currently be used withscipy.stats.pearsonr.
- Added the von-Mises Fisher distribution as
scipy.stats.vonmises_fisher. This distribution is the most common analogue of the normal distribution on the unit sphere. - Added the relativistic Breit-Wigner distribution as
scipy.stats.rel_breitwigner. It is used in high energy physics to model resonances. - Added the Dirichlet multinomial distribution as
scipy.stats.dirichlet_multinomial. Improved the speed and precision of several univariate statistical distributions.
scipy.stats.anglitsfscipy.stats.betaentropyscipy.stats.betaprimecdf,sf,ppfscipy.stats.chientropyscipy.stats.chi2entropyscipy.stats.dgammaentropy,cdf,sf,ppf, andisfscipy.stats.dweibullentropy,sf, andisfscipy.stats.exponweibsfandisfscipy.stats.fentropyscipy.stats.foldcauchysfscipy.stats.foldnormcdfandsfscipy.stats.gammaentropyscipy.stats.genexponppf,isf,rvsscipy.stats.gengammaentropyscipy.stats.geomentropyscipy.stats.genlogisticentropy,logcdf,sf,ppf, andisfscipy.stats.genhyperboliccdfandsfscipy.stats.gibratsfandisfscipy.stats.gompertzentropy,sf. andisfscipy.stats.halflogisticsf, andisfscipy.stats.halfcauchysfandisfscipy.stats.halfnormcdf,sf, andisfscipy.stats.invgammaentropyscipy.stats.invgaussentropyscipy.stats.johnsonsbpdf,cdf,sf,ppf, andisfscipy.stats.johnsonsupdf,sf,isf, andstatsscipy.stats.lognormfitscipy.stats.loguniformentropy,logpdf,pdf,cdf,ppf, andstatsscipy.stats.maxwellsfandisfscipy.stats.nakagamientropyscipy.stats.powerlawsfscipy.stats.powerlognormlogpdf,logsf,sf, andisfscipy.stats.powernormsfandisfscipy.stats.tentropy,logpdf, andpdfscipy.stats.truncexponsf, andisfscipy.stats.truncnormentropyscipy.stats.truncparetofitscipy.stats.vonmisesfit
scipy.stats.multivariate_tnow hascdfandentropymethods.scipy.stats.multivariate_normal,scipy.stats.matrix_normal, andscipy.stats.invwishartnow have anentropymethod.
scipy.stats.monte_carlo_testnow supports multi-sample statistics.scipy.stats.bootstrapcan now produce one-sided confidence intervals.scipy.stats.rankdataperformance was improved formethod=ordinalandmethod=dense.scipy.stats.momentnow supports non-central moment calculation.scipy.stats.andersonnow supports theweibull_mindistribution.scipy.stats.semandscipy.stats.iqrnow supportaxis,nan_policy, and masked array input.
- Multi-Ellipsis sparse matrix indexing has been deprecated and will be removed in SciPy 1.13.
- Several methods were deprecated for sparse arrays:
asfptype,getrow,getcol,get_shape,getmaxprint,set_shape,getnnz, andgetformat. Additionally, the.Aand.Hattributes were deprecated. Sparse matrix types are not affected. - The
scipy.linalgfunctionstri,triu&trilare deprecated and will be removed in SciPy 1.13. Users are recommended to use the NumPy versions of these functions with identical names. - The
scipy.signalfunctionsbspline,quadratic&cubicare deprecated and will be removed in SciPy 1.13. Users are recommended to usescipy.interpolate.BSplineinstead. - The
evenkeyword ofscipy.integrate.simpsonis deprecated and will be removed in SciPy 1.13.0. Users should leave this as the default as this gives improved accuracy compared to the other methods. - Using
exact=Truewhen passing integers in a float array tofactorialis deprecated and will be removed in SciPy 1.13.0. - float128 and object dtypes are deprecated for
scipy.signal.medfiltandscipy.signal.order_filter - The functions
scipy.signal.{lsim2, impulse2, step2}had long been deprecated in documentation only. They now raise a DeprecationWarning and will be removed in SciPy 1.13.0. - Importing window functions directly from
scipy.windowhas been soft deprecated since SciPy 1.1.0. They now raise aDeprecationWarningand will be removed in SciPy 1.13.0. Users should instead import them fromscipy.signal.windowor use the convenience functionscipy.signal.get_window.
- The default for the
legacykeyword ofscipy.special.combhas changed fromTruetoFalse, as announced since its introduction.
There is an ongoing effort to follow through on long-standing deprecations. The following previously deprecated features are affected:
- The
nkeyword has been removed fromscipy.stats.moment. - The
alphakeyword has been removed fromscipy.stats.interval. - The misspelt
gilbratdistribution has been removed (usescipy.stats.gibrat). - The deprecated spelling of the
kulsinskidistance metric has been removed (usescipy.spatial.distance.kulczynski1). - The
verticeskeyword ofscipy.spatial.Delauney.qhullhas been removed (use simplices). - The
residualproperty ofscipy.sparse.csgraph.maximum_flowhas been removed (useflow). - The
extradockeyword ofscipy.stats.rv_continuous,scipy.stats.rv_discreteandscipy.stats.rv_samplehas been removed. - The
sym_poskeyword ofscipy.linalg.solvehas been removed. - The
scipy.optimize.minimizefunction now raises an error forx0withx0.ndim > 1. - In
scipy.stats.mode, the default value ofkeepdimsis nowFalse, and support for non-numeric input has been removed. - The function
scipy.signal.lsimdoes not support non-uniform time steps anymore.
- Rewrote the source build docs and restructured the contributor guide.
- Improved support for cross-compiling with meson build system.
- MyST-NB notebook infrastructure has been added to our documentation.
- h-vetinari (69)
- Oriol Abril-Pla (1) +
- Anton Akhmerov (13)
- Andrey Akinshin (1) +
- alice (1) +
- Oren Amsalem (1)
- Ross Barnowski (11)
- Christoph Baumgarten (2)
- Dawson Beatty (1) +
- Doron Behar (1) +
- Peter Bell (1)
- John Belmonte (1) +
- boeleman (1) +
- Jack Borchanian (1) +
- Matt Borland (3) +
- Jake Bowhay (40)
- Sienna Brent (1) +
- Matthew Brett (1)
- Evgeni Burovski (38)
- Matthias Bussonnier (2)
- Maria Cann (1) +
- Alfredo Carella (1) +
- CJ Carey (18)
- Hood Chatham (2)
- Anirudh Dagar (3)
- Alberto Defendi (1) +
- Pol del Aguila (1) +
- Hans Dembinski (1)
- Dennis (1) +
- Vinayak Dev (1) +
- Thomas Duvernay (1)
- DWesl (4)
- Stefan Endres (66)
- Evandro (1) +
- Tom Eversdijk (2) +
- Isuru Fernando (1)
- Franz Forstmayr (4)
- Joseph Fox-Rabinovitz (1)
- Stefano Frazzetto (1) +
- Neil Girdhar (1)
- Caden Gobat (1) +
- Ralf Gommers (146)
- GonVas (1) +
- Marco Gorelli (1)
- Brett Graham (2) +
- Matt Haberland (385)
- harshvardhan2707 (1) +
- Alex Herbert (1) +
- Guillaume Horel (1)
- Geert-Jan Huizing (1) +
- Jakob Jakobson (2)
- Julien Jerphanion (5)
- jyuv (2)
- Rajarshi Karmakar (1) +
- Ganesh Kathiresan (3) +
- Robert Kern (4)
- Andrew Knyazev (3)
- Sergey Koposov (1)
- Rishi Kulkarni (2) +
- Eric Larson (1)
- Zoufiné Lauer-Bare (2) +
- Antony Lee (3)
- Gregory R. Lee (8)
- Guillaume Lemaitre (1) +
- lilinjie (2) +
- Yannis Linardos (1) +
- Christian Lorentzen (5)
- Loïc Estève (1)
- Charlie Marsh (2) +
- Boris Martin (1) +
- Nicholas McKibben (10)
- Melissa Weber Mendonça (57)
- Michał Górny (1) +
- Jarrod Millman (2)
- Stefanie Molin (2) +
- Mark W. Mueller (1) +
- mustafacevik (1) +
- Takumasa N (1) +
- nboudrie (1)
- Andrew Nelson (111)
- Nico Schlömer (4)
- Lysandros Nikolaou (2) +
- Kyle Oman (1)
- OmarManzoor (2) +
- Simon Ott (1) +
- Geoffrey Oxberry (1) +
- Geoffrey M. Oxberry (2) +
- Sravya papaganti (1) +
- Tirth Patel (2)
- Ilhan Polat (32)
- Quentin Barthélemy (1)
- Matteo Raso (12) +
- Tyler Reddy (97)
- Lucas Roberts (1)
- Pamphile Roy (224)
- Jordan Rupprecht (1) +
- Atsushi Sakai (11)
- Omar Salman (7) +
- Leo Sandler (1) +
- Ujjwal Sarswat (3) +
- Saumya (1) +
- Daniel Schmitz (79)
- Henry Schreiner (2) +
- Dan Schult (3) +
- Eli Schwartz (6)
- Tomer Sery (2) +
- Scott Shambaugh (4) +
- Gagandeep Singh (1)
- Ethan Steinberg (6) +
- stepeos (2) +
- Albert Steppi (3)
- Strahinja Lukić (1)
- Kai Striega (4)
- suen-bit (1) +
- Tartopohm (2)
- Logan Thomas (2) +
- Jacopo Tissino (1) +
- Matus Valo (10) +
- Jacob Vanderplas (2)
- Christian Veenhuis (1) +
- Isaac Virshup (1)
- Stefan van der Walt (14)
- Warren Weckesser (63)
- windows-server-2003 (1)
- Levi John Wolf (3)
- Nobel Wong (1) +
- Benjamin Yeh (1) +
- Rory Yorke (1)
- Younes (2) +
- Zaikun ZHANG (1) +
- Alex Zverianskii (1) +
A total of 131 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.
Files
scipy/scipy-v1.11.0rc1.zip
Files
(26.5 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:bd94679a271e15116bcc6c4d32157dc7
|
26.5 MB | Preview Download |
Additional details
Related works
- Is supplement to
- https://github.com/scipy/scipy/tree/v1.11.0rc1 (URL)