Numpy 1.5.0发行说明

集锦

python 3兼容性

这是第一个与Python3兼容的numpy版本。对python 3和python 2的支持是从单个代码库中完成的。有关更改的详细说明,请访问 https://web.archive.org/web/20100814160313/http://projects.scipy.org/numpy/browser/trunk/doc/Py3K.txt .

注意,numpy测试框架依赖于nose,它还没有与python 3兼容的版本。一条正在工作的 Python 3鼻子分支可以在 https://web.archive.org/web/20100817112505/http://bitbucket.org/jpellerin/nose3/ 然而。

scipy到python 3的移植有望很快完成。

PEP 3118 兼容性

此版本的numpy完全支持PEP 3118描述的新缓冲区协议。在python版本中>=2.6 numpy数组公开缓冲区接口,array()、as array()和其他函数接受新样式的缓冲区作为输入。

新特点

从复杂到真实的铸造警告

NumPy 现在发出 numpy.ComplexWarning 当复数被转换成实数时。例如:

>>> x = np.array([1,2,3])
>>> x[:2] = np.array([1+2j, 1-2j])
ComplexWarning: Casting complex values to real discards the imaginary part

演员确实抛弃了假想的部分,这可能不是所有情况下的预期行为,因此是警告。此警告可以按标准方式关闭:

>>> import warnings
>>> warnings.simplefilter("ignore", np.ComplexWarning)

ndarrays的点法

Ndarrays现在也有点积作为一种方法,它允许将矩阵产品的链作为

>>> a.dot(b).dot(c)

而不是更长的选择

>>> np.dot(a, np.dot(b, c))

linalg.slogdet函数

slogdet函数返回矩阵行列式的符号和对数。由于行列式可能涉及许多小/大值的乘积,因此结果通常比简单乘法得到的结果更准确。

新标题

新的头文件ndarraytypes.h包含来自ndarrayObject.h的符号,这些符号不依赖于py_array_unique_symbol和no_import/_array宏。一般来说,这些符号是类型、typedef和枚举;数组函数调用保留在ndarrayObject.h中。这允许用户包括与数组相关的类型和枚举,而无需关心宏扩展及其副作用。

变化

polynomial.polynomial

  • polyint和polyder函数现在检查指定的数字积分或派生是否为非负整数。数字0是两个函数的有效值。

  • 在多项式类中增加了一个次数法。

  • 在多项式类中添加了Trimdeg方法。它的操作类似于截断,只是参数是结果的期望程度,而不是系数的数量。

  • 多项式.fit现在使用none作为fit的默认域。可以使用[]作为域值指定默认的多项式域。

  • 权重可以同时用于polyfit和polyfit.fit中。

  • 为了便于绘制,在多项式类中添加了一个linspace方法。

  • 添加了多硫化物功能。

polynomial.chebyshev

  • chebint和chebder函数现在检查指定的数字积分或派生是否为非负整数。数字0是两个函数的有效值。

  • 已将degree方法添加到chebyshev类中。

  • 已将trimdeg方法添加到chebyshev类中。它的操作类似于截断,只是参数是结果的期望程度,而不是系数的数量。

  • chebyshev.fit现在使用none作为fit的默认域。默认chebyshev域可以使用[]作为域值来指定。

  • 重量可用于chebfit和chebyshev.fit。

  • 为便于绘图,已将linspace方法添加到chebyshev类中。

  • 添加了chebmulx函数。

  • 为第一类和第二类切比雪夫点添加了函数。

直方图

经过两年的过渡期后,柱状图函数的旧行为已被逐步淘汰,“new”关键字已被删除。

相关

旧的correlate行为在1.4.0中被弃用,新的行为(交叉相关的通常定义)现在是默认行为。