summaryrefslogtreecommitdiff
path: root/math
AgeCommit message (Collapse)AuthorFilesLines
2015-04-23install .oct loadable modules with INSTALL_LIB to avoid stripping themdbj6-7/+84
regenerate patch sums in distinfo bump PKGREVISION
2015-04-23don't install lib/charset.alias which is reserved for libiconvdbj1-2/+2
2015-04-23don't assume gnuplot is configured with libaquaterm on macdbj1-0/+16
2015-04-23avoid obsolete darwin api for CGDisplayBitsPerPixeldbj1-0/+25
use CGDisplayModeCopyPixelEncoding instead
2015-04-23install private zoneinfo files on Darwin where default is ↵dbj1-0/+596
--with-internal-tzcode=yes
2015-04-17Revbump after updating devel/boost-libsadam7-10/+14
2015-04-17Update to 0.15.1wen3-235/+186
Upstream changes: SciPy 0.15.1 is a bug-fix release with no new features compared to 0.15.0. Issues fixed - ------------ * `#4413 <https://github.com/scipy/scipy/pull/4413>`__: BUG: Tests too strict, f2py doesn't have to overwrite this array * `#4417 <https://github.com/scipy/scipy/pull/4417>`__: BLD: avoid using NPY_API_VERSION to check not using deprecated... * `#4418 <https://github.com/scipy/scipy/pull/4418>`__: Restore and deprecate scipy.linalg.calc_work SciPy 0.15.0 Release Notes ========================== .. contents:: SciPy 0.15.0 is the culmination of 6 months of hard work. It contains several 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.16.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.2-3.4 and NumPy 1.5.1 or greater. New features ============ Linear Programming Interface - ---------------------------- The new function `scipy.optimize.linprog` provides a generic linear programming similar to the way `scipy.optimize.minimize` provides a generic interface to nonlinear programming optimizers. Currently the only method supported is *simplex* which provides a two-phase, dense-matrix-based simplex algorithm. Callbacks functions are supported, allowing the user to monitor the progress of the algorithm. Differential evolution, a global optimizer - ------------------------------------------ A new `scipy.optimize.differential_evolution` function has been added to the ``optimize`` module. Differential Evolution is an algorithm used for finding the global minimum of multivariate functions. It is stochastic in nature (does not use gradient methods), and can search large areas of candidate space, but often requires larger numbers of function evaluations than conventional gradient based techniques. ``scipy.signal`` improvements - ----------------------------- The function `scipy.signal.max_len_seq` was added, which computes a Maximum Length Sequence (MLS) signal. ``scipy.integrate`` improvements - -------------------------------- It is now possible to use `scipy.integrate` routines to integrate multivariate ctypes functions, thus avoiding callbacks to Python and providing better performance. ``scipy.linalg`` improvements - ----------------------------- The function `scipy.linalg.orthogonal_procrustes` for solving the procrustes linear algebra problem was added. BLAS level 2 functions ``her``, ``syr``, ``her2`` and ``syr2`` are now wrapped in ``scipy.linalg``. ``scipy.sparse`` improvements - ----------------------------- `scipy.sparse.linalg.svds` can now take a ``LinearOperator`` as its main input. ``scipy.special`` improvements - ------------------------------ Values of ellipsoidal harmonic (i.e. Lame) functions and associated normalization constants can be now computed using ``ellip_harm``, ``ellip_harm_2``, and ``ellip_normal``. New convenience functions ``entr``, ``rel_entr`` ``kl_div``, ``huber``, and ``pseudo_huber`` were added. ``scipy.sparse.csgraph`` improvements - ------------------------------------- Routines ``reverse_cuthill_mckee`` and ``maximum_bipartite_matching`` for computing reorderings of sparse graphs were added. ``scipy.stats`` improvements - ---------------------------- Added a Dirichlet multivariate distribution, `scipy.stats.dirichlet`. The new function `scipy.stats.median_test` computes Mood's median test. The new function `scipy.stats.combine_pvalues` implements Fisher's and Stouffer's methods for combining p-values. `scipy.stats.describe` returns a namedtuple rather than a tuple, allowing users to access results by index or by name. Deprecated features =================== The `scipy.weave` module is deprecated. It was the only module never ported to Python 3.x, and is not recommended to be used for new code - use Cython instead. In order to support existing code, ``scipy.weave`` has been packaged separately: https://github.com/scipy/weave. It is a pure Python package, and can easily be installed with ``pip install weave``. `scipy.special.bessel_diff_formula` is deprecated. It is a private function, and therefore will be removed from the public API in a following release. ``scipy.stats.nanmean``, ``nanmedian`` and ``nanstd`` functions are deprecated in favor of their numpy equivalents. Backwards incompatible changes ============================== scipy.ndimage - ------------- The functions `scipy.ndimage.minimum_positions`, `scipy.ndimage.maximum_positions`` and `scipy.ndimage.extrema` return positions as ints instead of floats. scipy.integrate - --------------- The format of banded Jacobians in `scipy.integrate.ode` solvers is changed. Note that the previous documentation of this feature was erroneous. SciPy 0.14.1 Release Notes ========================== SciPy 0.14.1 is a bug-fix release with no new features compared to 0.14.0. Issues closed - ------------- - - `#3630 <https://github.com/scipy/scipy/issues/3630>`__: NetCDF reading results in a segfault - - `#3631 <https://github.com/scipy/scipy/issues/3631>`__: SuperLU object not working as expected for complex matrices - - `#3733 <https://github.com/scipy/scipy/issues/3733>`__: segfault from map_coordinates - - `#3780 <https://github.com/scipy/scipy/issues/3780>`__: Segfault when using CSR/CSC matrix and uint32/uint64 - - `#3781 <https://github.com/scipy/scipy/pull/3781>`__: BUG: sparse: fix omitted types in sparsetools typemaps - - `#3802 <https://github.com/scipy/scipy/issues/3802>`__: 0.14.0 API breakage: _gen generators are missing from scipy.stats.distributions API - - `#3805 <https://github.com/scipy/scipy/issues/3805>`__: ndimage test failures with numpy 1.10 - - `#3812 <https://github.com/scipy/scipy/issues/3812>`__: == sometimes wrong on csr_matrix - - `#3853 <https://github.com/scipy/scipy/issues/3853>`__: Many scipy.sparse test errors/failures with numpy 1.9.0b2 - - `#4084 <https://github.com/scipy/scipy/pull/4084>`__: fix exception declarations for Cython 0.21.1 compatibility - - `#4093 <https://github.com/scipy/scipy/pull/4093>`__: BUG: fitpack: avoid a memory error in splev(x, tck, der=k) - - `#4104 <https://github.com/scipy/scipy/pull/4104>`__: BUG: Workaround SGEMV segfault in Accelerate (maintenance 0.14.x) - - `#4143 <https://github.com/scipy/scipy/pull/4143>`__: BUG: fix ndimage functions for large data - - `#4149 <https://github.com/scipy/scipy/issues/4149>`__: Bug in expm for integer arrays - - `#4154 <https://github.com/scipy/scipy/issues/4154>`__: Backport gh-4041 for 0.14.1 (Ensure that the 'size' argument of PIL's 'resize' method is a tuple) - - `#4163 <https://github.com/scipy/scipy/issues/4163>`__: Backport #4142 (ZeroDivisionError in scipy.sparse.linalg.lsqr) - - `#4164 <https://github.com/scipy/scipy/issues/4164>`__: Backport gh-4153 (remove use of deprecated numpy API in lib/lapack/ f2py wrapper) - - `#4180 <https://github.com/scipy/scipy/pull/4180>`__: backport pil resize support tuple fix - - `#4168 <https://github.com/scipy/scipy/issues/4168>`__: Lots of arpack test failures on windows 32 bits with numpy 1.9.1 - - `#4203 <https://github.com/scipy/scipy/issues/4203>`__: Matrix multiplication in 0.14.x is more than 10x slower compared... - - `#4218 <https://github.com/scipy/scipy/pull/4218>`__: attempt to make ndimage interpolation compatible with numpy relaxed... - - `#4225 <https://github.com/scipy/scipy/pull/4225>`__: BUG: off-by-one error in PPoly shape checks - - `#4248 <https://github.com/scipy/scipy/pull/4248>`__: BUG: optimize: fix issue with incorrect use of closure for slsqp. SciPy 0.14.0 Release Notes ========================== .. contents:: SciPy 0.14.0 is the culmination of 8 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.14.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.2-3.4 and NumPy 1.5.1 or greater. New features ============ ``scipy.interpolate`` improvements ---------------------------------- A new wrapper function `scipy.interpolate.interpn` for interpolation on regular grids has been added. `interpn` supports linear and nearest-neighbor interpolation in arbitrary dimensions and spline interpolation in two dimensions. Faster implementations of piecewise polynomials in power and Bernstein polynomial bases have been added as `scipy.interpolate.PPoly` and `scipy.interpolate.BPoly`. New users should use these in favor of `scipy.interpolate.PiecewisePolynomial`. `scipy.interpolate.interp1d` now accepts non-monotonic inputs and sorts them. If performance is critical, sorting can be turned off by using the new ``assume_sorted`` keyword. Functionality for evaluation of bivariate spline derivatives in ``scipy.interpolate`` has been added. The new class `scipy.interpolate.Akima1DInterpolator` implements the piecewise cubic polynomial interpolation scheme devised by H. Akima. Functionality for fast interpolation on regular, unevenly spaced grids in arbitrary dimensions has been added as `scipy.interpolate.RegularGridInterpolator` . ``scipy.linalg`` improvements ----------------------------- The new function `scipy.linalg.dft` computes the matrix of the discrete Fourier transform. A condition number estimation function for matrix exponential, `scipy.linalg.expm_cond`, has been added. ``scipy.optimize`` improvements ------------------------------- A set of benchmarks for optimize, which can be run with ``optimize.bench()``, has been added. `scipy.optimize.curve_fit` now has more controllable error estimation via the ``absolute_sigma`` keyword. Support for passing custom minimization methods to ``optimize.minimize()`` and ``optimize.minimize_scalar()`` has been added, currently useful especially for combining ``optimize.basinhopping()`` with custom local optimizer routines. ``scipy.stats`` improvements ---------------------------- A new class `scipy.stats.multivariate_normal` with functionality for multivariate normal random variables has been added. A lot of work on the ``scipy.stats`` distribution framework has been done. Moment calculations (skew and kurtosis mainly) are fixed and verified, all examples are now runnable, and many small accuracy and performance improvements for individual distributions were merged. The new function `scipy.stats.anderson_ksamp` computes the k-sample Anderson-Darling test for the null hypothesis that k samples come from the same parent population. ``scipy.signal`` improvements ----------------------------- ``scipy.signal.iirfilter`` and related functions to design Butterworth, Chebyshev, elliptical and Bessel IIR filters now all use pole-zero ("zpk") format internally instead of using transformations to numerator/denominator format. The accuracy of the produced filters, especially high-order ones, is improved significantly as a result. The new function `scipy.signal.vectorstrength` computes the vector strength, a measure of phase synchrony, of a set of events. ``scipy.special`` improvements ------------------------------ The functions `scipy.special.boxcox` and `scipy.special.boxcox1p`, which compute the Box-Cox transformation, have been added. ``scipy.sparse`` improvements ----------------------------- - Significant performance improvement in CSR, CSC, and DOK indexing speed. - When using Numpy >= 1.9 (to be released in MM 2014), sparse matrices function correctly when given to arguments of ``np.dot``, ``np.multiply`` and other ufuncs. With earlier Numpy and Scipy versions, the results of such operations are undefined and usually unexpected. - Sparse matrices are no longer limited to ``2^31`` nonzero elements. They automatically switch to using 64-bit index data type for matrices containing more elements. User code written assuming the sparse matrices use int32 as the index data type will continue to work, except for such large matrices. Code dealing with larger matrices needs to accept either int32 or int64 indices. Deprecated features =================== ``anneal`` ---------- The global minimization function `scipy.optimize.anneal` is deprecated. All users should use the `scipy.optimize.basinhopping` function instead. ``scipy.stats`` --------------- ``randwcdf`` and ``randwppf`` functions are deprecated. All users should use distribution-specific ``rvs`` methods instead. Probability calculation aliases ``zprob``, ``fprob`` and ``ksprob`` are deprecated. Use instead the ``sf`` methods of the corresponding distributions or the ``special`` functions directly. ``scipy.interpolate`` --------------------- ``PiecewisePolynomial`` class is deprecated. Backwards incompatible changes ============================== scipy.special.lpmn ------------------ ``lpmn`` no longer accepts complex-valued arguments. A new function ``clpmn`` with uniform complex analytic behavior has been added, and it should be used instead. scipy.sparse.linalg ------------------- Eigenvectors in the case of generalized eigenvalue problem are normalized to unit vectors in 2-norm, rather than following the LAPACK normalization convention. The deprecated UMFPACK wrapper in ``scipy.sparse.linalg`` has been removed due to license and install issues. If available, ``scikits.umfpack`` is still used transparently in the ``spsolve`` and ``factorized`` functions. Otherwise, SuperLU is used instead in these functions. scipy.stats ----------- The deprecated functions ``glm``, ``oneway`` and ``cmedian`` have been removed from ``scipy.stats``. ``stats.scoreatpercentile`` now returns an array instead of a list of percentiles. scipy.interpolate ----------------- The API for computing derivatives of a monotone piecewise interpolation has changed: if `p` is a ``PchipInterpolator`` object, `p.derivative(der)` returns a callable object representing the derivative of `p`. For in-place derivatives use the second argument of the `__call__` method: `p(0.1, der=2)` evaluates the second derivative of `p` at `x=0.1`. The method `p.derivatives` has been removed. SciPy 0.13.3 Release Notes SciPy 0.13.3 is a bug-fix release with no new features compared to 0.13.2. Both the weave and the ndimage.label bugs were severe regressions in 0.13.0, hence this release. Issues fixed 3148: fix a memory leak in ndimage.label. 3216: fix weave issue with too long file names for MSVC. Other changes Update Sphinx theme used for html docs so >>> in examples can be toggled. SciPy 0.13.2 Release Notes SciPy 0.13.2 is a bug-fix release with no new features compared to 0.13.1. Issues fixed 3096: require Cython 0.19, earlier versions have memory leaks in fused types 3079: ndimage.label fix swapped 64-bitness test 3108: optimize.fmin_slsqp constraint violation SciPy 0.13.1 Release Notes SciPy 0.13.1 is a bug-fix release with no new features compared to 0.13.0. The only changes are several fixes in ndimage, one of which was a serious regression in ndimage.label (Github issue 3025), which gave incorrect results in 0.13.0. Issues fixed 3025: ndimage.label returns incorrect results in scipy 0.13.0 1992: ndimage.label return type changed from int32 to uint32 1992: ndimage.find_objects doesn't work with int32 input in some cases SciPy 0.13.0 Release Notes ========================== .. contents:: SciPy 0.13.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.13.x branch, and on adding new features on the master branch. This release requires Python 2.6, 2.7 or 3.1-3.3 and NumPy 1.5.1 or greater. Highlights of this release are: - support for fancy indexing and boolean comparisons with sparse matrices - interpolative decompositions and matrix functions in the linalg module - two new trust-region solvers for unconstrained minimization New features ============ ``scipy.integrate`` improvements -------------------------------- N-dimensional numerical integration ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ A new function `scipy.integrate.nquad`, which provides N-dimensional integration functionality with a more flexible interface than ``dblquad`` and ``tplquad``, has been added. ``dopri*`` improvements ^^^^^^^^^^^^^^^^^^^^^^^ The intermediate results from the ``dopri`` family of ODE solvers can now be accessed by a *solout* callback function. ``scipy.linalg`` improvements ----------------------------- Interpolative decompositions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Scipy now includes a new module `scipy.linalg.interpolative` containing routines for computing interpolative matrix decompositions (ID). This feature is based on the ID software package by P.G. Martinsson, V. Rokhlin, Y. Shkolnisky, and M. Tygert, previously adapted for Python in the PymatrixId package by K.L. Ho. Polar decomposition ^^^^^^^^^^^^^^^^^^^ A new function `scipy.linalg.polar`, to compute the polar decomposition of a matrix, was added. BLAS level 3 functions ^^^^^^^^^^^^^^^^^^^^^^ The BLAS functions ``symm``, ``syrk``, ``syr2k``, ``hemm``, ``herk`` and ``her2k`` are now wrapped in `scipy.linalg`. Matrix functions ^^^^^^^^^^^^^^^^ Several matrix function algorithms have been implemented or updated following detailed descriptions in recent papers of Nick Higham and his co-authors. These include the matrix square root (``sqrtm``), the matrix logarithm (``logm``), the matrix exponential (``expm``) and its Frechet derivative (``expm_frechet``), and fractional matrix powers (``fractional_matrix_power``). ``scipy.optimize`` improvements ------------------------------- Trust-region unconstrained minimization algorithms ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The ``minimize`` function gained two trust-region solvers for unconstrained minimization: ``dogleg`` and ``trust-ncg``. ``scipy.sparse`` improvements ----------------------------- Boolean comparisons and sparse matrices ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ All sparse matrix types now support boolean data, and boolean operations. Two sparse matrices `A` and `B` can be compared in all the expected ways `A < B`, `A >= B`, `A != B`, producing similar results as dense Numpy arrays. Comparisons with dense matrices and scalars are also supported. CSR and CSC fancy indexing ^^^^^^^^^^^^^^^^^^^^^^^^^^ Compressed sparse row and column sparse matrix types now support fancy indexing with boolean matrices, slices, and lists. So where A is a (CSC or CSR) sparse matrix, you can do things like:: >>> A[A > 0.5] = 1 # since Boolean sparse matrices work >>> A[:2, :3] = 2 >>> A[[1,2], 2] = 3 ``scipy.sparse.linalg`` improvements ------------------------------------ The new function ``onenormest`` provides a lower bound of the 1-norm of a linear operator and has been implemented according to Higham and Tisseur (2000). This function is not only useful for sparse matrices, but can also be used to estimate the norm of products or powers of dense matrices without explictly building the intermediate matrix. The multiplicative action of the matrix exponential of a linear operator (``expm_multiply``) has been implemented following the description in Al-Mohy and Higham (2011). Abstract linear operators (`scipy.sparse.linalg.LinearOperator`) can now be multiplied, added to each other, and exponentiated, producing new linear operators. This enables easier construction of composite linear operations. ``scipy.spatial`` improvements ------------------------------ The vertices of a `ConvexHull` can now be accessed via the `vertices` attribute, which gives proper orientation in 2-D. ``scipy.signal`` improvements ----------------------------- The cosine window function `scipy.signal.cosine` was added. ``scipy.special`` improvements ------------------------------ New functions `scipy.special.xlogy` and `scipy.special.xlog1py` were added. These functions can simplify and speed up code that has to calculate ``x * log(y)`` and give 0 when ``x == 0``. ``scipy.io`` improvements ------------------------- Unformatted Fortran file reader ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ The new class `scipy.io.FortranFile` facilitates reading unformatted sequential files written by Fortran code. ``scipy.io.wavfile`` enhancements ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scipy.io.wavfile.write` now accepts a file buffer. Previously it only accepted a filename. `scipy.io.wavfile.read` and `scipy.io.wavfile.write` can now handle floating point WAV files. ``scipy.interpolate`` improvements ---------------------------------- B-spline derivatives and antiderivatives ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ `scipy.interpolate.splder` and `scipy.interpolate.splantider` functions for computing B-splines that represent derivatives and antiderivatives of B-splines were added. These functions are also available in the class-based FITPACK interface as ``UnivariateSpline.derivative`` and ``UnivariateSpline.antiderivative``. ``scipy.stats`` improvements ---------------------------- Distributions now allow using keyword parameters in addition to positional parameters in all methods. The function `scipy.stats.power_divergence` has been added for the Cressie-Read power divergence statistic and goodness of fit test. Included in this family of statistics is the "G-test" (http://en.wikipedia.org/wiki/G-test). `scipy.stats.mood` now accepts multidimensional input. An option was added to `scipy.stats.wilcoxon` for continuity correction. `scipy.stats.chisquare` now has an `axis` argument. `scipy.stats.mstats.chisquare` now has `axis` and `ddof` arguments. Deprecated features =================== ``expm2`` and ``expm3`` ----------------------- The matrix exponential functions `scipy.linalg.expm2` and `scipy.linalg.expm3` are deprecated. All users should use the numerically more robust `scipy.linalg.expm` function instead. ``scipy.stats`` functions ------------------------- `scipy.stats.oneway` is deprecated; `scipy.stats.f_oneway` should be used instead. `scipy.stats.glm` is deprecated. `scipy.stats.ttest_ind` is an equivalent function; more full-featured general (and generalized) linear model implementations can be found in statsmodels. `scipy.stats.cmedian` is deprecated; ``numpy.median`` should be used instead. Backwards incompatible changes ============================== LIL matrix assignment --------------------- Assigning values to LIL matrices with two index arrays now works similarly as assigning into ndarrays:: >>> x = lil_matrix((3, 3)) >>> x[[0,1,2],[0,1,2]]=[0,1,2] >>> x.todense() matrix([[ 0., 0., 0.], [ 0., 1., 0.], [ 0., 0., 2.]]) rather than giving the result:: >>> x.todense() matrix([[ 0., 1., 2.], [ 0., 1., 2.], [ 0., 1., 2.]]) Users relying on the previous behavior will need to revisit their code. The previous behavior is obtained by ``x[numpy.ix_([0,1,2],[0,1,2])] = ...`. Deprecated ``radon`` function removed ------------------------------------- The ``misc.radon`` function, which was deprecated in scipy 0.11.0, has been removed. Users can find a more full-featured ``radon`` function in scikit-image. Removed deprecated keywords ``xa`` and ``xb`` from ``stats.distributions`` -------------------------------------------------------------------------- The keywords ``xa`` and ``xb``, which were deprecated since 0.11.0, have been removed from the distributions in ``scipy.stats``. Changes to MATLAB file readers / writers ---------------------------------------- The major change is that 1D arrays in numpy now become row vectors (shape 1, N) when saved to a MATLAB 5 format file. Previously 1D arrays saved as column vectors (N, 1). This is to harmonize the behavior of writing MATLAB 4 and 5 formats, and adapt to the defaults of numpy and MATLAB - for example ``np.atleast_2d`` returns 1D arrays as row vectors. Trying to save arrays of greater than 2 dimensions in MATLAB 4 format now raises an error instead of silently reshaping the array as 2D. ``scipy.io.loadmat('afile')`` used to look for `afile` on the Python system path (``sys.path``); now ``loadmat`` only looks in the current directory for a relative path filename. Other changes ============= Security fix: ``scipy.weave`` previously used temporary directories in an insecure manner under certain circumstances. Cython is now required to build *unreleased* versions of scipy. The C files generated from Cython sources are not included in the git repo anymore. They are however still shipped in source releases. The code base received a fairly large PEP8 cleanup. A ``tox pep8`` command has been added; new code should pass this test command. Scipy cannot be compiled with gfortran 4.1 anymore (at least on RH5), likely due to that compiler version not supporting entry constructs well.
2015-04-17Update to 1.9.2wen9-250/+53
Reviewed by: wiz@ Upstream changes: NumPy 1.9.2 Release Notes ************************* This is a bugfix only release in the 1.9.x series. Issues fixed ============ * `#5316 <https://github.com/numpy/numpy/issues/5316>`__: fix too large dtype alignment of strings and complex types * `#5424 <https://github.com/numpy/numpy/issues/5424>`__: fix ma.median when used on ndarrays * `#5481 <https://github.com/numpy/numpy/issues/5481>`__: Fix astype for structured array fields of different byte order * `#5354 <https://github.com/numpy/numpy/issues/5354>`__: fix segfault when clipping complex arrays * `#5524 <https://github.com/numpy/numpy/issues/5524>`__: allow np.argpartition on non ndarrays * `#5612 <https://github.com/numpy/numpy/issues/5612>`__: Fixes ndarray.fill to accept full range of uint64 * `#5155 <https://github.com/numpy/numpy/issues/5155>`__: Fix loadtxt with comments=None and a string None data * `#4476 <https://github.com/numpy/numpy/issues/4476>`__: Masked array view fails if structured dtype has datetime component * `#5388 <https://github.com/numpy/numpy/issues/5388>`__: Make RandomState.set_state and RandomState.get_state threadsafe * `#5390 <https://github.com/numpy/numpy/issues/5390>`__: make seed, randint and shuffle threadsafe * `#5374 <https://github.com/numpy/numpy/issues/5374>`__: Fixed incorrect assert_array_almost_equal_nulp documentation * `#5393 <https://github.com/numpy/numpy/issues/5393>`__: Add support for ATLAS > 3.9.33. * `#5313 <https://github.com/numpy/numpy/issues/5313>`__: PyArray_AsCArray caused segfault for 3d arrays * `#5492 <https://github.com/numpy/numpy/issues/5492>`__: handle out of memory in rfftf * `#4181 <https://github.com/numpy/numpy/issues/4181>`__: fix a few bugs in the random.pareto docstring * `#5359 <https://github.com/numpy/numpy/issues/5359>`__: minor changes to linspace docstring * `#4723 <https://github.com/numpy/numpy/issues/4723>`__: fix a compile issues on AIX NumPy 1.9.1 Release Notes ************************* This is a bugfix only release in the 1.9.x series. Issues fixed ============ * gh-5184: restore linear edge behaviour of gradient to as it was in < 1.9. The second order behaviour is available via the `edge_order` keyword * gh-4007: workaround Accelerate sgemv crash on OSX 10.9 * gh-5100: restore object dtype inference from iterable objects without `len()` * gh-5163: avoid gcc-4.1.2 (red hat 5) miscompilation causing a crash * gh-5138: fix nanmedian on arrays containing inf * gh-5240: fix not returning out array from ufuncs with subok=False set * gh-5203: copy inherited masks in MaskedArray.__array_finalize__ * gh-2317: genfromtxt did not handle filling_values=0 correctly * gh-5067: restore api of npy_PyFile_DupClose in python2 * gh-5063: cannot convert invalid sequence index to tuple * gh-5082: Segmentation fault with argmin() on unicode arrays * gh-5095: don't propagate subtypes from np.where * gh-5104: np.inner segfaults with SciPy's sparse matrices * gh-5251: Issue with fromarrays not using correct format for unicode arrays * gh-5136: Import dummy_threading if importing threading fails * gh-5148: Make numpy import when run with Python flag '-OO' * gh-5147: Einsum double contraction in particular order causes ValueError * gh-479: Make f2py work with intent(in out) * gh-5170: Make python2 .npy files readable in python3 * gh-5027: Use 'll' as the default length specifier for long long * gh-4896: fix build error with MSVC 2013 caused by C99 complex support * gh-4465: Make PyArray_PutTo respect writeable flag * gh-5225: fix crash when using arange on datetime without dtype set * gh-5231: fix build in c99 mode NumPy 1.9.0 Release Notes ************************* This release supports Python 2.6 - 2.7 and 3.2 - 3.4. Highlights ========== * Numerous performance improvements in various areas, most notably indexing and operations on small arrays are significantly faster. Indexing operations now also release the GIL. * Addition of `nanmedian` and `nanpercentile` rounds out the nanfunction set. Dropped Support =============== * The oldnumeric and numarray modules have been removed. * The doc/pyrex and doc/cython directories have been removed. * The doc/numpybook directory has been removed. * The numpy/testing/numpytest.py file has been removed together with the importall function it contained. Future Changes ============== * The numpy/polynomial/polytemplate.py file will be removed in NumPy 1.10.0. * Default casting for inplace operations will change to 'same_kind' in Numpy 1.10.0. This will certainly break some code that is currently ignoring the warning. * Relaxed stride checking will be the default in 1.10.0 * String version checks will break because, e.g., '1.9' > '1.10' is True. A NumpyVersion class has been added that can be used for such comparisons. * The diagonal and diag functions will return writeable views in 1.10.0 * The `S` and/or `a` dtypes may be changed to represent Python strings instead of bytes, in Python 3 these two types are very different. Compatibility notes =================== The diagonal and diag functions return readonly views. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In NumPy 1.8, the diagonal and diag functions returned readonly copies, in NumPy 1.9 they return readonly views, and in 1.10 they will return writeable views. Special scalar float values don't cause upcast to double anymore ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In previous numpy versions operations involving floating point scalars containing special values ``NaN``, ``Inf`` and ``-Inf`` caused the result type to be at least ``float64``. As the special values can be represented in the smallest available floating point type, the upcast is not performed anymore. For example the dtype of: ``np.array([1.], dtype=np.float32) * float('nan')`` now remains ``float32`` instead of being cast to ``float64``. Operations involving non-special values have not been changed. Percentile output changes ~~~~~~~~~~~~~~~~~~~~~~~~~ If given more than one percentile to compute numpy.percentile returns an array instead of a list. A single percentile still returns a scalar. The array is equivalent to converting the list returned in older versions to an array via ``np.array``. If the ``overwrite_input`` option is used the input is only partially instead of fully sorted. ndarray.tofile exception type ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All ``tofile`` exceptions are now ``IOError``, some were previously ``ValueError``. Invalid fill value exceptions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Two changes to numpy.ma.core._check_fill_value: * When the fill value is a string and the array type is not one of 'OSUV', TypeError is raised instead of the default fill value being used. * When the fill value overflows the array type, TypeError is raised instead of OverflowError. Polynomial Classes no longer derived from PolyBase ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This may cause problems with folks who depended on the polynomial classes being derived from PolyBase. They are now all derived from the abstract base class ABCPolyBase. Strictly speaking, there should be a deprecation involved, but no external code making use of the old baseclass could be found. Using numpy.random.binomial may change the RNG state vs. numpy < 1.9 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A bug in one of the algorithms to generate a binomial random variate has been fixed. This change will likely alter the number of random draws performed, and hence the sequence location will be different after a call to distribution.c::rk_binomial_btpe. Any tests which rely on the RNG being in a known state should be checked and/or updated as a result. Random seed enforced to be a 32 bit unsigned integer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.random.seed`` and ``np.random.RandomState`` now throw a ``ValueError`` if the seed cannot safely be converted to 32 bit unsigned integers. Applications that now fail can be fixed by masking the higher 32 bit values to zero: ``seed = seed & 0xFFFFFFFF``. This is what is done silently in older versions so the random stream remains the same. Argmin and argmax out argument ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``out`` argument to ``np.argmin`` and ``np.argmax`` and their equivalent C-API functions is now checked to match the desired output shape exactly. If the check fails a ``ValueError`` instead of ``TypeError`` is raised. Einsum ~~~~~~ Remove unnecessary broadcasting notation restrictions. ``np.einsum('ijk,j->ijk', A, B)`` can also be written as ``np.einsum('ij...,j->ij...', A, B)`` (ellipsis is no longer required on 'j') Indexing ~~~~~~~~ The NumPy indexing has seen a complete rewrite in this version. This makes most advanced integer indexing operations much faster and should have no other implications. However some subtle changes and deprecations were introduced in advanced indexing operations: * Boolean indexing into scalar arrays will always return a new 1-d array. This means that ``array(1)[array(True)]`` gives ``array([1])`` and not the original array. * Advanced indexing into one dimensional arrays used to have (undocumented) special handling regarding repeating the value array in assignments when the shape of the value array was too small or did not match. Code using this will raise an error. For compatibility you can use ``arr.flat[index] = values``, which uses the old code branch. (for example ``a = np.ones(10); a[np.arange(10)] = [1, 2, 3]``) * The iteration order over advanced indexes used to be always C-order. In NumPy 1.9. the iteration order adapts to the inputs and is not guaranteed (with the exception of a *single* advanced index which is never reversed for compatibility reasons). This means that the result is undefined if multiple values are assigned to the same element. An example for this is ``arr[[0, 0], [1, 1]] = [1, 2]``, which may set ``arr[0, 1]`` to either 1 or 2. * Equivalent to the iteration order, the memory layout of the advanced indexing result is adapted for faster indexing and cannot be predicted. * All indexing operations return a view or a copy. No indexing operation will return the original array object. (For example ``arr[...]``) * In the future Boolean array-likes (such as lists of python bools) will always be treated as Boolean indexes and Boolean scalars (including python ``True``) will be a legal *boolean* index. At this time, this is already the case for scalar arrays to allow the general ``positive = a[a > 0]`` to work when ``a`` is zero dimensional. * In NumPy 1.8 it was possible to use ``array(True)`` and ``array(False)`` equivalent to 1 and 0 if the result of the operation was a scalar. This will raise an error in NumPy 1.9 and, as noted above, treated as a boolean index in the future. * All non-integer array-likes are deprecated, object arrays of custom integer like objects may have to be cast explicitly. * The error reporting for advanced indexing is more informative, however the error type has changed in some cases. (Broadcasting errors of indexing arrays are reported as ``IndexError``) * Indexing with more then one ellipsis (``...``) is deprecated. Non-integer reduction axis indexes are deprecated ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Non-integer axis indexes to reduction ufuncs like `add.reduce` or `sum` are deprecated. ``promote_types`` and string dtype ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``promote_types`` function now returns a valid string length when given an integer or float dtype as one argument and a string dtype as another argument. Previously it always returned the input string dtype, even if it wasn't long enough to store the max integer/float value converted to a string. ``can_cast`` and string dtype ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``can_cast`` function now returns False in "safe" casting mode for integer/float dtype and string dtype if the string dtype length is not long enough to store the max integer/float value converted to a string. Previously ``can_cast`` in "safe" mode returned True for integer/float dtype and a string dtype of any length. astype and string dtype ~~~~~~~~~~~~~~~~~~~~~~~ The ``astype`` method now returns an error if the string dtype to cast to is not long enough in "safe" casting mode to hold the max value of integer/float array that is being casted. Previously the casting was allowed even if the result was truncated. `npyio.recfromcsv` keyword arguments change ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ `npyio.recfromcsv` no longer accepts the undocumented `update` keyword, which used to override the `dtype` keyword. The ``doc/swig`` directory moved ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``doc/swig`` directory has been moved to ``tools/swig``. The ``npy_3kcompat.h`` header changed ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The unused ``simple_capsule_dtor`` function has been removed from ``npy_3kcompat.h``. Note that this header is not meant to be used outside of numpy; other projects should be using their own copy of this file when needed. Negative indices in C-Api ``sq_item`` and ``sq_ass_item`` sequence methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When directly accessing the ``sq_item`` or ``sq_ass_item`` PyObject slots for item getting, negative indices will not be supported anymore. ``PySequence_GetItem`` and ``PySequence_SetItem`` however fix negative indices so that they can be used there. NDIter ~~~~~~ When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. When a multi index is being tracked and an iterator is not buffered, it is possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink in size. Because the total size of an iterator is limited, the iterator may be too large before these calls. In this case its size will be set to ``-1`` and an error issued not at construction time but when removing the multi index, setting the iterator range, or getting the next function. This has no effect on currently working code, but highlights the necessity of checking for an error return if these conditions can occur. In most cases the arrays being iterated are as large as the iterator so that such a problem cannot occur. This change was already applied to the 1.8.1 release. ``zeros_like`` for string dtypes now returns empty strings ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To match the `zeros` function `zeros_like` now returns an array initialized with empty strings instead of an array filled with `'0'`. New Features ============ Percentile supports more interpolation options ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.percentile`` now has the interpolation keyword argument to specify in which way points should be interpolated if the percentiles fall between two values. See the documentation for the available options. Generalized axis support for median and percentile ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.median`` and ``np.percentile`` now support generalized axis arguments like ufunc reductions do since 1.7. One can now say axis=(index, index) to pick a list of axes for the reduction. The ``keepdims`` keyword argument was also added to allow convenient broadcasting to arrays of the original shape. Dtype parameter added to ``np.linspace`` and ``np.logspace`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The returned data type from the ``linspace`` and ``logspace`` functions can now be specified using the dtype parameter. More general ``np.triu`` and ``np.tril`` broadcasting ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For arrays with ``ndim`` exceeding 2, these functions will now apply to the final two axes instead of raising an exception. ``tobytes`` alias for ``tostring`` method ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``ndarray.tobytes`` and ``MaskedArray.tobytes`` have been added as aliases for ``tostring`` which exports arrays as ``bytes``. This is more consistent in Python 3 where ``str`` and ``bytes`` are not the same. Build system ~~~~~~~~~~~~ Added experimental support for the ppc64le and OpenRISC architecture. Compatibility to python ``numbers`` module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ All numerical numpy types are now registered with the type hierarchy in the python ``numbers`` module. ``increasing`` parameter added to ``np.vander`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ordering of the columns of the Vandermonde matrix can be specified with this new boolean argument. ``unique_counts`` parameter added to ``np.unique`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The number of times each unique item comes up in the input can now be obtained as an optional return value. Support for median and percentile in nanfunctions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``np.nanmedian`` and ``np.nanpercentile`` functions behave like the median and percentile functions except that NaNs are ignored. NumpyVersion class added ~~~~~~~~~~~~~~~~~~~~~~~~ The class may be imported from numpy.lib and can be used for version comparison when the numpy version goes to 1.10.devel. For example:: >>> from numpy.lib import NumpyVersion >>> if NumpyVersion(np.__version__) < '1.10.0'): ... print('Wow, that is an old NumPy version!') Allow saving arrays with large number of named columns ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The numpy storage format 1.0 only allowed the array header to have a total size of 65535 bytes. This can be exceeded by structured arrays with a large number of columns. A new format 2.0 has been added which extends the header size to 4 GiB. `np.save` will automatically save in 2.0 format if the data requires it, else it will always use the more compatible 1.0 format. Full broadcasting support for ``np.cross`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.cross`` now properly broadcasts its two input arrays, even if they have different number of dimensions. In earlier versions this would result in either an error being raised, or wrong results computed. Improvements ============ Better numerical stability for sum in some cases ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Pairwise summation is now used in the sum method, but only along the fast axis and for groups of the values <= 8192 in length. This should also improve the accuracy of var and std in some common cases. Percentile implemented in terms of ``np.partition`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``np.percentile`` has been implemented in terms of ``np.partition`` which only partially sorts the data via a selection algorithm. This improves the time complexity from ``O(nlog(n))`` to ``O(n)``. Performance improvement for ``np.array`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The performance of converting lists containing arrays to arrays using ``np.array`` has been improved. It is now equivalent in speed to ``np.vstack(list)``. Performance improvement for ``np.searchsorted`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For the built-in numeric types, ``np.searchsorted`` no longer relies on the data type's ``compare`` function to perform the search, but is now implemented by type specific functions. Depending on the size of the inputs, this can result in performance improvements over 2x. Optional reduced verbosity for np.distutils ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not print anything on the output. This is mostly for other packages using numpy.distutils. Covariance check in ``np.random.multivariate_normal`` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A ``RuntimeWarning`` warning is raised when the covariance matrix is not positive-semidefinite. Polynomial Classes no longer template based ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The polynomial classes have been refactored to use an abstract base class rather than a template in order to implement a common interface. This makes importing the polynomial package faster as the classes do not need to be compiled on import. More GIL releases ~~~~~~~~~~~~~~~~~ Several more functions now release the Global Interpreter Lock allowing more efficient parallization using the ``threading`` module. Most notably the GIL is now released for fancy indexing, ``np.where`` and the ``random`` module now uses a per-state lock instead of the GIL. MaskedArray support for more complicated base classes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Built-in assumptions that the baseclass behaved like a plain array are being removed. In particalur, ``repr`` and ``str`` should now work more reliably. C-API ~~~~~ Deprecations ============ Non-integer scalars for sequence repetition ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Using non-integer numpy scalars to repeat python sequences is deprecated. For example ``np.float_(2) * [1]`` will be an error in the future. ``select`` input deprecations ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The integer and empty input to ``select`` is deprecated. In the future only boolean arrays will be valid conditions and an empty ``condlist`` will be considered an input error instead of returning the default. ``rank`` function ~~~~~~~~~~~~~~~~~ The ``rank`` function has been deprecated to avoid confusion with ``numpy.linalg.matrix_rank``. Object array equality comparisons ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In the future object array comparisons both `==` and `np.equal` will not make use of identity checks anymore. For example: >>> a = np.array([np.array([1, 2, 3]), 1]) >>> b = np.array([np.array([1, 2, 3]), 1]) >>> a == b will consistently return False (and in the future an error) even if the array in `a` and `b` was the same object. The equality operator `==` will in the future raise errors like `np.equal` if broadcasting or element comparisons, etc. fails. Comparison with `arr == None` will in the future do an elementwise comparison instead of just returning False. Code should be using `arr is None`. All of these changes will give Deprecation- or FutureWarnings at this time. C-API ~~~~~ The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the internal buffering python 3 applies to its file objects. To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are declared in npy_3kcompat.h and the old functions are deprecated. Due to the fragile nature of these functions it is recommended to instead use the python API when possible. This change was already applied to the 1.8.1 release. NumPy 1.8.2 Release Notes ************************* This is a bugfix only release in the 1.8.x series. Issues fixed ============ * gh-4836: partition produces wrong results for multiple selections in equal ranges * gh-4656: Make fftpack._raw_fft threadsafe * gh-4628: incorrect argument order to _copyto in in np.nanmax, np.nanmin * gh-4642: Hold GIL for converting dtypes types with fields * gh-4733: fix np.linalg.svd(b, compute_uv=False) * gh-4853: avoid unaligned simd load on reductions on i386 * gh-4722: Fix seg fault converting empty string to object * gh-4613: Fix lack of NULL check in array_richcompare * gh-4774: avoid unaligned access for strided byteswap * gh-650: Prevent division by zero when creating arrays from some buffers * gh-4602: ifort has issues with optimization flag O2, use O1 NumPy 1.8.1 Release Notes ************************* This is a bugfix only release in the 1.8.x series. Issues fixed ============ * gh-4276: Fix mean, var, std methods for object arrays * gh-4262: remove insecure mktemp usage * gh-2385: absolute(complex(inf)) raises invalid warning in python3 * gh-4024: Sequence assignment doesn't raise exception on shape mismatch * gh-4027: Fix chunked reading of strings longer than BUFFERSIZE * gh-4109: Fix object scalar return type of 0-d array indices * gh-4018: fix missing check for memory allocation failure in ufuncs * gh-4156: high order linalg.norm discards imaginary elements of complex arrays * gh-4144: linalg: norm fails on longdouble, signed int * gh-4094: fix NaT handling in _strided_to_strided_string_to_datetime * gh-4051: fix uninitialized use in _strided_to_strided_string_to_datetime * gh-4093: Loading compressed .npz file fails under Python 2.6.6 * gh-4138: segfault with non-native endian memoryview in python 3.4 * gh-4123: Fix missing NULL check in lexsort * gh-4170: fix native-only long long check in memoryviews * gh-4187: Fix large file support on 32 bit * gh-4152: fromfile: ensure file handle positions are in sync in python3 * gh-4176: clang compatibility: Typos in conversion_utils * gh-4223: Fetching a non-integer item caused array return * gh-4197: fix minor memory leak in memoryview failure case * gh-4206: fix build with single-threaded python * gh-4220: add versionadded:: 1.8.0 to ufunc.at docstring * gh-4267: improve handling of memory allocation failure * gh-4267: fix use of capi without gil in ufunc.at * gh-4261: Detect vendor versions of GNU Compilers * gh-4253: IRR was returning nan instead of valid negative answer * gh-4254: fix unnecessary byte order flag change for byte arrays * gh-3263: numpy.random.shuffle clobbers mask of a MaskedArray * gh-4270: np.random.shuffle not work with flexible dtypes * gh-3173: Segmentation fault when 'size' argument to random.multinomial * gh-2799: allow using unique with lists of complex * gh-3504: fix linspace truncation for integer array scalar * gh-4191: get_info('openblas') does not read libraries key * gh-3348: Access violation in _descriptor_from_pep3118_format * gh-3175: segmentation fault with numpy.array() from bytearray * gh-4266: histogramdd - wrong result for entries very close to last boundary * gh-4408: Fix stride_stricks.as_strided function for object arrays * gh-4225: fix log1p and exmp1 return for np.inf on windows compiler builds * gh-4359: Fix infinite recursion in str.format of flex arrays * gh-4145: Incorrect shape of broadcast result with the exponent operator * gh-4483: Fix commutativity of {dot,multiply,inner}(scalar, matrix_of_objs) * gh-4466: Delay npyiter size check when size may change * gh-4485: Buffered stride was erroneously marked fixed * gh-4354: byte_bounds fails with datetime dtypes * gh-4486: segfault/error converting from/to high-precision datetime64 objects * gh-4428: einsum(None, None, None, None) causes segfault * gh-4134: uninitialized use for for size 1 object reductions Changes ======= NDIter ~~~~~~ When ``NpyIter_RemoveAxis`` is now called, the iterator range will be reset. When a multi index is being tracked and an iterator is not buffered, it is possible to use ``NpyIter_RemoveAxis``. In this case an iterator can shrink in size. Because the total size of an iterator is limited, the iterator may be too large before these calls. In this case its size will be set to ``-1`` and an error issued not at construction time but when removing the multi index, setting the iterator range, or getting the next function. This has no effect on currently working code, but highlights the necessity of checking for an error return if these conditions can occur. In most cases the arrays being iterated are as large as the iterator so that such a problem cannot occur. Optional reduced verbosity for np.distutils ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Set ``numpy.distutils.system_info.system_info.verbosity = 0`` and then calls to ``numpy.distutils.system_info.get_info('blas_opt')`` will not print anything on the output. This is mostly for other packages using numpy.distutils. Deprecations ============ C-API ~~~~~ The utility function npy_PyFile_Dup and npy_PyFile_DupClose are broken by the internal buffering python 3 applies to its file objects. To fix this two new functions npy_PyFile_Dup2 and npy_PyFile_DupClose2 are declared in npy_3kcompat.h and the old functions are deprecated. Due to the fragile nature of these functions it is recommended to instead use the python API when possible.
2015-04-14Remove more references to python-2.6.wiz1-5/+2
2015-04-13Removing python26. EOL'd quite some ago and discussed a couple times onrodent2-4/+3
tech-pkg@ and pkgsrc-users@.
2015-04-13Update to 1.8.1, changes not found.wiz3-7/+13
libreoffice4 still builds for me after this update.
2015-04-12Add py-sqlite3 dependency. Fixes last issue from PR 49817.wiz1-2/+4
Bump PKGREVISION.
2015-04-11Needs gmake to process Makefile correctly. Likely fixes build on Darwin.rodent2-15/+15
Light cleanup of pkgsrc Makefile. From website: Version 3.20 released on November 15, 2014. It conducts some minor fixes.
2015-04-10Fix interpreter path in installed file.wiz1-1/+4
Bump PKGREVISION.
2015-04-10Fix packaging with py33. Disable for py26.wiz2-3/+16
2015-04-10Fix PLIST for python-2.x.wiz1-1/+2
2015-04-10Update 0.14 to 0.14.1mef2-6/+6
--------------------- version: 0.14.1 date: Thu Apr 9 12:57:23 CEST 2015 changes: - fix bug in affine expression normalization - fix handling of conditional validity constraints
2015-04-07Update to 2.5.6, in the hope it addresses PR 49817.wiz3-10/+52
Release 2.5.6 ============= Bugs fixed ---------- - Detection of the R version during setup on Win8 (issues #255 and #258) - Segmentation fault when converting :mod:`pandas` :class:`Series` with elements of type object (issue #264) - The default converter from Python (non-rpy2) objects to rinterface-level objects was producing robjects-level objects whenever the input was of type :class:`list` (discovered while fixing issue #264) - Implemented suggested fix for issue with unlinking files on Windows (issue #191) - Testing rpy2 in the absence of ipython no longer stops with an error (issue #266) Release 2.5.5 ============= Bugs fixed ---------- - Crash (segfault) when querying an R object in an R environment triggers an error (symbol exists, but associated values resolves to an error - issue #251) - Change in the signature of `rcall` was not updated in the documentation (issue #259) - Minor update to the documentation (issue #257) Release 2.5.4 ============= Bugs fixed ---------- - Filter PNG files on size, preventing empty files causing trouble to be ipython notebook rendering of graphics later on (slight modification of the pull request #39) - Fix installation left unresolved with rpy2-2.5.3 (issue #248) - Possible segfault with Python 3.4 (issue #249) Release 2.5.3 ============= Changes ------- - `setup.py` has `install_requires` in addition to `requires` in the hope to fix the missing dependency with Python 2 (:mod:`singledispatch` is required but not installed). Bugs fixed ---------- - Extracting configuration information from should now work when R is emitting a warning (issue #247) - On OS X the library discovery step can yield nothing (see issue #246). A tentative fix is to issue a warning and keep moving. Release 2.5.2 ============= Bugs fixed ---------- - String representation of :class:`robjects.R` (issue #238) - Check during `build_ext` if unsupported version of R (pull request #32) - HTMl display of columns of factors in a DataFrame (issue #236) - HTML display of factors (issue #242) Release 2.5.1 ============= Bugs fixed ---------- - Require singledispatch if Python 3.3 (issue #232) - Fixed bug when R spits out a warning when asked configuration information (issue #233) - Restored printing of compilation information when running `setup.py` - Fixed installation issue on some systems (issue #234) - Workaround obscure failure message from unittest if Python < 3.4 and :mod:`singledispatch` cannot be imported (issue #235) Release 2.5.0 ============= New features ------------ - Experimental alternative way to preserve R objects from garbage collection. This can be activated with `rinterface.initr(r_preservehash=True)` (default is `False`. - :class:`GGPlot` object getting a method :meth:`save` mirroring R's `ggplot2::ggsave()`. - The conversion system is now using generics/single dispatch. - New module :mod:`rpy2.ipython.html` with HTML display for rpy2 objects - [Experimental] New function :func:`robjects.methods.rs4instance_factory` to type RS4 objects with more specificity. Changes ------- - The script `setup.py` was rewritten for clarity and ease of maintenance. Now it only uses `setuptools`. Release 2.4.4 ============= Bugs fixed ---------- - Use `input` rather than `raw_input` in the default console callback with Python 3 (fixes issue #222) - Issues with conversions, pandas, and rmagic (fixes issue #218 and more) Release 2.4.3 ============= Bugs fixed ---------- - `geom_raster` was missing from `rpy2.robjects.lib.ggplot2` (pull request #30) - Fixed issue with SVG rendering in ipython notebook (issue #217) - Regression with `rx2()` introduced with new conversion (issue #219) - Fixed documentation (missing `import`) (issue #213) Release 2.4.2 ============= Bugs fixed ---------- - Assigning an R `DataFrame` into an environment was failing if the conversion for Pandas was activated. (Issue #207) Release 2.4.1 ============= Bugs fixed ---------- - :meth:`rpy2.ipython` fixed spurious output to notebook cells. Release 2.4.0 ============= Changes ------- - Conversion system slightly changed, with the optional conversions for :mod:`numpy` and :mod:`pandas` modified accordingly. The changes should only matter if using third-party conversion functions. - The Python 3 version is now a first class citizen. `2to3` is no longer used, and the code base is made directly compatible with Python. This lowers significantly the installation time with Python 3 (which matters when developping rpy2). - The default options to initialize R (`rpy2.rinterface.initoptions') are no longer `('rpy2', '--quiet', '--vanilla', '--no-save')` but now `('rpy2', '--quiet', '--no-save')`. - :class:`robjects.vectors.ListVector` can be instanciated from any objects with a method `items()` with the expectation that the method returns an iterable of (name, value) tuples, or even be an iterable of (name, value) tuples. New features ------------ - For instances of :class:`rpy2.robjects.Function`, the `__doc__` is now a property fetching information about the parameters in the R signature. - Convenience function :func:`rpy2.robjects.packages.data` to extract the datasets in an R pacakges - :mod:`ipython`'s `rmagic` is now part of :mod:`rpy`. To use, `%load_ext rpy2.ipython` from within IPython. - new method :meth:`rpy2.rinterface.SexpEnvironment.keys`, returnings the names in the environment as a tuple of Python strings. - convenience class :class:`robjects.packages.InstalledPackages`, with a companion function :func:`robjects.packages.isinstalled`. - new class :class:`rinterface.SexpSymbol` to represent R symbols Bugs fixed ---------- - :meth:`rpy2.rinterface.Sexp.do_slot` was crashing when the parameter was an empty string (PR #155) Release 2.3.10 ============== Bugs fixed ---------- - `setup.py build` was broken when new R compiled with OpenMP (Issue #183) Release 2.3.9 ============= - Changes in pandas 0.13.0 broke the rpy2 conversion layer (Issue #173) Release 2.3.8 ============= Bugs fixed ---------- - Crash with R-3.0.2. Changes in R-3.0.2's C API coupled to a strange behaviour with R promises caused the problem. (PR #150) Release 2.3.7 ============= Bugs fixed ---------- - ggplot2's "guides" were missing - ggplot2's "theme_classic" was missing (PR #143) - ggplot2's "element_rect" was missing (PR #144) - :func:`rpy2.interactive.packages` was broken (PR #142) Release 2.3.6 ============= Bugs fixed ---------- - Several reports of segfault on OS X (since rpy2-2.3.1 - PR #109) - More fixes in converting `DataFrames` with dates from `pandas` Relase 2.3.5 ============ Bugs fixed ---------- - Missing mapping to ggplot2's `scale_shape_discrete` function - Better handling of dates in Pandas - Constructor for POSIXct improved (and fixed) Changes ------- - The attribute :attr:`rclass` is no longer read-only and can be set (since R allows it) - Importing the module :mod:`rpy2.interactive` no longer activates event processing by default (triggering concurrency errors when used with ipython). New features ------------ - New module :mod:`rpy2.interactive.ipython` (so far plotting automatically a ggplot2 figure in the iPython's console) - It is now possible to set the :attr:`rclass`. Relase 2.3.4 ============ Bugs fixed ---------- - Spurious error when running unit tests with Python 3 and numpy installed - Missing mapping to ggplot2's `geom_dotplot` function - Warnings are not longer printed (see Changes below) Changes ------- - Bumped target version of ggplot2 to 0.9.3.1 - Warnings are not longer printed. The C-level function in R became hidden in R-3.0, and the cost of an R-level check/print is relatively high if the R code called is very short. This might evolve into printing warnings only if interactive mode in Python (if this can be checked reliably). Release 2.3.3 ============= Bugs fixed ---------- - Some of the data.frames converted from :mod:`pandas` were triggering a :class:`TypeError` when calling :func:`repr` - In :mod:`rpy2.robjects.lib.ggplot2`, a mapping to `coord_fixed` was missing (PR #120) - Using the parameter `lib_loc` in a call to :func:`rpy2.robjects.packages.importr` was resulting in an error (PR #119) - Creating a `layer` through the `rpy2.robjects.lib.ggplot2` interface did not accept parameters (PR #122) - Testing the Python version was crashing of a number of unsupported Python versions (<= 2.6) (PR #117) New features ------------ - New module pandas2ri to convert from mod:`pandas` `DataFrame` objects - New classes :class:`rpy2.robjects.lib.grid.Unit` and :class:`rpy2.robjects.lib.grid.Gpar` to model their counterparts in R's `grid` package as they were previously missing from rpy2. Release 2.3.2 ============= Bug fixed --------- - Building on Win64 (pull request #6) - Fetching data from an R package through `importr` was masking any R object called `data` in that package. The data are now under the attribute name `__rdata__`. This is not completely safe either, although much less likely, a warning will be issued if still masking anything. Changes ------- - More informative error message when failing to build because `R CMD config` does not return what is expected Release 2.3.1 ============= Bugs fixed ---------- - default console print callback with Python (issue #112 linked to it) - deprecation warnings with ggplot2 (issue #111 and contributed patch)
2015-04-03Recursive bump for vala-0.28.0 update.wiz1-1/+2
2015-03-31SSE2 support only makes sense on X86, but configure doesn't reallyjoerg1-1/+7
check. Use a blunt object to help it.
2015-03-31Support NetBSD platforms with non-fixed endianess. Remove patch backupsjoerg3-4/+25
just before install to make patch updates easier.
2015-03-17Package requires GCC runtime.jperkin1-1/+3
2015-03-15needs cursestnn1-1/+2
2015-03-15Set MAINTAINER to pkgsrc-users.hiramatsu2-4/+4
2015-03-15Set MAINTAINER to pkgsrc-users.hiramatsu1-2/+2
2015-03-15needs cursestnn1-1/+2
2015-03-14Update pear-Numbers_Words to 0.18.0.taca2-6/+6
0.18.0 Release date: 2014-10-24 17:28 UTC Release state: beta Changelog: * Fixed bug #19453: Incorrect spelling of Hungarian numbers [kouber] * Fixed bug #19543: Better handling of decimal mark and thousands separators [kouber] * Fixed bug #19855: Do not emit E_NOTICE when calling toWords() statically [cweiske] * Fixed pl unicode [Jakub Roszkiewicz] * Fixed ru_RU currency codes [Vital Leshchyk] * Fixed tr_TR unicode [Shahriyar Imanov] * Added en_IN - Indian English [Abhinav Nayak] * Added lv - Latvian [Andrius] * Added ro_RO - Romanian [Bogdan Stancescu] * Added ua - Ukrainian [Vital Leshchyk] * Unify locale loading code [cweiske] * Use PEAR class-to-filename convention [cweiske] This release changes class names and locations of locale files. This is a backwards compatibility break.
2015-03-13Update ruby-spreadsheet to 1.0.3.taca2-6/+6
### 1.0.3 / 10.03.2015 Author: Robert Eshleman <c.robert.eshleman@gmail.com> Date: Mon Mar 9 09:47:59 2015 -0400 * Update `ruby-ole` to `1.2.11.8` ** `ruby-ole` <= `1.2.11.7` throws a duplicated key warning in Ruby 2.2. ** This commit updates `ruby-ole` to `1.2.11.8`, which fixes this warning. ** Related discussion: [aquasync/ruby-ole#15] - [aquasync/ruby-ole#15]: https://github.com/aquasync/ruby-ole/issues/15 ### 1.0.2 / 05.03.2015 Author: cantin <cantin2010@gmail.com> Date: Thu Mar 5 16:13:59 2015 +0800 * add Rational support * add rational requirement * use old rational syntax in test
2015-03-12needs soelimtnn1-2/+2
2015-03-12fix parse error in fftw.texi when makeinfo is provided by gtexinfotnn2-4/+20
2015-03-08Update ruby-gsl to 1.16.0.4.taca11-556/+206
* Switch to rb-gsl gem. Fri Dec 19 2014 * Ruby/GSL 1.16.0.4 * Optimize and extract multiplication and division operations on Fixnum and Float. Pull request #8 by Veselin Vasilev. * Fixed division in GSL::Oper for GSL::Vector::Col. Issue #9. Tue Oct 21 2014 * Ruby/GSL 1.16.0.3 * Fixed RDoc issues. Issue #6 by @bigtunacan. * Fixed $LOAD_PATH problem. Pull request #7 by Takahiro SATOH. Wed Jul 9 2014 * Ruby/GSL 1.16.0.2 * Fixed linking problem. Thu Apr 24 2014 * Ruby/GSL 1.16.0.1 * Extensive cleanup. * Fixed linking problems. * Required Ruby version >= 1.8.7. Fri Jan 24 2014 * Ruby/GSL 1.16.0 * GSL-1.16 support.
2015-03-08Add ${GEM_EXTSDIR}/gem.build_complete for new rubygems and updated ruby.taca1-1/+2
2015-03-02LLVM's correlated value propagation pass is known to require a lot ofjoerg1-6/+3
memory and CPU time for certain input. Provide a variable (CLANG_NO_VALUE_PROPAGATION_PASS) for selectively disabling it in those places known to trigger it.
2015-02-28Always build PIC. Bump revision.joerg3-3/+31
2015-02-27Update to 2.07mef2-7/+6
-------------- 2.07 2014-01-26 Hugo - Go direct to XS for more speed - add lcm/blcm, bsqrt, bmodinv
2015-02-21Update to 1.0.3:wiz2-6/+6
Changes in version 1.0.3: - Fixed mpc_pow, see http://lists.gforge.inria.fr/pipermail/mpc-discuss/2014-October/001315.html - #18257: Switched to libtool 2.4.5.
2015-02-20Update to 1.06wen2-7/+6
Upstream changes: 1.06 2014-11-25 07:09:08-05:00 America/New_York [Fixed] - Make 0 and 0 compare equal with a relative epsilon [Documented] - Added SEE ALSO with Number::Tolerant and Test::Deep::NumberTolerant 1.05 2014-11-24 11:08:11-05:00 America/New_York [Fixed] - relative comparison of array reference elements now works as intended - diagnostics of delta_not_ok and delta_not_within clarified under relative comparison 1.04 2013-11-20 18:43:32 America/New_York - Modernized distribution metadata and licensing - Distribution now managed with Dist::Zilla
2015-02-17Restore variable substitution lost in last update, exposed by cwrappers.jperkin2-5/+5
2015-02-07Regenerate for updated `patch-include_cln_types.h'.jdc1-2/+2
2015-02-07Commit correct version of patch (oops).jdc1-13/+4
2015-02-07Regenerate for new `patch-include_cln_types.h'.jdc1-1/+2
2015-02-07Allow this to compile on sparc64 (sent upstream).jdc1-0/+40
2015-02-04Add coinmpryoon1-1/+2
2015-02-04Import coinmp-1.7.6 as math/coinmp.ryoon5-0/+375
CoinMP is a C-API library that supports most of the functionality of CLP (Coin LP), CBC (Coin Branch-and-Cut), and CGL (Cut Generation Library) projects.
2015-02-03(pkgsrc)mef3-8/+10
- Add LICENSE gnu-gpl-v2 (upstream) - Update 2.12 to 2.13 ############################################## # 2013-03-13 galculator 2.1.3 released # ############################################## 2014-03-07 Simon Floery <simon.floery@rechenraum.com> * Added Spanish tranlsation (thanks to jcsl, sf.net patch #8) 2014-02-19 Simon Floery <simon.floery@rechenraum.com> * Fixed segfault introduced in r134 2014-01-13 Simon Floery <simon.floery@rechenraum.com> * Updated Turkish translations (thanks to Volkan, fixes sf.net #103) 2014-01-08 Simon Floery <simon.floery@rechenraum.com> * Fixing result string corruption when toggling sign (thanks to Juha Kylliaein for reporting) * Emitting signal in apply_preferences so that menu gets hidden after a restart again (closes sf.net #99) 2013-09-01 Simon Floery <simon.floery@rechenraum.com> * added Hungarian translation (thanks to Zoltan) 2013-08-14 Simon Floery <simon.floery@rechenraum.com> * rpn_stack_list when pasting (fixes sf.net #98, thanks to Don Allen for reporting).
2015-02-03Update ruby-narray to 0.6.1.1.taca3-12/+11
2013-03-16 Masahiro TANAKA <masa16.tanaka@gmail.com> * narray.c (Init_narray): add map, map! Thanks to Michael Macias.
2015-01-27specifiy -undefined dynamic-lookup with PKGSRC_FORTRAN=gfortran on Darwindbj1-1/+4
2015-01-27use the Accelerate framework on Darwin instead of the obsolete vecLibdbj8-25/+124
2015-01-23Rename private strtoi function. Bump revision.joerg5-3/+72
2015-01-23Rename local strtoi function.joerg2-1/+24