Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
All Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

SciPy 1.2.0 is out with a new optimization algorithm named ‘shgo’ and more!

Save for later
  • 180 min read
  • 2018-12-19 06:54:02

article-image

Yesterday, the SciPy community released SciPy 1.2.0. This release contains many new features such as numerous bug-fixes, improved test coverage, and better documentation. This release also includes a number of deprecations and API changes. This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater. The functions hyp2f0, hyp1f2 and hyp3f0 in scipy.special have
been deprecated.

According to the community, “this will be the last SciPy release to support Python 2.7. Consequently, the 1.2.x series will be long term support (LTS) release; we will backport bug fixes until 1 Jan 2020”.

Highlights of SciPy 1.2.0

  • This release has improvements in 1-D root finding with a new solver, toms748, and a new unified interface, root_scalar.
  • SciPy 1.2.0 has new dual_annealing optimization method that combines stochastic and local deterministic searching.
  • This release features a new optimization algorithm named ‘shgo (simplicial homology
    global optimization)’ for derivative-free optimization problems.
  • A new category of quaternion-based transformations are available in scipy.spatial.transform

New improvements in SciPy 1.2.0

scipy.ndimage improvements


Proper spline coefficient calculations have been added for the mirror, wrap, and reflect modes of scipy.ndimage.rotate

scipy.fftpack improvements


Scipy.fftpack now supports DCT-IV, DST-IV, DCT-I, and DST-I orthonormalization.

Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at €14.99/month. Cancel anytime

scipy.interpolate improvements


scipy.interpolate.pade now accepts a new argument for the order of the numerator.

scipy.cluster improvements


scipy.cluster.vq.kmeans2 has now gained a new initialization method known as kmeans++.

scipy.special improvements


The function softmax has been added to scipy.special.

scipy.optimize improvements


The one-dimensional nonlinear solvers have been given a unified interface scipy.optimize.root_scalar, similar to the scipy.optimize.root interface for multi-dimensional solvers. scipy.optimize.newton can now accept a scalar or an array.

scipy.signal improvements


Digital filter design functions now include a parameter to specify the sampling rate. Previously, digital filters could only be specified using normalized frequency, but different functions used different scales (e.g. 0 to 1 for butter vs 0 to π for freqz), leading to errors and confusion.

scipy.sparse improvements


The scipy.sparse.bsr_matrix.tocsr method is now implemented directly instead of converting via COO format, and the scipy.sparse.bsr_matrix.tocsc method is now also routed via CSR conversion instead of COO. The efficiency of both conversions is now improved.

scipy.spatial improvements


The function scipy.spatial.distance.jaccard has been modified to return 0 instead of np.nan when two all-zero vectors are compared. Support for the Jensen Shannon distance, the square-root of the divergence, has been added under scipy.spatial.distance.jensenshannon.
A new category of quaternion-based transformations are available in scipy.spatial.transform, including spherical linear interpolation of rotations (Slerp), conversions to and from quaternions, Euler angles, and general rotation and inversion capabilities (spatial.transform.Rotation), and uniform random sampling of 3D rotations (spatial.transform.Rotation.random).

scipy.stats improvements


Levy Stable Parameter Estimation, PDF, and CDF calculations are now supported
for scipy.stats.levy_stable. stats and mstats now have access to a new regression method,
siegelslopes, a robust linear regression algorithm. The Brunner-Munzel test is now available as brunnermunzel in stats and mstats.

scipy.linalg improvements


scipy.linalg.lapack now exposes the LAPACK routines using the Rectangular Full Packed storage (RFP) for upper triangular, lower triangular, symmetric, or Hermitian matrices; the upper trapezoidal fat matrix RZ decomposition routines are now available as well.
To know more about the SciPy 1.2.0 and the its backward incompatible changes, read the release notes on GitHub.

Implementing matrix operations using SciPy and NumPy

How to Compute Interpolation in SciPy

How to compute Discrete Fourier Transform (DFT) using SciPy