178 lines
5.8 KiB
ReStructuredText
178 lines
5.8 KiB
ReStructuredText
=========================
|
|
NumPy 1.6.0 Release Notes
|
|
=========================
|
|
|
|
This release includes several new features as well as numerous bug fixes and
|
|
improved documentation. It is backward compatible with the 1.5.0 release, and
|
|
supports Python 2.4 - 2.7 and 3.1 - 3.2.
|
|
|
|
|
|
Highlights
|
|
==========
|
|
|
|
* Re-introduction of datetime dtype support to deal with dates in arrays.
|
|
|
|
* A new 16-bit floating point type.
|
|
|
|
* A new iterator, which improves performance of many functions.
|
|
|
|
|
|
New features
|
|
============
|
|
|
|
New 16-bit floating point type
|
|
------------------------------
|
|
|
|
This release adds support for the IEEE 754-2008 binary16 format, available as
|
|
the data type ``numpy.half``. Within Python, the type behaves similarly to
|
|
`float` or `double`, and C extensions can add support for it with the exposed
|
|
half-float API.
|
|
|
|
|
|
New iterator
|
|
------------
|
|
|
|
A new iterator has been added, replacing the functionality of the
|
|
existing iterator and multi-iterator with a single object and API.
|
|
This iterator works well with general memory layouts different from
|
|
C or Fortran contiguous, and handles both standard NumPy and
|
|
customized broadcasting. The buffering, automatic data type
|
|
conversion, and optional output parameters, offered by
|
|
ufuncs but difficult to replicate elsewhere, are now exposed by this
|
|
iterator.
|
|
|
|
|
|
Legendre, Laguerre, Hermite, HermiteE polynomials in ``numpy.polynomial``
|
|
-------------------------------------------------------------------------
|
|
|
|
Extend the number of polynomials available in the polynomial package. In
|
|
addition, a new ``window`` attribute has been added to the classes in
|
|
order to specify the range the ``domain`` maps to. This is mostly useful
|
|
for the Laguerre, Hermite, and HermiteE polynomials whose natural domains
|
|
are infinite and provides a more intuitive way to get the correct mapping
|
|
of values without playing unnatural tricks with the domain.
|
|
|
|
|
|
Fortran assumed shape array and size function support in ``numpy.f2py``
|
|
-----------------------------------------------------------------------
|
|
|
|
F2py now supports wrapping Fortran 90 routines that use assumed shape
|
|
arrays. Before such routines could be called from Python but the
|
|
corresponding Fortran routines received assumed shape arrays as zero
|
|
length arrays which caused unpredicted results. Thanks to Lorenz
|
|
Hüdepohl for pointing out the correct way to interface routines with
|
|
assumed shape arrays.
|
|
|
|
In addition, f2py supports now automatic wrapping of Fortran routines
|
|
that use two argument ``size`` function in dimension specifications.
|
|
|
|
|
|
Other new functions
|
|
-------------------
|
|
|
|
``numpy.ravel_multi_index`` : Converts a multi-index tuple into
|
|
an array of flat indices, applying boundary modes to the indices.
|
|
|
|
``numpy.einsum`` : Evaluate the Einstein summation convention. Using the
|
|
Einstein summation convention, many common multi-dimensional array operations
|
|
can be represented in a simple fashion. This function provides a way compute
|
|
such summations.
|
|
|
|
``numpy.count_nonzero`` : Counts the number of non-zero elements in an array.
|
|
|
|
``numpy.result_type`` and ``numpy.min_scalar_type`` : These functions expose
|
|
the underlying type promotion used by the ufuncs and other operations to
|
|
determine the types of outputs. These improve upon the ``numpy.common_type``
|
|
and ``numpy.mintypecode`` which provide similar functionality but do
|
|
not match the ufunc implementation.
|
|
|
|
|
|
Changes
|
|
=======
|
|
|
|
``default error handling``
|
|
--------------------------
|
|
|
|
The default error handling has been change from ``print`` to ``warn`` for
|
|
all except for ``underflow``, which remains as ``ignore``.
|
|
|
|
|
|
``numpy.distutils``
|
|
-------------------
|
|
|
|
Several new compilers are supported for building Numpy: the Portland Group
|
|
Fortran compiler on OS X, the PathScale compiler suite and the 64-bit Intel C
|
|
compiler on Linux.
|
|
|
|
|
|
``numpy.testing``
|
|
-----------------
|
|
|
|
The testing framework gained ``numpy.testing.assert_allclose``, which provides
|
|
a more convenient way to compare floating point arrays than
|
|
`assert_almost_equal`, `assert_approx_equal` and `assert_array_almost_equal`.
|
|
|
|
|
|
``C API``
|
|
---------
|
|
|
|
In addition to the APIs for the new iterator and half data type, a number
|
|
of other additions have been made to the C API. The type promotion
|
|
mechanism used by ufuncs is exposed via ``PyArray_PromoteTypes``,
|
|
``PyArray_ResultType``, and ``PyArray_MinScalarType``. A new enumeration
|
|
``NPY_CASTING`` has been added which controls what types of casts are
|
|
permitted. This is used by the new functions ``PyArray_CanCastArrayTo``
|
|
and ``PyArray_CanCastTypeTo``. A more flexible way to handle
|
|
conversion of arbitrary python objects into arrays is exposed by
|
|
``PyArray_GetArrayParamsFromObject``.
|
|
|
|
|
|
Deprecated features
|
|
===================
|
|
|
|
The "normed" keyword in ``numpy.histogram`` is deprecated. Its functionality
|
|
will be replaced by the new "density" keyword.
|
|
|
|
|
|
Removed features
|
|
================
|
|
|
|
``numpy.fft``
|
|
-------------
|
|
|
|
The functions `refft`, `refft2`, `refftn`, `irefft`, `irefft2`, `irefftn`,
|
|
which were aliases for the same functions without the 'e' in the name, were
|
|
removed.
|
|
|
|
|
|
``numpy.memmap``
|
|
----------------
|
|
|
|
The `sync()` and `close()` methods of memmap were removed. Use `flush()` and
|
|
"del memmap" instead.
|
|
|
|
|
|
``numpy.lib``
|
|
-------------
|
|
|
|
The deprecated functions ``numpy.unique1d``, ``numpy.setmember1d``,
|
|
``numpy.intersect1d_nu`` and ``numpy.lib.ufunclike.log2`` were removed.
|
|
|
|
|
|
``numpy.ma``
|
|
------------
|
|
|
|
Several deprecated items were removed from the ``numpy.ma`` module::
|
|
|
|
* ``numpy.ma.MaskedArray`` "raw_data" method
|
|
* ``numpy.ma.MaskedArray`` constructor "flag" keyword
|
|
* ``numpy.ma.make_mask`` "flag" keyword
|
|
* ``numpy.ma.allclose`` "fill_value" keyword
|
|
|
|
|
|
``numpy.distutils``
|
|
-------------------
|
|
|
|
The ``numpy.get_numpy_include`` function was removed, use ``numpy.get_include``
|
|
instead.
|