Update dependency scipy to ~=1.12.0 #45
No reviewers
Labels
No Label
Kind/Breaking
Kind/Bug
Kind/Documentation
Kind/Enhancement
Kind/Feature
Kind/Security
Kind/Testing
Priority
Critical
Priority
High
Priority
Low
Priority
Medium
Reviewed
Confirmed
Reviewed
Duplicate
Reviewed
Invalid
Reviewed
Won't Fix
Status
Abandoned
Status
Blocked
Status
Need More Info
No Milestone
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: profitroll/PhotosAPI#45
Loading…
Reference in New Issue
Block a user
No description provided.
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.11.0
->~=1.12.0
Release Notes
scipy/scipy (scipy)
v1.12.0
: SciPy 1.12.0Compare Source
SciPy 1.12.0 Release Notes
SciPy
1.12.0
is the culmination of6
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 -Wd
and check forDeprecationWarning
s).Our development attention will now shift to bug-fix releases on the
1.12.x branch, and on adding new features on the main branch.
This release requires Python
3.9+
and NumPy1.22.4
or greater.For running on PyPy, PyPy3
6.0+
is required.Highlights of this release
scipy.special
, and to all ofscipy.fft
andscipy.cluster
. There arelikely to be bugs and early feedback for usage with CuPy arrays, PyTorch
tensors, and other array API compatible libraries is appreciated. Use the
SCIPY_ARRAY_API
environment variable for testing.ShortTimeFFT
, provides a more versatile implementation of theshort-time Fourier transform (STFT), its inverse (ISTFT) as well as the (cross-)
spectrogram. It utilizes an improved algorithm for calculating the ISTFT.
now additionally support sparse arrays, further facilitating the migration
from sparse matrices.
scipy.stats
API now has improved support for handlingNaN
values, masked arrays, and more fine-grained shape-handling. Theaccuracy and performance of a number of
stats
methods have been improved,and a number of new statistical tests and distributions have been added.
New features
scipy.cluster
improvementsCuPy arrays and array API compatible array libraries are now accepted
(GPU support is limited to functions with pure Python implementations).
CPU arrays which can be converted to and from NumPy are supported
module-wide and returned arrays will match the input type.
This behaviour is enabled by setting the
SCIPY_ARRAY_API
environmentvariable before importing
scipy
. This experimental support is stillunder development and likely to contain bugs - testing is very welcome.
scipy.fft
improvementspart of the
fft
array API standard extension module, as well as theFast Hankel Transforms and the basic FFTs which are not in the extension
module, now accept PyTorch tensors, CuPy arrays and array API compatible
array libraries. CPU arrays which can be converted to and from NumPy arrays
are supported module-wide and returned arrays will match the input type.
This behaviour is enabled by setting the
SCIPY_ARRAY_API
environmentvariable before importing
scipy
. This experimental support is still underdevelopment and likely to contain bugs - testing is very welcome.
scipy.integrate
improvementsscipy.integrate.cumulative_simpson
for cumulative quadraturefrom sampled data using Simpson's 1/3 rule.
scipy.interpolate
improvementsNdBSpline
represents tensor-product splines in N dimensions.This class only knows how to evaluate a tensor product given coefficients
and knot vectors. This way it generalizes
BSpline
for 1D data to N-D, andparallels
NdPPoly
(which represents N-D tensor product polynomials).Evaluations exploit the localized nature of b-splines.
NearestNDInterpolator.__call__
accepts**query_options
, which arepassed through to the
KDTree.query
call to find nearest neighbors. Thisallows, for instance, to limit the neighbor search distance and parallelize
the query using the
workers
keyword.BarycentricInterpolator
now allows computing the derivatives.CloughTocher2DInterpolator
instance, while also saving the barycentriccoordinates of interpolation points.
scipy.linalg
improvementsdtgsyl
andstgsyl
.scipy.optimize
improvementsscipy.optimize.isotonic_regression
has been added to allow nonparametric isotonicregression.
scipy.optimize.nnls
is rewritten in Python and now implements the so-calledfnnls or fast nnls, making it more efficient for high-dimensional problems.
scipy.optimize.root
andscipy.optimize.root_scalar
now reports the method used.
callback
method ofscipy.optimize.differential_evolution
can now bepassed more detailed information via the
intermediate_results
keywordparameter. Also, the evolution
strategy
now accepts a callable foradditional customization. The performance of
differential_evolution
hasalso been improved.
scipy.optimize.minimize
methodNewton-CG
now supports functions thatreturn sparse Hessian matrices/arrays for the
hess
parameter and is slightlymore efficient.
scipy.optimize.minimize
methodBFGS
now accepts an initial estimate for theinverse of the Hessian, which allows for more efficient workflows in some
circumstances. The new parameter is
hess_inv0
.scipy.optimize.minimize
methodsCG
,Newton-CG
, andBFGS
now acceptparameters
c1
andc2
, allowing specification of the Armijo and curvature ruleparameters, respectively.
scipy.optimize.curve_fit
performance has improved due to more efficient memoizationof the callable function.
scipy.signal
improvementsfreqz
,freqz_zpk
, andgroup_delay
are now more accuratewhen
fs
has a default value.ShortTimeFFT
provides a more versatile implementation of theshort-time Fourier transform (STFT), its inverse (ISTFT) as well as the (cross-)
spectrogram. It utilizes an improved algorithm for calculating the ISTFT based on
dual windows and provides more fine-grained control of the parametrization especially
in regard to scaling and phase-shift. Functionality was implemented to ease
working with signal and STFT chunks. A section has been added to the "SciPy User Guide"
providing algorithmic details. The functions
stft
,istft
andspectrogram
have been marked as legacy.
scipy.sparse
improvementssparse.linalg
iterative solverssparse.linalg.cg
,sparse.linalg.cgs
,sparse.linalg.bicg
,sparse.linalg.bicgstab
,sparse.linalg.gmres
, andsparse.linalg.qmr
are rewritten in Python.6.0.1
, along with a few additionalfixes.
eye_array
,random_array
,block_array
, andidentity
.kron
andkronsum
have been adjusted to additionally support operation on sparse arrays.
axes=(1, 0)
, to mirrorthe
.T
method.LaplacianNd
now allows selection of the largest subset of eigenvalues,and additionally now supports retrieval of the corresponding eigenvectors.
The performance of
LaplacianNd
has also been improved.dok_matrix
anddok_array
has been improved,and their inheritance behavior should be more robust.
hstack
,vstack
, andblock_diag
now work with sparse arrays, andpreserve the input sparse type.
scipy.sparse.linalg.matrix_power
, has been added, allowingfor exponentiation of sparse arrays.
scipy.spatial
improvementsspatial.transform.Rotation
:__pow__
to raise a rotation to integer or fractional power andapprox_equal
to check if two rotations are approximately equal.Rotation.align_vectors
was extended to solve a constrainedalignment problem where two vectors are required to be aligned precisely.
Also when given a single pair of vectors, the algorithm now returns the
rotation with minimal magnitude, which can be considered as a minor
backward incompatible change.
spatial.transform.Rotation
called Davenportangles is available through
from_davenport
andas_davenport
methods.distance.hamming
anddistance.correlation
.SphericalVoronoi
sort_vertices_of_regions
and two dimensional area calculations.
scipy.special
improvementsscipy.special.stirling2
for computation of Stirling numbers of thesecond kind. Both exact calculation and an asymptotic approximation
(the default) are supported via
exact=True
andexact=False
(thedefault) respectively.
scipy.special.betaincc
for computation of the complementaryincomplete Beta function and
scipy.special.betainccinv
for computation ofits inverse.
scipy.special.betainc
andscipy.special.betaincinv
.scipy.special.log_ndtr
,scipy.special.ndtr
,scipy.special.ndtri
,scipy.special.erf
,scipy.special.erfc
,scipy.special.i0
,scipy.special.i0e
,scipy.special.i1
,scipy.special.i1e
,scipy.special.gammaln
,scipy.special.gammainc
,scipy.special.gammaincc
,scipy.special.logit
, andscipy.special.expit
now accept PyTorch tensorsand CuPy arrays. These features are still under development and likely to
contain bugs, so they are disabled by default; enable them by setting a
SCIPY_ARRAY_API
environment variable to1
before importingscipy
.Testing is appreciated!
scipy.stats
improvementsscipy.stats.quantile_test
, a nonparametric test of whether ahypothesized value is the quantile associated with a specified probability.
The
confidence_interval
method of the result object gives a confidenceinterval of the quantile.
scipy.stats.sampling.FastGeneratorInversion
provides a convenientinterface to fast random sampling via numerical inversion of distribution
CDFs.
scipy.stats.geometric_discrepancy
adds geometric/topological discrepancymetrics for random samples.
scipy.stats.multivariate_normal
now has afit
method for fittingdistribution parameters to data via maximum likelihood estimation.
scipy.stats.bws_test
performs the Baumgartner-Weiss-Schindler test ofwhether two-samples were drawn from the same distribution.
scipy.stats.jf_skew_t
implements the Jones and Faddy skew-t distribution.scipy.stats.anderson_ksamp
now supports a permutation version of the testusing the
method
parameter.fit
methods ofscipy.stats.halfcauchy
,scipy.stats.halflogistic
, andscipy.stats.halfnorm
are faster and more accurate.scipy.stats.beta
entropy
accuracy has been improved for extreme values ofdistribution parameters.
sf
and/orisf
methods have been improved forseveral distributions:
scipy.stats.burr
,scipy.stats.hypsecant
,scipy.stats.kappa3
,scipy.stats.loglaplace
,scipy.stats.lognorm
,scipy.stats.lomax
,scipy.stats.pearson3
,scipy.stats.rdist
, andscipy.stats.pareto
.axis
,nan_policy
, andkeep_dims
:scipy.stats.entropy
,scipy.stats.differential_entropy
,scipy.stats.variation
,scipy.stats.ansari
,scipy.stats.bartlett
,scipy.stats.levene
,scipy.stats.fligner
,scipy.stats.circmean
,scipy.stats.circvar
,scipy.stats.circstd
,scipy.stats.tmean
,scipy.stats.tvar
,scipy.stats.tstd
,scipy.stats.tmin
,scipy.stats.tmax
,and
scipy.stats.tsem
.logpdf
andfit
methods ofscipy.stats.skewnorm
have been improved.scipy.stats.betanbinom
.scipy.stats.invwishart
rvs
andlogpdf
.scipy.stats.boxcox_normmax
withmethod='mle'
has been eliminated, and the returned value oflmbda
isconstrained such that the transformed data will not overflow.
scipy.stats.nakagami
stats
is more accurate and reliable.scipy.norminvgauss.pdf
has been eliminated.scipy.stats.circmean
,scipy.stats.circvar
,scipy.stats.circstd
, andscipy.stats.entropy
.scipy.stats.dirichlet
has gained a new covariance (cov
) method.entropy
method ofscipy.stats.multivariate_t
for largedegrees of freedom.
scipy.stats.loggamma
has an improvedentropy
method.Deprecated features
Error messages have been made clearer for objects that don't exist in the
public namespace and warnings sharpened for private attributes that are not
supposed to be imported at all.
scipy.signal.cmplx_sort
has been deprecated and will be removed inSciPy 1.15. A replacement you can use is provided in the deprecation message.
Values the the argument
initial
ofscipy.integrate.cumulative_trapezoid
other than
0
andNone
are now deprecated.scipy.stats.rvs_ratio_uniforms
is deprecated in favour ofscipy.stats.sampling.RatioUniforms
scipy.integrate.quadrature
andscipy.integrate.romberg
have beendeprecated due to accuracy issues and interface shortcomings. They will
be removed in SciPy 1.15. Please use
scipy.integrate.quad
instead.Coinciding with upcoming changes to function signatures (e.g. removal of a
deprecated keyword), we are deprecating positional use of keyword arguments
for the affected functions, which will raise an error starting with
SciPy 1.14. In some cases, this has delayed the originally announced
removal date, to give time to respond to the second part of the deprecation.
Affected functions are:
linalg.{eigh, eigvalsh, pinv}
integrate.simpson
signal.{firls, firwin, firwin2, remez}
sparse.linalg.{bicg, bicgstab, cg, cgs, gcrotmk, gmres, lgmres, minres, qmr, tfqmr}
special.comb
stats.kendalltau
All wavelet functions have been deprecated, as PyWavelets provides suitable
implementations; affected functions are:
signal.{daub, qmf, cascade, morlet, morlet2, ricker, cwt}
scipy.integrate.trapz
,scipy.integrate.cumtrapz
, andscipy.integrate.simps
havebeen deprecated in favour of
scipy.integrate.trapezoid
,scipy.integrate.cumulative_trapezoid
,and
scipy.integrate.simpson
respectively and will be removed in SciPy 1.14.The
tol
argument ofscipy.sparse.linalg.{bcg,bicstab,cg,cgs,gcrotmk,gmres,lgmres,minres,qmr,tfqmr}
is now deprecated in favour of
rtol
and will be removed in SciPy 1.14.Furthermore, the default value of
atol
for these functions is dueto change to
0.0
in SciPy 1.14.Expired Deprecations
There is an ongoing effort to follow through on long-standing deprecations.
The following previously deprecated features are affected:
centered
keyword ofscipy.stats.qmc.LatinHypercube
has been removed.Use
scrambled=False
instead ofcentered=True
.scipy.stats.binom_test
has been removed in favour ofscipy.stats.binomtest
.scipy.stats.iqr
, the use ofscale='raw'
has been removed in favourof
scale=1
.Backwards incompatible changes
Other changes
show_config
.Authors
A total of 163 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: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ 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.