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

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.

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

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.

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

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.