summaryrefslogtreecommitdiff
path: root/doc/source/release/1.5.0-notes.rst
diff options
context:
space:
mode:
authorSebastian Berg <sebastian@sipsolutions.net>2019-08-29 15:52:07 -0500
committerGitHub <noreply@github.com>2019-08-29 15:52:07 -0500
commit2f70544179e24b0ebc0263111f36e6450bbccf94 (patch)
tree0f8704a857a0e5d6c8a551efaef468834206ddf6 /doc/source/release/1.5.0-notes.rst
parent766a88d2a1fcc03c74d19a6c04b87ab825819067 (diff)
parent9f3e2cbc4d558acfe62abb663ca3c57d38b6db51 (diff)
downloadnumpy-2f70544179e24b0ebc0263111f36e6450bbccf94.tar.gz
Merge pull request #13886 from mattip/release-index
DOC: reformat top-level release index
Diffstat (limited to 'doc/source/release/1.5.0-notes.rst')
-rw-r--r--doc/source/release/1.5.0-notes.rst131
1 files changed, 131 insertions, 0 deletions
diff --git a/doc/source/release/1.5.0-notes.rst b/doc/source/release/1.5.0-notes.rst
new file mode 100644
index 000000000..a2184ab13
--- /dev/null
+++ b/doc/source/release/1.5.0-notes.rst
@@ -0,0 +1,131 @@
+=========================
+NumPy 1.5.0 Release Notes
+=========================
+
+
+Highlights
+==========
+
+Python 3 compatibility
+----------------------
+
+This is the first NumPy release which is compatible with Python 3. Support for
+Python 3 and Python 2 is done from a single code base. Extensive notes on
+changes can be found at
+`<http://projects.scipy.org/numpy/browser/trunk/doc/Py3K.txt>`_.
+
+Note that the Numpy testing framework relies on nose, which does not have a
+Python 3 compatible release yet. A working Python 3 branch of nose can be found
+at `<http://bitbucket.org/jpellerin/nose3/>`_ however.
+
+Porting of SciPy to Python 3 is expected to be completed soon.
+
+:pep:`3118` compatibility
+-------------------------
+
+The new buffer protocol described by PEP 3118 is fully supported in this
+version of Numpy. On Python versions >= 2.6 Numpy arrays expose the buffer
+interface, and array(), asarray() and other functions accept new-style buffers
+as input.
+
+
+New features
+============
+
+Warning on casting complex to real
+----------------------------------
+
+Numpy now emits a `numpy.ComplexWarning` when a complex number is cast
+into a real number. For example:
+
+ >>> x = np.array([1,2,3])
+ >>> x[:2] = np.array([1+2j, 1-2j])
+ ComplexWarning: Casting complex values to real discards the imaginary part
+
+The cast indeed discards the imaginary part, and this may not be the
+intended behavior in all cases, hence the warning. This warning can be
+turned off in the standard way:
+
+ >>> import warnings
+ >>> warnings.simplefilter("ignore", np.ComplexWarning)
+
+Dot method for ndarrays
+-----------------------
+
+Ndarrays now have the dot product also as a method, which allows writing
+chains of matrix products as
+
+ >>> a.dot(b).dot(c)
+
+instead of the longer alternative
+
+ >>> np.dot(a, np.dot(b, c))
+
+linalg.slogdet function
+-----------------------
+
+The slogdet function returns the sign and logarithm of the determinant
+of a matrix. Because the determinant may involve the product of many
+small/large values, the result is often more accurate than that obtained
+by simple multiplication.
+
+new header
+----------
+
+The new header file ndarraytypes.h contains the symbols from
+ndarrayobject.h that do not depend on the PY_ARRAY_UNIQUE_SYMBOL and
+NO_IMPORT/_ARRAY macros. Broadly, these symbols are types, typedefs,
+and enumerations; the array function calls are left in
+ndarrayobject.h. This allows users to include array-related types and
+enumerations without needing to concern themselves with the macro
+expansions and their side- effects.
+
+
+Changes
+=======
+
+polynomial.polynomial
+---------------------
+
+* The polyint and polyder functions now check that the specified number
+ integrations or derivations is a non-negative integer. The number 0 is
+ a valid value for both functions.
+* A degree method has been added to the Polynomial class.
+* A trimdeg method has been added to the Polynomial class. It operates like
+ truncate except that the argument is the desired degree of the result,
+ not the number of coefficients.
+* Polynomial.fit now uses None as the default domain for the fit. The default
+ Polynomial domain can be specified by using [] as the domain value.
+* Weights can be used in both polyfit and Polynomial.fit
+* A linspace method has been added to the Polynomial class to ease plotting.
+* The polymulx function was added.
+
+polynomial.chebyshev
+--------------------
+
+* The chebint and chebder functions now check that the specified number
+ integrations or derivations is a non-negative integer. The number 0 is
+ a valid value for both functions.
+* A degree method has been added to the Chebyshev class.
+* A trimdeg method has been added to the Chebyshev class. It operates like
+ truncate except that the argument is the desired degree of the result,
+ not the number of coefficients.
+* Chebyshev.fit now uses None as the default domain for the fit. The default
+ Chebyshev domain can be specified by using [] as the domain value.
+* Weights can be used in both chebfit and Chebyshev.fit
+* A linspace method has been added to the Chebyshev class to ease plotting.
+* The chebmulx function was added.
+* Added functions for the Chebyshev points of the first and second kind.
+
+
+histogram
+---------
+
+After a two years transition period, the old behavior of the histogram function
+has been phased out, and the "new" keyword has been removed.
+
+correlate
+---------
+
+The old behavior of correlate was deprecated in 1.4.0, the new behavior (the
+usual definition for cross-correlation) is now the default.