Commit graph

71 commits

Author SHA1 Message Date
wiz
8292204475 *: recursive bump for perl 5.36 2022-06-28 11:30:51 +00:00
tnn
b57c84f032 py-scipy: disable __builtin_prefetch completely for now
It failed with GCC too. There is some bad interaction with py-numpy,
probably related to patch-numpy_core_include_numpy_npy__common.h.
Unbreak the build until I have time to investigate this.
2022-05-27 16:59:50 +00:00
tnn
5362e4315c py-scipy: disable __builtin_prefetch with clang 2022-05-26 14:49:59 +00:00
adam
40a8e8a65d py-scipy: updated to 1.8.1
SciPy 1.8.1 is a bug-fix release with no new features
compared to 1.8.0. Notably, usage of Pythran has been
restored for Windows builds/binaries.
2022-05-20 12:09:01 +00:00
tnn
8278f23f1f py-scipy: redo NetBSD fix so it doesn't have side effects on other opsys
Previous workaround could fail to compile when double and long double are
effectively the same type.
2022-05-13 09:49:31 +00:00
tnn
94e9886a2d py-scipy: work around undefined PLT symbol "log1pl" on NetBSD. Bump. 2022-05-03 15:14:54 +00:00
tnn
1726d03c45 cipy: fix build on SunOS (system header conflict) 2022-04-12 20:31:43 +00:00
adam
9b18048e0f py-scipy: updated to 1.8.0
SciPy 1.8.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.8.x branch, and on adding new features on the master branch.

This release requires Python 3.8+ and NumPy 1.17.3 or greater.

For running on PyPy, PyPy3 6.0+ is required.


**************************
Highlights of this release
**************************

- A sparse array API has been added for early testing and feedback; this
  work is ongoing, and users should expect minor API refinements over
  the next few releases.
- The sparse SVD library PROPACK is now vendored with SciPy, and an interface
  is exposed via `scipy.sparse.svds` with ``solver='PROPACK'``. It is currently
  default-off due to potential issues on Windows that we aim to
  resolve in the next release, but can be optionally enabled at runtime for
  friendly testing with an environment variable setting of ``USE_PROPACK=1``.
- A new `scipy.stats.sampling` submodule that leverages the ``UNU.RAN`` C
  library to sample from arbitrary univariate non-uniform continuous and
  discrete distributions
- All namespaces that were private but happened to miss underscores in
  their names have been deprecated.
2022-04-09 12:15:31 +00:00
wiz
bb579283d0 *: bump PKGREVISION for egg.mk users
They now have a tool dependency on py-setuptools instead of a DEPENDS
2022-01-04 20:53:26 +00:00
adam
54fe3b553b Forget about Python 3.6 2021-12-30 13:05:27 +00:00
tnn
130a44bc77 py-scipy: remove stale patch
it was added in 1.7.1 but there is no checksum, so patch is skipped.
Package apparently builds fine without it.
2021-12-10 14:21:14 +00:00
adam
3134a2d2ef py-scipy: updated to 1.7.3
SciPy 1.7.3 is a bug-fix release that provides binary wheels
for MacOS arm64 with Python 3.8, 3.9, and 3.10. The MacOS arm64 wheels
are only available for MacOS version 12.0 and greater, as explained
in Issue 14688, linked below.

Issues closed for 1.7.3
-----------------------
* Segmentation fault on import of scipy.integrate on Apple M1 ARM...
* BUG: ARPACK's eigsh & OpenBLAS from Apple Silicon M1 (arm64)...
* four CI failures on pre-release job
* Remaining test failures for macOS arm64 wheel
* BUG: Segmentation fault caused by scipy.stats.qmc.qmc.update_discrepancy

Pull requests for 1.7.3
-----------------------
* BLD: update pyproject.toml for Python 3.10 changes
* BUG: out of bounds indexing in stats.qmc.update_discrepancy
* MAINT: skip a few failing tests in \`1.7.x\` for macOS arm64
2021-11-30 17:00:44 +00:00
adam
5c32d14bee py-scipy: updated to 1.7.2
SciPy 1.7.2 is a bug-fix release with no new features
compared to 1.7.1. Notably, the release includes wheels
for Python 3.10, and wheels are now built with a newer
version of OpenBLAS, 0.3.17. Python 3.10 wheels are provided
for MacOS x86_64 (thin, not universal2 or arm64 at this time),
and Windows/Linux 64-bit. Many wheels are now built with newer
versions of manylinux, which may require newer versions of pip.
2021-11-06 11:53:13 +00:00
adam
2f5c78bebb py-scipy: updated to 1.7.1
SciPy 1.7.1 is a bug-fix release with no new features compared to 1.7.0.

1.7.0:

A new submodule for quasi-Monte Carlo, scipy.stats.qmc, was added
The documentation design was updated to use the same PyData-Sphinx theme as NumPy and other ecosystem libraries.
We now vendor and leverage the Boost C++ library to enable numerous improvements for long-standing weaknesses in scipy.stats
scipy.stats has six new distributions, eight new (or overhauled) hypothesis tests, a new function for bootstrapping, a class that enables fast random variate sampling and percentile point function evaluation, and many other enhancements.
cdist and pdist distance calculations are faster for several metrics, especially weighted cases, thanks to a rewrite to a new C++ backend framework
A new class for radial basis function interpolation, RBFInterpolator, was added to address issues with the Rbf class.
2021-11-02 18:51:02 +00:00
nia
414fc7869d math: Replace RMD160 checksums with BLAKE2s checksums
All checksums have been double-checked against existing RMD160 and
SHA512 hashes
2021-10-26 10:55:21 +00:00
nia
3c576fbd23 math: Remove SHA1 hashes for distfiles 2021-10-07 14:27:43 +00:00
adam
68fa60d278 py-scipy: updated to 1.6.3
Issues closed for 1.6.3
-----------------------
* Divide by zero in distance.yule
* prerelease_deps failures
* spatial rotation failure in (1.6.3) wheels repo (ARM64)

Pull requests for 1.6.3
-----------------------
* fix the matplotlib warning emitted during builing docs
* Divide by zero in yule dissimilarity of constant vectors
* deprecated np.typeDict
* substitute np.math.factorial with math.factorial
* add random seeds in Rotation module
2021-05-03 17:55:01 +00:00
thor
3ed59ecbbc math/py-scipy: drop direct BLAS dependency, used via math/py-numpy 2021-04-20 21:39:25 +00:00
tnn
9f2297f18e revert wrong fix for py-scipy python 3.6 deprecation, fix properly 2021-04-09 14:41:34 +00:00
nia
f707b637e3 py-scipy: unbreak bulk builds
if you mark a package incompatible with python version X, you also
need to mark any dependent packages incompatible with version X
2021-04-06 13:11:17 +00:00
prlw1
56a4f603de py-scipy: ride update and chmod some files to avoid PKG_DEVELOPER warnings 2021-04-06 09:00:42 +00:00
tnn
618a3f903b py-scipy: update to 1.6.2
Highlights of this release

scipy.ndimage improvements: Fixes and ehancements to boundary extension
  modes for interpolation functions. Support for complex-valued inputs in many
  filtering and interpolation functions. New grid_mode option for
  scipy.ndimage.zoom to enable results consistent with scikit-image's
  rescale.
scipy.optimize.linprog has fast, new methods for large, sparse problems
  from the HiGHS library.
scipy.stats improvements including new distributions, a new test, and
  enhancements to existing distributions and tests

Deprecated features

scipy.spatial changes
  Calling KDTree.query with k=None to find all neighbours is deprecated.
  Use KDTree.query_ball_point instead.
distance.wminkowski was deprecated; use distance.minkowski and supply
  weights with the w keyword instead.
Backwards incompatible changes
  Using scipy.fft as a function aliasing numpy.fft.fft was removed after
  being deprecated in SciPy 1.4.0. As a result, the scipy.fft submodule
  must be explicitly imported now, in line with other SciPy subpackages.
  scipy.signal changes
The output of decimate, lfilter_zi, lfiltic, sos2tf, and
  sosfilt_zi have been changed to match numpy.result_type of their inputs.
The window function slepian was removed.
The frechet_l and frechet_r distributions were removed.
2021-04-05 19:26:07 +00:00
bacon
87edcb24b1 math/blas, math/lapack: Install interchangeable BLAS system
Install the new interchangeable BLAS system created by Thomas Orgis,
currently supporting Netlib BLAS/LAPACK, OpenBLAS, cblas, lapacke, and
Apple's Accelerate.framework.  This system allows the user to select any
BLAS implementation without modifying packages or using package options, by
setting PKGSRC_BLAS_TYPES in mk.conf. See mk/blas.buildlink3.mk for details.

This commit should not alter behavior of existing packages as the system
defaults to Netlib BLAS/LAPACK, which until now has been the only supported
implementation.

Details:

Add new mk/blas.buildlink3.mk for inclusion in dependent packages
Install compatible Netlib math/blas and math/lapack packages
Update math/blas and math/lapack MAINTAINER approved by adam@
OpenBLAS, cblas, and lapacke will follow in separate commits
Update direct dependents to use mk/blas.buildlink3.mk
Perform recursive revbump
2020-10-12 21:51:57 +00:00
tnn
94862f102d py-scipy: update to 1.5.2
Done to fix build w/ gfortran 10. "make test" was mostly OK except for
three tests that returned nan where inf was expected ...

Highlights of this release:
  wrappers for more than a dozen new LAPACK routines are now available
  in scipy.linalg.lapack
  Improved support for leveraging 64-bit integer size from linear algebra
  backends
  addition of the probability distribution for two-sided one-sample
  Kolmogorov-Smirnov tests

New features:
  Too many; see release notes at github.

Backwards incompatible changes:
  The output signatures of ?syevr, ?heevr have been changed from
  w, v, info to w, v, m, isuppz, info
  The order of output arguments w, v of <sy/he>{gv, gvd, gvx} is
  swapped.
  The output length of scipy.signal.upfirdn has been corrected, resulting
  outputs may now be shorter for some combinations of up/down ratios and
  input signal and filter lengths.
  scipy.signal.resample now supports a domain keyword argument for
  specification of time or frequency domain input.
2020-08-04 01:16:19 +00:00
adam
45b341904b py-scipy: updated to 1.4.1
SciPy 1.4.1 is a bug-fix release with no new features
compared to 1.4.0. Importantly, it aims to fix a problem
where an older version of pybind11 may cause a segmentation
fault when imported alongside incompatible libraries.

SciPy 1.4.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.4.x branch, and on adding new features on the master branch.
2020-04-28 09:45:27 +00:00
rillig
c18ce611ff mk: make BROKEN a list of lines, like PKG_FAIL_REASON
Packages defined the variable BROKEN inconsistently. Some added quotes,
like they are required in PKG_FAIL_REASON, some omitted them.

Now all packages behave the same, and pkglint will flag future mistakes.
2019-11-04 17:47:29 +00:00
rillig
79ae9cc434 math: align variable assignments
pkglint -Wall -F --only aligned -r

Manual correction in R/Makefile.extension for the MASTER_SITES
continuation line.
2019-11-02 16:16:18 +00:00
adam
76715d510f py-scipy: updated to 1.3.0
SciPy 1.3.0 Release Notes

SciPy 1.3.0 is the culmination of 5 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been some 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.3.x branch, and on adding new features on the master branch.

This release requires Python 3.5+ and NumPy 1.13.3 or greater.

For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.

Highlights of this release
- Three new stats functions, a rewrite of pearsonr, and an exact
  computation of the Kolmogorov-Smirnov two-sample test
- A new Cython API for bounded scalar-function root-finders in scipy.optimize
- Substantial CSR and CSC sparse matrix indexing performance
  improvements
- Added support for interpolation of rotations with continuous angular
  rate and acceleration in RotationSpline


SciPy 1.2.0 Release Notes

SciPy 1.2.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.2.x branch, and on adding new features on the master branch.

This release requires Python 2.7 or 3.4+ and NumPy 1.8.2 or greater.

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

For running on PyPy, PyPy3 6.0+ and NumPy 1.15.0 are required.

Highlights of this release
- 1-D root finding improvements with a new solver, toms748, and a new
  unified interface, root_scalar
- New dual_annealing optimization method that combines stochastic and
  local deterministic searching
- A new optimization algorithm, shgo (simplicial homology
  global optimization) for derivative free optimization problems
- A new category of quaternion-based transformations are available in
  scipy.spatial.transform
2019-06-14 14:53:29 +00:00
wiz
0bec5f7561 py-scipy: add upstream bug reports 2018-09-03 09:04:24 +00:00
wiz
9d5bd52794 py-scipy: remove obsolete patch; HAVE_OPEN_MEMSTREAM is defined to 1 nowadays. 2018-09-03 08:57:24 +00:00
wiz
dc764d1aa2 py-scipy: remove reference to non-existent file 2018-09-03 08:36:44 +00:00
wiz
06023d11f1 py-scipy: add missing test dependency
Update comment about upstream bug reports about test failures.
2018-08-31 08:09:19 +00:00
szptvlfn
b0b6f2d0ba BUILD_DEPENDS+= -> TEST_DEPENDS+= 2018-08-20 22:36:20 +00:00
minskim
da47af8d02 math/py-scipy: Add -headerpad_max_install_names in linking on Darwin
Without the link option, install_name_tool may cause an error.
2018-07-05 04:31:05 +00:00
jperkin
03688504ba py-scipy: Apply a couple of patches to fix SunOS. 2018-06-14 14:29:16 +00:00
adam
11542944a0 py-scipy: updated to 1.1.0
SciPy 1.1.0 is the culmination of 7 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.1.x branch, and on adding new features on the master branch.
2018-05-14 06:39:32 +00:00
jperkin
5bdf15de2b py-scipy: GFORTRAN_VERSION might not be defined.
Fixes bulk builds.
2018-05-12 21:21:46 +00:00
minskim
1f704c6e81 math/py-scipy: Fix PLIST on Darwin with gfortran7 2018-05-11 14:18:47 +00:00
adam
299c854385 py-scipy: updated to 1.0.1
SciPy 1.0.1 is a bug-fix release with no new features compared to 1.0.0.
Probably the most important change is a fix for an incompatibility between
SciPy 1.0.0 and numpy.f2py in the NumPy master branch.
2018-04-02 19:52:53 +00:00
adam
b936f657a3 py-scipy: updated to 1.0.0
Some of the highlights of this release are:
* Major build improvements. Windows wheels are available on PyPI for the
  first time, and continuous integration has been set up on Windows and OS X
  in addition to Linux.
* A set of new ODE solvers and a unified interface to them
  (scipy.integrate.solve_ivp).
* Two new trust region optimizers and a new linear programming method, with
  improved performance compared to what scipy.optimize offered previously.
  Many new BLAS and LAPACK functions were wrapped. The BLAS wrappers are now
  complete.
2017-11-02 09:40:29 +00:00
wiz
dad3132d36 py-scipy: Remove references to non-existent files 2017-09-28 13:49:19 +00:00
wiz
ff22ec594f Follow some redirects. 2017-09-04 18:08:18 +00:00
he
bb79efdced Add a patch which fixes an obviously bogus preprocessor conditional;
in our case, __STDC_VERSION__ isn't defined when built as C++.
The fix isn't completeely right, it insists on <fenv.h> if built as C++.
Not entirely unreasonable, and makes this build on NetBSD/powerpc as well,
which doesn't like the redefinition of fegetround() and fesetround().
Bump PKGREVISION.
2017-08-22 21:37:27 +00:00
adam
1292c0cdc8 SciPy 0.19.1 is a bug-fix release with no new features compared to 0.19.0.
The most important change is a fix for a severe memory leak in integrate.quad.
2017-06-24 08:19:40 +00:00
adam
8590e18593 SciPy 0.19.0 is the culmination of 7 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. Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.
2017-03-13 19:42:22 +00:00
adam
aec282e08d SciPy 0.18.1 is a bug-fix release with no new features compared to 0.18.0. 2017-01-25 19:48:50 +00:00
maya
d89fc37922 scipy: correct the test target. this is a temporary workaround, upstream
will likely fix it so the previous target works - it is mentioned in their
documentation. (scipy issue #6498)
2017-01-08 10:39:47 +00:00
wiz
7f3c8364a8 Updated py-scipy to 0.18.0.
Test failures reported upstream.

==========================
SciPy 0.18.0 Release Notes
==========================

.. contents::

SciPy 0.18.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.  Moreover, our development attention
will now shift to bug-fix releases on the 0.19.x branch, and on adding
new features on the master branch.

This release requires Python 2.7 or 3.4-3.5 and NumPy 1.7.1 or greater.

Highlights of this release include:

- A new ODE solver for two-point boundary value problems,
  `scipy.optimize.solve_bvp`.
- A new class, `CubicSpline`, for cubic spline interpolation of data.
- N-dimensional tensor product polynomials, `scipy.interpolate.NdPPoly`.
- Spherical Voronoi diagrams, `scipy.spatial.SphericalVoronoi`.
- Support for discrete-time linear systems, `scipy.signal.dlti`.


New features
============

`scipy.integrate` improvements
------------------------------

A solver of two-point boundary value problems for ODE systems has been
implemented in `scipy.integrate.solve_bvp`. The solver allows for non-separated
boundary conditions, unknown parameters and certain singular terms. It finds
a C1 continious solution using a fourth-order collocation algorithm.


`scipy.interpolate` improvements
--------------------------------

Cubic spline interpolation is now available via `scipy.interpolate.CubicSpline`.
This class represents a piecewise cubic polynomial passing through given points
and C2 continuous. It is represented in the standard polynomial basis on each
segment.

A representation of n-dimensional tensor product piecewise polynomials is
available as the `scipy.interpolate.NdPPoly` class.

Univariate piecewise polynomial classes, `PPoly` and `Bpoly`, can now be
evaluated on periodic domains. Use ``extrapolate="periodic"`` keyword
argument for this.


`scipy.fftpack` improvements
----------------------------

`scipy.fftpack.next_fast_len` function computes the next "regular" number for
FFTPACK. Padding the input to this length can give significant performance
increase for `scipy.fftpack.fft`.


`scipy.signal` improvements
---------------------------

Resampling using polyphase filtering has been implemented in the function
`scipy.signal.resample_poly`. This method upsamples a signal, applies a
zero-phase low-pass FIR filter, and downsamples using `scipy.signal.upfirdn`
(which is also new in 0.18.0).  This method can be faster than FFT-based
filtering provided by `scipy.signal.resample` for some signals.

`scipy.signal.firls`, which constructs FIR filters using least-squares error
minimization, was added.

`scipy.signal.sosfiltfilt`, which does forward-backward filtering like
`scipy.signal.filtfilt` but for second-order sections, was added.


Discrete-time linear systems
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

`scipy.signal.dlti` provides an implementation of discrete-time linear systems.
Accordingly, the `StateSpace`, `TransferFunction` and `ZerosPolesGain` classes
have learned a the new keyword, `dt`, which can be used to create discrete-time
instances of the corresponding system representation.


`scipy.sparse` improvements
---------------------------

The functions `sum`, `max`, `mean`, `min`, `transpose`, and `reshape` in
`scipy.sparse` have had their signatures augmented with additional arguments
and functionality so as to improve compatibility with analogously defined
functions in `numpy`.

Sparse matrices now have a `count_nonzero` method, which counts the number of
nonzero elements in the matrix. Unlike `getnnz()` and ``nnz`` propety,
which return the number of stored entries (the length of the data attribute),
this method counts the actual number of non-zero entries in data.


`scipy.optimize` improvements
-----------------------------

The implementation of Nelder-Mead minimization,
`scipy.minimize(..., method="Nelder-Mead")`, obtained a new keyword,
`initial_simplex`, which can be used to specify the initial simplex for the
optimization process.

Initial step size selection in CG and BFGS minimizers has been improved. We
expect that this change will improve numeric stability of optimization in some
cases. See pull request gh-5536 for details.

Handling of infinite bounds in SLSQP optimization has been improved. We expect
that this change will improve numeric stability of optimization in the some
cases. See pull request gh-6024 for details.

A large suite of global optimization benchmarks has been added to
``scipy/benchmarks/go_benchmark_functions``. See pull request gh-4191 for details.

Nelder-Mead and Powell minimization will now only set defaults for
maximum iterations or function evaluations if neither limit is set by
the caller. In some cases with a slow converging function and only 1
limit set, the minimization may continue for longer than with previous
versions and so is more likely to reach convergence. See issue gh-5966.

`scipy.stats` improvements
--------------------------

Trapezoidal distribution has been implemented as `scipy.stats.trapz`.
Skew normal distribution has been implemented as `scipy.stats.skewnorm`.
Burr type XII distribution has been implemented as `scipy.stats.burr12`.
Three- and four-parameter kappa distributions have been implemented as
`scipy.stats.kappa3` and `scipy.stats.kappa4`, respectively.

New `scipy.stats.iqr` function computes the interquartile region of a
distribution.

Random matrices
~~~~~~~~~~~~~~~

`scipy.stats.special_ortho_group` and `scipy.stats.ortho_group` provide
generators of random matrices in the SO(N) and O(N) groups, respectively. They
generate matrices in the Haar distribution, the only uniform distribution on
these group manifolds.

`scipy.stats.random_correlation` provides a generator for random
correlation matrices, given specified eigenvalues.


`scipy.linalg` improvements
---------------------------

`scipy.linalg.svd` gained a new keyword argument, ``lapack_driver``. Available
drivers are ``gesdd`` (default) and ``gesvd``.

`scipy.linalg.lapack.ilaver` returns the version of the LAPACK library SciPy
links to.


`scipy.spatial` improvements
----------------------------

Boolean distances, `scipy.spatial.pdist`, have been sped up. Improvements vary
by the function and the input size. In many cases, one can expect a speed-up
of x2--x10.

New class `scipy.spatial.SphericalVoronoi` constructs Voronoi diagrams on the
surface of a sphere. See pull request gh-5232 for details.

`scipy.cluster` improvements
----------------------------

A new clustering algorithm, the nearest neighbor chain algorithm, has been
implemented for `scipy.cluster.hierarchy.linkage`. As a result, one can expect
a significant algorithmic improvement (:math:`O(N^2)` instead of :math:`O(N^3)`)
for several linkage methods.


`scipy.special` improvements
----------------------------

The new function `scipy.special.loggamma` computes the principal branch of the
logarithm of the Gamma function. For real input, ``loggamma`` is compatible
with `scipy.special.gammaln`. For complex input, it has more consistent
behavior in the complex plane and should be preferred over ``gammaln``.

Vectorized forms of spherical Bessel functions have been implemented as
`scipy.special.spherical_jn`, `scipy.special.spherical_kn`,
`scipy.special.spherical_in` and `scipy.special.spherical_yn`.
They are recommended for use over ``sph_*`` functions, which are now deprecated.

Several special functions have been extended to the complex domain and/or
have seen domain/stability improvements. This includes `spence`, `digamma`,
`log1p` and several others.


Deprecated features
===================

The cross-class properties of `lti` systems have been deprecated. The
following properties/setters will raise a `DeprecationWarning`:

Name - (accessing/setting raises warning) - (setting raises warning)
* StateSpace - (`num`, `den`, `gain`) - (`zeros`, `poles`)
* TransferFunction (`A`, `B`, `C`, `D`, `gain`) - (`zeros`, `poles`)
* ZerosPolesGain (`A`, `B`, `C`, `D`, `num`, `den`) - ()

Spherical Bessel functions, ``sph_in``, ``sph_jn``, ``sph_kn``, ``sph_yn``,
``sph_jnyn`` and ``sph_inkn`` have been deprecated in favor of
`scipy.special.spherical_jn` and ``spherical_kn``, ``spherical_yn``,
``spherical_in``.

The following functions in `scipy.constants` are deprecated: ``C2K``, ``K2C``,
``C2F``, ``F2C``, ``F2K`` and ``K2F``.  They are superceded by a new function
`scipy.constants.convert_temperature` that can perform all those conversions
plus to/from the Rankine temperature scale.


Backwards incompatible changes
==============================

`scipy.optimize`
----------------

The convergence criterion for ``optimize.bisect``,
``optimize.brentq``, ``optimize.brenth``, and ``optimize.ridder`` now
works the same as ``numpy.allclose``.

`scipy.ndimage`
---------------

The offset in ``ndimage.iterpolation.affine_transform``
is now consistently added after the matrix is applied,
independent of if the matrix is specified using a one-dimensional
or a two-dimensional array.

`scipy.stats`
-------------

``stats.ks_2samp`` used to return nonsensical values if the input was
not real or contained nans.  It now raises an exception for such inputs.

Several deprecated methods of `scipy.stats` distributions have been removed:
``est_loc_scale``, ``vecfunc``, ``veccdf`` and ``vec_generic_moment``.

Deprecated functions ``nanmean``, ``nanstd`` and ``nanmedian`` have been removed
from `scipy.stats`. These functions were deprecated in scipy 0.15.0 in favor
of their `numpy` equivalents.

A bug in the ``rvs()`` method of the distributions in `scipy.stats` has
been fixed.  When arguments to ``rvs()`` were given that were shaped for
broadcasting, in many cases the returned random samples were not random.
A simple example of the problem is ``stats.norm.rvs(loc=np.zeros(10))``.
Because of the bug, that call would return 10 identical values.  The bug
only affected code that relied on the broadcasting of the shape, location
and scale parameters.

The ``rvs()`` method also accepted some arguments that it should not have.
There is a potential for backwards incompatibility in cases where ``rvs()``
accepted arguments that are not, in fact, compatible with broadcasting.
An example is

    stats.gamma.rvs([2, 5, 10, 15], size=(2,2))

The shape of the first argument is not compatible with the requested size,
but the function still returned an array with shape (2, 2).  In scipy 0.18,
that call generates a ``ValueError``.

`scipy.io`
----------

`scipy.io.netcdf` masking now gives precedence to the ``_FillValue`` attribute
over the ``missing_value`` attribute, if both are given. Also, data are only
treated as missing if they match one of these attributes exactly: values that
differ by roundoff from ``_FillValue`` or ``missing_value`` are no longer
treated as missing values.

`scipy.interpolate`
-------------------

`scipy.interpolate.PiecewisePolynomial` class has been removed. It has been
deprecated in scipy 0.14.0, and `scipy.interpolate.BPoly.from_derivatives` serves
as a drop-in replacement.


Other changes
=============

Scipy now uses ``setuptools`` for its builds instead of plain distutils.  This
fixes usage of ``install_requires='scipy'`` in the ``setup.py`` files of
projects that depend on Scipy (see Numpy issue gh-6551 for details).  It
potentially affects the way that build/install methods for Scipy itself behave
though.  Please report any unexpected behavior on the Scipy issue tracker.

PR `#6240 <https://github.com/scipy/scipy/pull/6240>`__
changes the interpretation of the `maxfun` option in `L-BFGS-B` based routines
in the `scipy.optimize` module.
An `L-BFGS-B` search consists of multiple iterations,
with each iteration consisting of one or more function evaluations.
Whereas the old search strategy terminated immediately upon reaching `maxfun`
function evaluations, the new strategy allows the current iteration
to finish despite reaching `maxfun`.

The bundled copy of Qhull in the `scipy.spatial` subpackage has been upgraded to
version 2015.2.

The bundled copy of ARPACK in the `scipy.sparse.linalg` subpackage has been
upgraded to arpack-ng 3.3.0.

The bundled copy of SuperLU in the `scipy.sparse` subpackage has been upgraded
to version 5.1.1.
2016-08-19 10:54:12 +00:00
markd
5ddb0c30d1 Update py-scipy to 0.17.0
SciPy 0.17.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. Moreover, our development attention will now shift to
bug-fix releases on the 0.17.x branch, and on adding new features on the
master branch.

This release requires Python 2.6, 2.7 or 3.2-3.5 and NumPy 1.6.2 or greater.

Release highlights:

* New functions for linear and nonlinear least squares optimization with
  constraints: scipy.optimize.lsq_linear and scipy.optimize.least_squares
* Support for fitting with bounds in scipy.optimize.curve_fit.
* Significant improvements to scipy.stats, providing many functions with
  better handing of inputs which have NaNs or are empty, improved
  documentation, and consistent behavior between scipy.stats and
  scipy.stats.mstats.
* Significant performance improvements and new functionality in
  scipy.spatial.cKDTree.

SciPy 0.16.0 is the culmination of 7 months of hard work.

Highlights of this release include:

* A Cython API for BLAS/LAPACK in scipy.linalg
* A new benchmark suite. It’s now straightforward to add new benchmarks,
  and they’re routinely included with performance enhancement PRs.
* Support for the second order sections (SOS) format in scipy.signal.
2016-04-23 22:51:57 +00:00
wiedi
be5027e32c Fix "relative library path" on Darwin 2016-03-18 12:54:57 +00:00