chore(deps): update dependency scipy to ~1.10 #21
Reference in New Issue
Block a user
Delete Branch "renovate/scipy-1.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
~1.8->~1.10Release Notes
scipy/scipy
v1.10.1Compare Source
SciPy 1.10.1 Release Notes
SciPy
1.10.1is a bug-fix release with no new featurescompared to
1.10.0.Authors
A total of 21 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.
v1.10.0Compare Source
SciPy 1.10.0 Release Notes
SciPy
1.10.0is the culmination of6months of hard work. It containsmany 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 -Wdand check forDeprecationWarnings).Our development attention will now shift to bug-fix releases on the
1.10.x branch, and on adding new features on the main branch.
This release requires Python
3.8+and NumPy1.19.5or greater.For running on PyPy, PyPy3
6.0+is required.Highlights of this release
scipy.datasets) has been added, and isnow preferred over usage of
scipy.miscfor dataset retrieval.scipy.interpolate.make_smoothing_splinefunction was added. Thisfunction constructs a smoothing cubic spline from noisy data, using the
generalized cross-validation (GCV) criterion to find the tradeoff between
smoothness and proximity to data points.
scipy.statshas three new distributions, two new hypothesis tests, threenew sample statistics, a class for greater control over calculations
involving covariance matrices, and many other enhancements.
New features
scipy.datasetsintroductionA new dedicated
datasetssubmodule has been added. The submodulesis meant for datasets that are relevant to other SciPy submodules ands
content (tutorials, examples, tests), as well as contain a curated
set of datasets that are of wider interest. As of this release, all
the datasets from
scipy.mischave been added toscipy.datasets(and deprecated in
scipy.misc).The submodule is based on Pooch
(a new optional dependency for SciPy), a Python package to simplify fetching
data files. This move will, in a subsequent release, facilitate SciPy
to trim down the sdist/wheel sizes, by decoupling the data files and
moving them out of the SciPy repository, hosting them externally and
downloading them when requested. After downloading the datasets once,
the files are cached to avoid network dependence and repeated usage.
Added datasets from
scipy.misc:scipy.datasets.face,scipy.datasets.ascent,scipy.datasets.electrocardiogramAdded download and caching functionality:
scipy.datasets.download_all: a function to download all thescipy.datasetsassociated files at once.
scipy.datasets.clear_cache: a simple utility function to clear cached datasetfiles from the file system.
scipy/datasets/_download_all.pycan be run as a standalone script forpackaging purposes to avoid any external dependency at build or test time.
This can be used by SciPy packagers (e.g., for Linux distros) which may
have to adhere to rules that forbid downloading sources from external
repositories at package build time.
scipy.integrateimprovementscomplex_functoscipy.integrate.quad, which can be setTrueto integrate a complex integrand.scipy.interpolateimprovementsscipy.interpolate.interpnnow supports tensor-product interpolation methods(
slinear,cubic,quinticandpchip)slinear,cubic,quinticandpchip) inscipy.interpolate.interpnandscipy.interpolate.RegularGridInterpolatornow allow values with trailingdimensions.
scipy.interpolate.RegularGridInterpolatorhas a new fast path formethod="linear"with 2D data, andRegularGridInterpolatoris noweasier to subclass
scipy.interpolate.interp1dnow can take a single value for non-splinemethods.
extrapolateargument is available toscipy.interpolate.BSpline.design_matrix,allowing extrapolation based on the first and last intervals.
scipy.interpolate.make_smoothing_splinehas been added. It is animplementation of the generalized cross-validation spline smoothing
algorithm. The
lam=None(default) mode of this function is a clean-roomreimplementation of the classic
gcvspl.fFortran algorithm forconstructing GCV splines.
method="pchip"mode was aded toscipy.interpolate.RegularGridInterpolator. This mode constructs aninterpolator using tensor products of C1-continuous monotone splines
(essentially, a
scipy.interpolate.PchipInterpolatorinstance perdimension).
scipy.sparse.linalgimprovementsThe spectral 2-norm is now available in
scipy.sparse.linalg.norm.The performance of
scipy.sparse.linalg.normfor the default case (Frobeniusnorm) has been improved.
LAPACK wrappers were added for
trexcandtrsen.The
scipy.sparse.linalg.lobpcgalgorithm was rewritten, yieldingthe following improvements:
accuracy for edge cases,
giving more accurate and orthonormal eigenvectors,
and drop the history of subsequent iterations,
LinearOperatorformat input and thus allowa simple function handle of a callable object as an input,
than letting the algorithm fail.
scipy.linalgimprovementsscipy.linalg.lu_factornow accepts rectangular arrays instead of being restrictedto square arrays.
scipy.ndimageimprovementsscipy.ndimage.value_indicesfunction provides a time-efficient method tosearch for the locations of individual values with an array of image data.
radiusargument is supported byscipy.ndimage.gaussian_filter1dandscipy.ndimage.gaussian_filterfor adjusting the kernel size of the filter.scipy.optimizeimprovementsscipy.optimize.brutenow coerces non-iterable/single-valueargsinto atuple.
scipy.optimize.least_squaresandscipy.optimize.curve_fitnow acceptscipy.optimize.Boundsfor bounds constraints.scipy.optimize.milp.scipy.optimize.OptimizeResultobjects.parallel,threads,mip_rel_gap) can nowbe passed to
scipy.optimize.linprogwithmethod='highs'.scipy.signalimprovementsscipy.signal.windows.lanczoswas added to compute aLanczos window, also known as a sinc window.
scipy.sparse.csgraphimprovementsscipy.sparse.csgraph.dijkstrahas been improved, andstar graphs in particular see a marked performance improvement
scipy.specialimprovementsscipy.special.powm1, a ufunc with signaturepowm1(x, y), computesx**y - 1. The function avoids the loss ofprecision that can result when
yis close to 0 or whenxis close to1.
scipy.special.erfinvis now more accurate as it leverages the Boost equivalent underthe hood.
scipy.statsimprovementsAdded
scipy.stats.goodness_of_fit, a generalized goodness-of-fit test foruse with any univariate distribution, any combination of known and unknown
parameters, and several choices of test statistic (Kolmogorov-Smirnov,
Cramer-von Mises, and Anderson-Darling).
Improved
scipy.stats.bootstrap: Default method'BCa'now supportsmulti-sample statistics. Also, the bootstrap distribution is returned in the
result object, and the result object can be passed into the function as
parameter
bootstrap_resultto add additional resamples or change theconfidence interval level and type.
Added maximum spacing estimation to
scipy.stats.fit.Added the Poisson means test ("E-test") as
scipy.stats.poisson_means_test.Added new sample statistics.
scipy.stats.contingency.odds_ratioto compute both the conditionaland unconditional odds ratios and corresponding confidence intervals for
2x2 contingency tables.
scipy.stats.directional_statsto compute sample statistics ofn-dimensional directional data.
scipy.stats.expectile, which generalizes the expected value in thesame way as quantiles are a generalization of the median.
Added new statistical distributions.
scipy.stats.uniform_direction, a multivariate distribution tosample uniformly from the surface of a hypersphere.
scipy.stats.random_table, a multivariate distribution to sampleuniformly from m x n contingency tables with provided marginals.
scipy.stats.truncpareto, the truncated Pareto distribution.Improved the
fitmethod of several distributions.scipy.stats.skewnormandscipy.stats.weibull_minnow use an analyticalsolution when
method='mm', which also serves a starting guess toimprove the performance of
method='mle'.scipy.stats.gumbel_randscipy.stats.gumbel_l: analytical maximumlikelihood estimates have been extended to the cases in which location or
scale are fixed by the user.
scipy.stats.powerlaw.Improved random variate sampling of several distributions.
scipy.stats.matrix_normal,scipy.stats.ortho_group,scipy.stats.special_ortho_group, andscipy.stats.unitary_groupis faster.rvsmethod ofscipy.stats.vonmisesnow wraps to the interval[-np.pi, np.pi].scipy.stats.loggammarvsmethod for smallvalues of the shape parameter.
Improved the speed and/or accuracy of functions of several statistical
distributions.
scipy.stats.Covariancefor better speed, accuracy, and user controlin multivariate normal calculations.
scipy.stats.skewnormmethodscdf,sf,ppf, andisfmethods now use the implementations from Boost, improving speed while
maintaining accuracy. The calculation of higher-order moments is also
faster and more accurate.
scipy.stats.invgaussmethodsppfandisfmethods now use theimplementations from Boost, improving speed and accuracy.
scipy.stats.invweibullmethodssfandisfare more accurate forsmall probability masses.
scipy.stats.nctandscipy.stats.ncx2now rely on the implementationsfrom Boost, improving speed and accuracy.
logpdfmethod ofscipy.stats.vonmisesfor reliabilityin extreme tails.
isfmethod ofscipy.stats.levyfor speed andaccuracy.
scipy.stats.studentized_rangefor largedfby adding an infinite degree-of-freedom approximation.
lower_limittoscipy.stats.multivariate_normal,allowing the user to change the integration limit from -inf to a desired
value.
entropyofscipy.stats.vonmisesfor largeconcentration values.
Enhanced
scipy.stats.gaussian_kde.scipy.stats.gaussian_kde.marginal, which returns the desiredmarginal distribution of the original kernel density estimate distribution.
cdfmethod ofscipy.stats.gaussian_kdenow accepts alower_limitparameter for integrating the PDF over a rectangular region.scipy.stats.gaussian_kde.logpdfto Cython,improving speed.
pdfmethod ofscipy.stats.gaussian_kdefor improved multithreading performance.and accuracy.
Enhanced the result objects returned by many
scipy.statsfunctionsconfidence_intervalmethod to the result object returned byscipy.stats.ttest_1sampandscipy.stats.ttest_rel.scipy.statsfunctionscombine_pvalues,fisher_exact,chi2_contingency,median_testandmoodnow returnbunch objects rather than plain tuples, allowing attributes to be
accessed by name.
multiscale_graphcorr,anderson_ksamp,binomtest,crosstab,pointbiserialr,spearmanr,kendalltau, andweightedtauhave been renamed tostatisticandpvaluefor consistency throughoutscipy.stats.Old attribute names are still allowed for backward compatibility.
scipy.stats.andersonnow returns the parameters of the fitteddistribution in a
scipy.stats._result_classes.FitResultobject.plotmethod ofscipy.stats._result_classes.FitResultnow acceptsa
plot_typeparameter; the options are'hist'(histogram, default),'qq'(Q-Q plot),'pp'(P-P plot), and'cdf'(empirical CDFplot).
scipy.stats.kstest) now return thelocation (argmax) at which the statistic is calculated and the variant
of the statistic used.
Improved the performance of several
scipy.statsfunctions.scipy.stats.cramervonmises_2sampandscipy.stats.ks_2sampwithmethod='exact'.scipy.stats.siegelslopes.scipy.stats.mstats.hdquantile_sd.scipy.stats.binned_statistic_ddfor severalNumPy statistics, and binned statistics methods now support complex data.
Added the
scrambleoptional argument toscipy.stats.qmc.LatinHypercube.It replaces
centered, which is now deprecated.Added a parameter
optimizationto allscipy.stats.qmc.QMCEnginesubclasses to improve characteristics of the quasi-random variates.
Added tie correction to
scipy.stats.mood.Added tutorials for resampling methods in
scipy.stats.scipy.stats.bootstrap,scipy.stats.permutation_test, andscipy.stats.monte_carlo_testnow automatically detect whether the providedstatisticis vectorized, so passing thevectorizedargumentexplicitly is no longer required to take advantage of vectorized statistics.
Improved the speed of
scipy.stats.permutation_testfor permutation types'samples'and'pairings'.Added
axis,nan_policy, and masked array support toscipy.stats.jarque_bera.Added the
nan_policyoptional argument toscipy.stats.rankdata.Deprecated features
scipy.miscmodule and all the methods inmiscare deprecated in v1.10and will be completely removed in SciPy v2.0.0. Users are suggested to
utilize the
scipy.datasetsmodule instead for the dataset methods.scipy.stats.qmc.LatinHypercubeparametercenteredhas been deprecated.It is replaced by the
scrambleargument for more consistency with otherQMC engines.
scipy.interpolate.interp2dclass has been deprecated. The docstring of thedeprecated routine lists recommended replacements.
Expired Deprecations
There is an ongoing effort to follow through on long-standing deprecations.
The following previously deprecated features are affected:
cond&rcondkwargs inlinalg.pinvscipy.linalg.blas.{clapack, flapack}scipy.stats.NumericalInverseHermiteand removedtol&max_intervalskwargs fromscipy.stats.sampling.NumericalInverseHermitelocal_search_optionskwarg frromscipy.optimize.dual_annealing.Other changes
scipy.stats.bootstrap,scipy.stats.permutation_test, andscipy.stats.monte_carlo_testnow automatically detect whether the providedstatisticis vectorized by looking for anaxisparameter in thesignature of
statistic. If anaxisparameter is present instatisticbut should not be relied on for vectorized calls, users mustpass option
vectorized==Falseexplicitly.scipy.stats.multivariate_normalwill now raise aValueErrorwhen thecovariance matrix is not positive semidefinite, regardless of which method
is called.
Authors
A total of 184 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.
v1.9.3Compare Source
SciPy 1.9.3 Release Notes
SciPy
1.9.3is a bug-fix release with no new featurescompared to
1.9.2.Authors
A total of 31 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.
v1.9.2Compare Source
SciPy 1.9.2 Release Notes
SciPy
1.9.2is a bug-fix release with no new featurescompared to
1.9.1. It also provides wheels for Python3.11on several platforms.
Authors
A total of 14 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.
v1.9.1Compare Source
SciPy 1.9.1 Release Notes
SciPy
1.9.1is a bug-fix release with no new featurescompared to
1.9.0. Notably, some important meson buildfixes are included.
Authors
A total of 8 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.
v1.9.0Compare Source
SciPy 1.9.0 Release Notes
SciPy
1.9.0is the culmination of 6 months of hard work. It containsmany 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 -Wdand check forDeprecationWarnings).Our development attention will now shift to bug-fix releases on the
1.9.x branch, and on adding new features on the main branch.
This release requires Python
3.8-3.11and NumPy1.18.5or greater.For running on PyPy, PyPy3
6.0+is required.Highlights of this release
meson, substantially improvingour build performance, and providing better build-time configuration and
cross-compilation support,
scipy.optimize.milp, new function for mixed-integer linearprogramming,
scipy.stats.fitfor fitting discrete and continuous distributionsto data,
scipy.interpolate.RegularGridInterpolator,scipy.optimize.direct.New features
scipy.interpolateimprovementsRBFInterpolatorevaluation with high dimensionalinterpolants.
scipy.interpolate.RegularGridInterpolatorand its tutorial.scipy.interpolate.RegularGridInterpolatorandscipy.interpolate.interpnnow accept descending ordered points.
RegularGridInterpolatornow handles length-1 grid axes.BivariateSplinesubclasses have a new methodpartial_derivativewhich constructs a new spline object representing a derivative of an
original spline. This mirrors the corresponding functionality for univariate
splines,
splderandBSpline.derivative, and can substantially speedup repeated evaluation of derivatives.
scipy.linalgimprovementsscipy.linalg.expmnow accepts nD arrays. Its speed is also improved.3.7.1.scipy.fftimprovementsuarraymultimethods forscipy.fft.fhtandscipy.fft.ifhtto allow provision of third party backend implementations such as those
recently added to CuPy.
scipy.optimizeimprovementsA new global optimizer,
scipy.optimize.direct(DIviding RECTangles algorithm)was added. For problems with inexpensive function evaluations, like the ones
in the SciPy benchmark suite,
directis competitive with the best othersolvers in SciPy (
dual_annealinganddifferential_evolution) in termsof execution time. See
gh-14300 <https://github.com/scipy/scipy/pull/14300>__ for more details.Add a
full_outputparameter toscipy.optimize.curve_fitto outputadditional solution information.
Add a
integralityparameter toscipy.optimize.differential_evolution,enabling integer constraints on parameters.
Add a
vectorizedparameter to call a vectorized objective function onlyonce per iteration. This can improve minimization speed by reducing
interpreter overhead from the multiple objective function calls.
The default method of
scipy.optimize.linprogis now'highs'.Added
scipy.optimize.milp, new function for mixed-integer linearprogramming.
Added Newton-TFQMR method to
newton_krylov.Added support for the
Boundsclass inshgoanddual_annealingfora more uniform API across
scipy.optimize.Added the
vectorizedkeyword todifferential_evolution.approx_fprimenow works with vector-valued functions.scipy.signalimprovementsscipy.signal.windows.kaiser_bessel_derivedwasadded to compute the Kaiser-Bessel derived window.
hilbertoperations are now faster as a result of moreconsistent
dtypehandling.scipy.sparseimprovementscopyparameter toscipy.sparce.csgraph.laplacian. Using inplacecomputation with
copy=Falsereduces the memory footprint.dtypeparameter toscipy.sparce.csgraph.laplacianfor type casting.symmetrizedparameter toscipy.sparce.csgraph.laplacianto producesymmetric Laplacian for directed graphs.
formparameter toscipy.sparce.csgraph.laplaciantaking one of thethree values:
array, orfunction, orlodetermining the format ofthe output Laplacian:
arrayis a numpy array (backward compatible default);functionis a pointer to a lambda-function evaluating theLaplacian-vector or Laplacian-matrix product;
loresults in the format of theLinearOperator.scipy.sparse.linalgimprovementslobpcgperformance improvements for small input cases.scipy.spatialimprovementsorderparameter toscipy.spatial.transform.Rotation.from_quatand
scipy.spatial.transform.Rotation.as_quatto specify quaternion format.scipy.statsimprovementsscipy.stats.monte_carlo_testperforms one-sample Monte Carlo hypothesistests to assess whether a sample was drawn from a given distribution. Besides
reproducing the results of hypothesis tests like
scipy.stats.ks_1samp,scipy.stats.normaltest, andscipy.stats.cramervonmiseswithout small samplesize limitations, it makes it possible to perform similar tests using arbitrary
statistics and distributions.
Several
scipy.statsfunctions support newaxis(integer or tuple ofintegers) and
nan_policy('raise', 'omit', or 'propagate'), andkeepdimsarguments.These functions also support masked arrays as inputs, even if they do not have
a
scipy.stats.mstatscounterpart. Edge cases for multidimensional arrays,such as when axis-slices have no unmasked elements or entire inputs are of
size zero, are handled consistently.
Add a
weightparameter toscipy.stats.hmean.Several improvements have been made to
scipy.stats.levy_stable. Substantialimprovement has been made for numerical evaluation of the pdf and cdf,
resolving #12658 and
#14944. The improvement is
particularly dramatic for stability parameter
alphaclose to or equal to 1and for
alphabelow but approaching its maximum value of 2. The alternativefast Fourier transform based method for pdf calculation has also been updated
to use the approach of Wang and Zhang from their 2008 conference paper
Simpson’s rule based FFT method to compute densities of stable distribution,
making this method more competitive with the default method. In addition,
users now have the option to change the parametrization of the Levy Stable
distribution to Nolan's "S0" parametrization which is used internally by
SciPy's pdf and cdf implementations. The "S0" parametrization is described in
Nolan's paper Numerical calculation of stable densities and distribution
functions upon which SciPy's
implementation is based. "S0" has the advantage that
deltaandgammaare proper location and scale parameters. With
deltaandgammafixed,the location and scale of the resulting distribution remain unchanged as
alphaandbetachange. This is not the case for the default "S1"parametrization. Finally, more options have been exposed to allow users to
trade off between runtime and accuracy for both the default and FFT methods of
pdf and cdf calculation. More information can be found in the documentation
here (to be linked).
Added
scipy.stats.fitfor fitting discrete and continuous distributions todata.
The methods
"pearson"and"tippet"fromscipy.stats.combine_pvalueshave been fixed to return the correct p-values, resolving
#15373. In addition, the
documentation for
scipy.stats.combine_pvalueshas been expanded and improved.Unlike other reduction functions,
stats.modedidn't consume the axisbeing operated on and failed for negative axis inputs. Both the bugs have been
fixed. Note that
stats.modewill now consume the input axis and return anndarray with the
axisdimension removed.Replaced implementation of
scipy.stats.ncfwith the implementation fromBoost for improved reliability.
Add a
bitsparameter toscipy.stats.qmc.Sobol. It allows to use from 0to 64 bits to compute the sequence. Default is
Nonewhich corresponds to30 for backward compatibility. Using a higher value allow to sample more
points. Note:
bitsdoes not affect the output dtype.Add a
integersmethod toscipy.stats.qmc.QMCEngine. It allows samplingintegers using any QMC sampler.
Improved the fit speed and accuracy of
stats.pareto.Added
qrvsmethod toNumericalInversePolynomialto match thesituation for
NumericalInverseHermite.Faster random variate generation for
gennormandnakagami.lloyd_centroidal_voronoi_tessellationhas been added to allow improvedsample distributions via iterative application of Voronoi diagrams and
centering operations
Add
scipy.stats.qmc.PoissonDiskto sample using the Poisson disk samplingmethod. It guarantees that samples are separated from each other by a
given
radius.Add
scipy.stats.pmeanto calculate the weighted power mean also calledgeneralized mean.
Deprecated features
nof several distributions,use of the distribution
momentmethod with keyword argumentnisdeprecated. Keyword
nis replaced with keywordorder.intervalmethod with keyword argumentsalphais deprecated. Keywordalphais replaced with keywordconfidence.'simplex','revised simplex', and'interior-point'methodsof
scipy.optimize.linprogare deprecated. Methodshighs,highs-ds,or
highs-ipmshould be used in new code.stats.mode.pandas.DataFrame.modecan be used instead.spatial.distance.kulsinskihas been deprecated in favorof
spatial.distance.kulczynski1.maxiterkeyword of the truncated Newton (TNC) algorithm has beendeprecated in favour of
maxfun.verticeskeyword ofDelauney.qhullnow raises aDeprecationWarning, after having been deprecated in documentation only
for a long time.
extradockeyword ofrv_continuous,rv_discreteandrv_samplenow raises a DeprecationWarning, after having been deprecated indocumentation only for a long time.
Expired Deprecations
There is an ongoing effort to follow through on long-standing deprecations.
The following previously deprecated features are affected:
radius=Nonetoscipy.spatial.SphericalVoronoinow raises anerror (not adding
radiusdefaults to 1, as before).ndim > 1._rvsmethod of statistical distributions now requires asizeparameter.
fillvaluethat cannot be cast to the output type inscipy.signal.convolve2dnow raises an error.scipy.spatial.distancenow enforces that the input vectors areone-dimensional.
stats.itemfreq.stats.median_absolute_deviation.n_jobskeyword argument and use ofk=Nonefromkdtree.query.rightkeyword frominterpolate.PPoly.extend.debugkeyword fromscipy.linalg.solve_*._ppformscipy.interpolate.matvecandmatmat.mlabtruncation mode fromcluster.dendrogram.cluster.vq.py_vq2.ftolandxtolfromoptimize.minimize(method='Nelder-Mead').signal.windows.hanning.gegvfunctions fromlinalg; this raises the minimallyrequired LAPACK version to 3.7.1.
spatial.distance.matching.scipy.randomfornumpy.random.scipy.misc(docformat,inherit_docstring_from,extend_notes_in_docstring,replace_notes_in_docstring,indentcount_lines,filldoc,unindent_dict,unindent_string).linalg.pinv2.Backwards incompatible changes
scipy.statsfunctions now convertnp.matrixtonp.ndarraysbefore the calculation is performed. In this case, the output will be a scalar
or
np.ndarrayof appropriate shape rather than a 2Dnp.matrix.Similarly, while masked elements of masked arrays are still ignored, the
output will be a scalar or
np.ndarrayrather than a masked array withmask=False.scipy.optimize.linprogis now'highs', not'interior-point'(which is now deprecated), so callback functions andsome options are no longer supported with the default method. With the
default method, the
xattribute of the returnedOptimizeResultisnow
None(instead of a non-optimal array) when an optimal solutioncannot be found (e.g. infeasible problem).
scipy.stats.combine_pvalues, the sign of the test statistic returnedfor the method
"pearson"has been flipped so that higher values of thestatistic now correspond to lower p-values, making the statistic more
consistent with those of the other methods and with the majority of the
literature.
scipy.linalg.expmdue to historical reasons was using the sparseimplementation and thus was accepting sparse arrays. Now it only works with
nDarrays. For sparse usage,
scipy.sparse.linalg.expmneeds to be usedexplicitly.
scipy.stats.circvarhas reverted to the one that isstandard in the literature; note that this is not the same as the square of
scipy.stats.circstd.QMCEngineinMultinomialQMCandMultivariateNormalQMC. It removes the methodsfast_forwardandreset.MultinomialQMCnow require the number of trials withn_trials.Hence,
MultinomialQMC.randomoutput has now the correct shape(n, pvals).F_onewayConstantInputWarning,F_onewayBadInputSizesWarning,PearsonRConstantInputWarning,PearsonRNearConstantInputWarning,SpearmanRConstantInputWarning, andBootstrapDegenerateDistributionWarning) have been replaced with moregeneral warnings.
Other changes
A draft developer CLI is available for SciPy, leveraging the
doit,clickandrich-clicktools. For more details, seegh-15959.
The SciPy contributor guide has been reorganized and updated
(see #15947 for details).
QUADPACK Fortran routines in
scipy.integrate, which powerscipy.integrate.quad, have been marked asrecursive. This should fix rareissues in multivariate integration (
nquadand friends) and obviate the needfor compiler-specific compile flags (
/recursivefor ifort etc). Please filean issue if this change turns out problematic for you. This is also true for
FITPACKroutines inscipy.interpolate, which powersplrep,splevetc., and*UnivariateSplineand*BivariateSplineclasses.the
USE_PROPACKenvironment variable has been renamed toSCIPY_USE_PROPACK; setting to a non-zero value will enablethe usage of the
PROPACKlibrary as beforeBuilding SciPy on windows with MSVC now requires at least the vc142
toolset (available in Visual Studio 2019 and higher).
Lazy access to subpackages
Before this release, all subpackages of SciPy (
cluster,fft,ndimage,etc.) had to be explicitly imported. Now, these subpackages are lazily loaded
as soon as they are accessed, so that the following is possible (if desired
for interactive use, it's not actually recommended for code,
see :ref:
scipy-api):import scipy as sp; sp.fft.dct([1, 2, 3]). Advantages include: making iteasier to navigate SciPy in interactive terminals, reducing subpackage import
conflicts (which before required
import networkx.linalg as nla; import scipy.linalg as sla),and avoiding repeatedly having to update imports during teaching &
experimentation. Also see
the related community specification document.
SciPy switched to Meson as its build system
This is the first release that ships with Meson as
the build system. When installing with
piporpypa/build, Meson will beused (invoked via the
meson-pythonbuild hook). This change bringssignificant benefits - most importantly much faster build times, but also
better support for cross-compilation and cleaner build logs.
Note:
This release still ships with support for
numpy.distutils-based buildsas well. Those can be invoked through the
setup.pycommand-lineinterface (e.g.,
python setup.py install). It is planned to removenumpy.distutilssupport before the 1.10.0 release.When building from source, a number of things have changed compared to building
with
numpy.distutils:meson,ninja, andpkg-config.setuptoolsandwheelare no longer needed.discovery mechanism has: that is now using
pkg-configinstead of hardcodedpaths or a
site.cfgfile.blas-lapack-selectionfordetails.
The two CLIs that can be used to build wheels are
pipandbuild. Inaddition, the SciPy repo contains a
python dev.pyCLI for any kind ofdevelopment task (see its
--helpfor details). For a comparison between old(
distutils) and new (meson) build commands, see :ref:meson-faq.For more information on the introduction of Meson support in SciPy, see
gh-13615 <https://github.com/scipy/scipy/issues/13615>__ andthis blog post <https://labs.quansight.org/blog/2021/07/moving-scipy-to-meson/>__.Authors
A total of 154 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.
v1.8.1Compare Source
SciPy 1.8.1 Release Notes
SciPy
1.8.1is a bug-fix release with no new featurescompared to
1.8.0. Notably, usage of Pythran has beenrestored for Windows builds/binaries.
Authors
A total of 17 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.
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Renovate Bot.
chore(deps): update dependency scipy to ~1.9to chore(deps): update dependency scipy to ~1.1022640d72f9to156019fdac