[SciPy-Dev] ANN: Numpy 1.6.0 beta 1

Ralf Gommers ralf.gommers at googlemail.com
Wed Mar 23 12:07:24 EDT 2011


Hi,

I am pleased to announce the availability of the first beta of NumPy
1.6.0. Due to the extensive changes in the Numpy core for this
release, the beta testing phase will last at least one month. Please
test this beta and report any problems on the Numpy mailing list.

Sources and binaries can be found at:
http://sourceforge.net/projects/numpy/files/NumPy/1.6.0b1/
For (preliminary) release notes see below.

Enjoy,
Ralf


=========================
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 interprets Fortran expression ``size(array, dim)``
as ``shape(array, dim-1)`` which makes it possible to automatically
wrap Fortran routines that use two argument ``size`` function in
dimension specifications. Before users were forced to apply this
mapping manually.


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
=======

Changes and improvements in the numpy core
------------------------------------------




``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``.


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.

Checksums
=========

89f52ae0f0ea84cfcb457298190bee14
release/installers/numpy-1.6.0b1-py2.7-python.org.dmg
8dee06b362540b2c8c033399951e5386
release/installers/numpy-1.6.0b1-win32-superpack-python2.5.exe
c1b11bf48037ac8fe025bfd297969840
release/installers/numpy-1.6.0b1-win32-superpack-python2.6.exe
2b005cb359d8123bd5ee3063d9eae3ac
release/installers/numpy-1.6.0b1-win32-superpack-python2.7.exe
45627e8f63fe34011817df66722c39a5
release/installers/numpy-1.6.0b1-win32-superpack-python3.1.exe
1d8b214752b19b51ee747a6436ca1d38
release/installers/numpy-1.6.0b1-win32-superpack-python3.2.exe
aeab5881974aac595b87a848c0c6344a  release/installers/numpy-1.6.0b1.tar.gz
3ffc6e308f9e0614531fa3babcb75544  release/installers/numpy-1.6.0b1.zip



More information about the SciPy-Dev mailing list