SciPy 0.14.0发行说明¶
目录
SciPy 0.14.0是8个月辛勤工作的顶峰。它包含许多新功能、大量错误修复、改进的测试覆盖率和更好的文档。此版本中有许多弃用和API更改,如下所述。我们鼓励所有用户升级到此版本,因为有大量的错误修复和优化。此外,我们的开发注意力现在将转移到0.14.x分支上的错误修复版本,以及在主分支上添加新功能。
此版本需要Python2.6、2.7或3.2-3.4以及NumPy 1.5.1或更高版本。
新功能¶
scipy.interpolate
改进¶
一种新的包装器函数 scipy.interpolate.interpn
添加了用于规则网格上的插值。 interpn 支持任意维度中的线性插值和最近邻插值,以及二维中的样条插值。
幂基和Bernstein多项式基中分段多项式的更快实现被添加为 scipy.interpolate.PPoly
和 scipy.interpolate.BPoly
。新用户应该使用这些工具来支持 scipy.interpolate.PiecewisePolynomial 。
scipy.interpolate.interp1d
现在接受非单调输入并对其进行排序。如果性能非常重要,则可以使用新的 assume_sorted
关键字。
中二元样条导数的求值函数 scipy.interpolate
已添加。
新班级 scipy.interpolate.Akima1DInterpolator
实现了H.Akima设计的分段三次多项式插值方案。
在任意维度的规则、间距不均的格网上进行快速插值的功能已添加为 scipy.interpolate.RegularGridInterpolator
。
scipy.linalg
改进¶
新功能 scipy.linalg.dft
计算离散傅立叶变换的矩阵。
一种矩阵指数的条件数估计函数, scipy.linalg.expm_cond
,已添加。
scipy.optimize
改进¶
一组用于优化的基准测试,可以使用 optimize.bench()
,已添加。
scipy.optimize.curve_fit
现在有了更可控的误差估计,通过 absolute_sigma
关键字。
支持将自定义最小化方法传递给 optimize.minimize()
和 optimize.minimize_scalar()
已添加,当前特别适用于组合 optimize.basinhopping()
具有自定义本地优化器例程。
scipy.stats
改进¶
一个新班级 scipy.stats.multivariate_normal
添加了用于多变量正态随机变量的功能。
在这个问题上做了大量的工作 scipy.stats
建立了配送框架。矩计算(主要是偏斜和峰度)是固定和验证的,所有示例现在都可以运行,并且合并了许多针对单个分布的小的精度和性能改进。
新功能 scipy.stats.anderson_ksamp
对于k个样本来自同一父总体的零假设,计算k样本的Anderson-Darling检验。
scipy.signal
改进¶
scipy.signal.iirfilter
设计巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器和贝塞尔IIR滤波器的相关函数现在都在内部使用零极点(“zpk”)格式,而不是使用分子/分母格式的转换。因此,所生产的滤波器,特别是高阶滤波器的精度得到了显著的提高。
萨维茨基-格雷过滤增加了新功能 scipy.signal.savgol_filter
和 scipy.signal.savgol_coeffs
。
新功能 scipy.signal.vectorstrength
计算一组事件的矢量强度(相位同步的度量)。
scipy.special
改进¶
功能 scipy.special.boxcox
和 scipy.special.boxcox1p
,用于计算Box-Cox变换。
scipy.sparse
改进¶
显著提高CSR、CSC和DOK索引速度的性能。
使用Numpy>=1.9(将在MM 2014中发布)时,稀疏矩阵在被赋予以下参数时功能正常
np.dot
,np.multiply
以及其他不起作用的人。对于早期版本的Numpy和Scipy,此类操作的结果是未定义的,通常是意外的。稀疏矩阵不再局限于
2^31
非零元素。对于包含更多元素的矩阵,它们会自动切换为使用64位索引数据类型。假设稀疏矩阵使用int32作为索引数据类型而编写的用户代码将继续工作,但如此大的矩阵除外。处理较大矩阵的代码需要接受int32或int64索引。
不推荐使用的功能¶
anneal
¶
全局最小化函数 scipy.optimize.anneal 已弃用。所有用户都应使用 scipy.optimize.basinhopping
取而代之的是函数。
scipy.stats
¶
randwcdf
和 randwppf
函数已弃用。所有用户都应使用特定于分发的 rvs
方法取而代之。
概率计算别名 zprob
, fprob
和 ksprob
都已弃用。改为使用 sf
方法或相应的分布的 special
直接起作用。
scipy.interpolate
¶
PiecewisePolynomial
类已弃用。
向后不兼容的更改¶
scipy.special.lpmn¶
lpmn
不再接受复值参数。一种新功能 clpmn
添加了具有统一的复杂分析行为,应该改为使用它。
scipy.sparse.linalg¶
在广义特征值问题的情况下,特征向量被归一化为2范数的单位向量,而不是遵循LAPACK归一化约定。
中不推荐使用的UMFPACK包装器 scipy.sparse.linalg
由于许可和安装问题已被删除。如果可用, scikits.umfpack
仍然透明地在 spsolve
和 factorized
功能。否则,将在这些函数中使用SuperLU。
scipy.stats¶
不推荐使用的函数 glm
, oneway
和 cmedian
已从 scipy.stats
。
stats.scoreatpercentile
现在返回一个数组,而不是百分位数列表。
scipy.interpolate¶
用于计算单调分段插值的导数的API已更改:如果 p is a PchipInterpolator
object, p.derivative(der) returns a callable object representing the derivative of p. For in-place derivatives use the second argument of the _ _call__`方法: `p(0.1, der=2) 的二阶导数求值。 p 在… x=0.1 。
该方法 p.derivatives 已被移除。