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 已被移除。

其他变化

作者

  • 马克·阿布拉莫维茨+

  • 安德斯·贝赫·博尔切森+

  • 文森特·阿雷尔-邦多克+

  • Petr Baudis+

  • 马克斯·博林布罗克

  • 弗朗索瓦·布洛涅

  • 马修·布雷特

  • 拉尔斯·比廷克(Lars Buitinck)

  • 叶夫根尼·布洛夫斯基

  • CJ Carey+

  • 托马斯·A·卡斯韦尔+

  • Pawel Chojnacki+

  • Phillip Cloud+

  • 斯特凡诺·科斯塔+

  • 大卫·库尔纳波(David Cournapeau)

  • David Menendez Hurtado+

  • Matthieu Dartiailh+

  • 克里斯托夫·代尔(Christoph Deil)+

  • 约尔格·迪特里希+

  • 内胚层

  • 弗朗西斯科·德拉培尼亚+

  • Ben FrantzDale+

  • 吉姆·加里森+

  • 安德烈·高卢

  • 克里斯托夫·戈尔克(Christoph Gohlke)

  • 拉尔夫·戈默斯

  • 罗伯特·大卫·格兰特

  • 亚历克斯·格里芬

  • 布莱克·格里菲斯

  • 雅罗斯拉夫·哈尔琴科

  • 安德烈亚斯·希尔博尔

  • 吉黄

  • 格特-路德维希金币

  • 詹姆斯·T·韦伯+

  • Dorota Jarecka+

  • 托德·詹宁斯+

  • 索伊斯(雷)琼斯

  • 胡安·路易斯·卡诺·罗德里格斯

  • ktritz+

  • Jacques Kvam+

  • 埃里克·拉尔森+

  • 贾斯汀·拉沃伊+

  • 丹尼斯·拉沙尔德(Denis Laxalde)

  • Jussi Leinonen+

  • Lemonlag+

  • 蒂姆·莱斯利

  • Alain Leufroy+

  • 乔治·刘易斯+

  • 最大链接+

  • Brandon Liu+

  • Benny Malengier+

  • Matthias Kümmerer+

  • Cimarron Mittelstet+

  • 埃里克·摩尔

  • 安德鲁·纳尔逊+

  • Niklas HambüChen+

  • 乔尔·诺斯曼+

  • 克莱门斯·诺瓦克

  • Emanuele Olivetti+

  • 斯特凡·奥特+

  • PEB+

  • 约瑟夫·帕克泰尔

  • Pjwereck

  • 普利奥(Poolio)

  • 杰罗姆·罗伊+

  • 卡尔·桑德罗克+

  • Andrew Sczesnak+

  • 肖纳+

  • 法布里斯·席尔瓦

  • 丹尼尔·B·史密斯

  • 帕特里克·斯内普+

  • 托马斯·斯普拉+

  • 雅各布·史蒂文森

  • 朱利安·泰勒

  • 托马斯·托梅切克

  • 蔡崇信

  • 雅各布·范德普拉斯

  • Joris Vankerschaver+

  • 保利·维尔塔宁(Pauli Virtanen)

  • 沃伦·韦克瑟(Warren Weckesser)

总共有80人参与了这次发布。名字中带有“+”的人第一次贡献了一个补丁。此名称列表是自动生成的,可能不完整。

问题已结案

  • #1325 :向scipy.cluster.Hierarchy中的树状图函数添加自定义轴关键字.

  • #1437 :负整数的锤子符号错误(Trac#910)

  • #1555 :scipy.io.netcdf泄漏文件描述符(Trac#1028)

  • #1569 :稀疏矩阵使用numpy.multiply()进行元素乘法失败.

  • #1833 :稀疏矩阵限制为2^32个非零元素(Trac#1307)

  • #1834 :scipy.linalg.eig不归一化特征向量,如果给定B.

  • #1866 :invGamma的统计信息(Trac#1340)

  • #1886 :stats.zipf浮点警告(Trac#1361)

  • #1887 :统计连续分布-浮点警告(跟踪.

  • #1897 :SCOREATPERCENTILEL()不处理空列表输入(Trac#1372)

  • #1918 :Splint返回错误结果(Trac#1393)

  • #1949 :kurtosistest在mstats中失败,类型错误(Trac#1424)

  • #2092 :scipy.test离开darwin27编译的_CATALOG、cpp和so文件.

  • #2106 :STATS ENH:分发文档字符串中的形状参数(跟踪.

  • #2123 :二进制ufunc中稀疏矩阵的不良行为(Trac#1598)

  • #2152 :修复Python 3上gzip上的mmio/fromfile(Trac#1627)

  • #2164 :stats.rice.pdf(x,0)返回NaN(Trac#1639)

  • #2169 :scipy.Optimize.fmin_bfgs不处理带边界的函数.

  • #2177 用法:scipy.cluster.Hierarchy.ClusterNode.pre_order返回IndexError.

  • #2179 :Coo.toDense()段故障(Trac#1654)

  • #2185 :scipy.ndimage.gauss_过滤*()的精度限制(TRAC#1660)

  • #2186 :scipy.stats.mstats.kurtosistest在一维输入上崩溃(Trac#1661)

  • #2238 :Hypergeom.cdf上的负p值(Trac#1719)

  • #2283 :内插例程中的升序(TRAC#1764)

  • #2288 :mstats.kurtosistest未正确转换为浮点,并失败.

  • #2396 :lpmn错误的结果 |z| > 1 (TRAC#1877)

  • #2398 :ss2tf将Num返回为2D数组,而不是1D(Trac#1879)

  • #2406 :LINKING不使用Unicode字符串作为方法名称(Trac#1887)

  • #2443 :iir过滤设计不应在内部转换为TF表示

  • #2572 :类方法解决Splu返回对象损坏或错误.

  • #2667 :统计数据无休止的循环?

  • #2671 :.stats.Hypergeom文档错误出现在关于PMF的注释中

  • #2691 :bug scipy.linalg.lapack:potrf/ptroi解释他们的“更低”.

  • #2721 :允许在scip.稀疏切片中使用省略号

  • #2741 :stats:不推荐使用并删除特殊函数的别名

  • #2742 :统计数据将房车添加到大米分发

  • #2765 :Bugs统计信息熵

  • #2832 :argrelextrema在未找到峰值时返回2个空数组的元组.

  • #2861: scipy.stats.scoreatpercentile broken for vector per

  • #2891 :COBYLA在违反约束时成功终止

  • #2919 :当前母版的测试失败

  • #2922 :ndimage.perentile_过滤忽略多维的原始参数.

  • #2938 :稀疏/密集矩阵就地操作失败,原因是 __numpy_ufunc__

  • #2944 :MacPorts构建产生价值40MB的构建警告

  • #2945 :FAIL:test_Random_Complex(test_basic.TestDet)

  • #2947 :FAIL:测试savgol_过滤()的一些微不足道的边缘用例

  • #2953 :Scipy Delaunay三角剖分没有定向

  • #2971 :scipy.stats.mstats.winsorize文档错误

  • #2980 :运行似乎完全正确的示例时出现问题

  • #2996 :RV_DISTERATION的熵不正确?!

  • #2998 :修复Numpy版本比较

  • #3002 :Python setup.py安装失败

  • #3014 :统计中的错误。fish_exact

  • #3030 :在以下情况下使用scipy.stats.Distribution.熵的相对熵.

  • #3037 :scipy.Optimize.curve_fit在输入时导致意外行为.

  • #3047 :mstats.ttest_rel轴=NONE,需要掩码数组

  • #3059 :bug:稀疏矩阵切片返回错误的数据类型

  • #3063 :BINNED_STATISTICS中的Range关键字不正确

  • #3067 :umtrapz未按预期工作

  • #3069 :SINC

  • #3086 :‘stats’和‘mstats’之间的标准错误计算不一致

  • #3094 :添加 perm 函数到 scipy.misc 并且增强了..。

  • #3111 :快。稀疏。 [hv] 堆栈不再尊重dtype参数

  • #3172 :Optimize.curve_fit使用与Optimize.leastsq不同的术语

  • #3196 :scipy.stats.mstats.gmeans实际上不接受dtype

  • #3212 :CSR_MATRIX的点积导致分段错误

  • #3227 :ZeroDivisionError in broyden1(当初始猜测正确时):ZeroDivisionError in broyden1

  • #3238 :lbfgsb输出未被disp=0抑制

  • #3249 :稀疏矩阵最小/最大/等不支持轴=-1

  • #3251 :cdist与“sqeuclidian”指标有关的性能问题

  • #3279 :单一矩阵的LOGM失败

  • #3285 :signal.chirp(method=‘Hyp’)不允许双曲线向上扫描

  • #3299 :内存泄漏:fmin_tnc

  • #3330 :使用当前主控形状测试失败

  • #3345 :快速和/或麻木的更改正在导致另一个.

  • #3363 :SPLU不适用于非矢量输入

  • #3385 :EXIT不能很好地处理大型参数

  • #3395 :specfun.f不能使用MinGW编译

  • #3399 :在scipy.cluster.Hierarchy.link中出现错误消息错误

  • #3404 :interpolate。_ppoly不使用MinGW构建

  • #3412 :信号中测试失败

  • #3466: `scipy.sparse.csgraph.shortest_path` does not work on `scipy.sparse.csr_matrix` or `lil_matrix`

拉取请求

  • #442 :enh:稀疏:启用64位索引数组&nnz>2**31

  • #2766 :doc:删除doc/seps/technology-preview.rst

  • #2772 :tst:stats:添加了stats.wilcoxon的回归测试。关门了..。

  • #2778 :清理stats._support,关闭统计审查问题

  • #2792 :bug io:修复netcdf变量的文件描述符关闭问题

  • #2847 :Rice分布:推广到b=0,增加一个显式的RVS方法。

  • #2878 : [统计数据] Dweibull分布高阶矩的固定公式

  • #2904 :enh:Zipf分布的矩

  • #2907 :enh:为Travis运行添加带有coveralls.io的覆盖信息。

  • #2932 :bug+tst:dia_Matrix的setdiag实现(CLOSE#2931).

  • #2942 :Eclipse PyDev静电代码分析指出的杂项修复

  • #2946 :enh:允许interp1d中的非单调输入

  • #2986 :bug:runtest:运行测试时远离root的chdir

  • #2987 :doc:linalg:不推荐np.linalg.norm

  • #2992 :enh:将“Limit”参数添加到Dijkstra计算

  • #2995 :enh:使用整型

  • #3006 :doc:stats:向文档字符串添加日志基本注释

  • #3007 :dep:stats:不推荐使用randwppf和randwcdf

  • #3008 :修复mstats.kurtosistest,以及skewtest/Normal测试的测试覆盖率

  • #3009 :较小的睡觉打字错误

  • #3010 :添加 scipy.optimize.Result 至API文档

  • #3012 :更正文档错误

  • #3052 :PEP-8一致性改进

  • #3064 :入库统计信息

  • #3068 :修复问题#3067修复引发异常的umptrapz.

  • #3073 :ARFF读卡器,标称值为1个字符

  • #3074 :一些维修工作

  • #3080 :检查并清理所有Box-Cox函数

  • #3083 :bug:如果未找到区域,则应返回0

  • #3085 :BUG:在iir过滤设计中使用zpk以提高准确性

  • #3101 :稍微重构统计数据测试

  • #3112 :enh:在一维中实现Akima插值

  • #3123 :Maint:从切片创建范围的一种更简单的方法

  • #3124 :imread和imsave的文件对象支持

  • #3126 :Pep8ify stats/Distributions.py

  • #3134 :maint:将Distributions.py拆分为三个文件

  • #3138 :清理离散分布的测试

  • #3155 :Special:处理pdtr、pdtrc和pdtrik中的边框大小写lambda=0

  • #3156 用法:将Optimize.Result重命名为OptimizeResult

  • #3166 :错误:使curve_fit()与array_like输入一起工作。关闭GH-3037。

  • #3170 :修复Numpy版本检查

  • #3175 :使用麻木发音

  • #3177 :UPDATE NUMPY VERSION WARNING,删除旧数字导入

  • #3178 :dep:删除不推荐使用的umfpack包装。关闭GH-3002。

  • #3179 :DOC:将BPoly添加到文档

  • #3180 :取消显示运行stats.test()时的警告

  • #3181 :更改了mstats中的sem函数以匹配统计信息

  • #3182 :使编织测试具有行为

  • #3183 :enh:将k-Sample Anderson-Darling检验添加到STATS模块

  • #3186 :修复统计数据。得分百分位数

  • #3187 :DOC:使CURVE_FIT命名与至少相同

  • #3201 :将AXIS关键字添加到树状图函数

  • #3207 :使stats.Distribution中的文档字符串示例可运行。

  • #3218 :BUG:INTEGRATE:修复“VODE”中的带状雅可比处理,并.

  • #3222 :BUG:在Special.nctdtr中限制输入范围

  • #3223 :使用Numpy Master修复测试错误

  • #3224 :修复稀疏工具中的int32溢出

  • #3228 :doc:tf2ss zpk2ss笔记控制器规范格式

  • #3234 :将另请参阅链接和示例图表添加到过滤设计 *ord 功能

  • #3235 :更新了Buttord函数以与其他函数一致.

  • #3239 :正确的pChip插补文档

  • #3240 :DOC:修复BPoly文档字符串中的睡觉错误

  • #3241 :rf:在不写入的情况下检查fileobject的写入属性

  • #3243 :统计方面的一些维护工作

  • #3245 :BUG/ENH:STATS:使冻结分发保留单独的实例

  • #3247 :enh函数返回某些稀疏矩阵中每行/列的nnz

  • #3248 :ENH使用AXIS时效率更高的稀疏最小/最大值

  • #3252 :FAST sqeuclide

  • #3253 :对于稀疏Reduce方法,固定支撑轴=-1和-2

  • #3254 :稀疏矩阵运算的非规范输入的TST测试

  • #3272 :bug:稀疏:修复dia_matrix.setdiag中的错误

  • #3278 :运行铺路器sdist时还会生成tar.xz

  • #3286 :DOC:更新0.14.0发行说明。

  • #3289 :tst:删除测试中使用的不安全mktemp

  • #3292 :Maint:将向后不兼容的更改修复为 stats.distributions.__all__

  • #3293 :ENH:SIGNAL:允许在‘双曲线’中向上扫频.

  • #3302 :enh:将dtype arg添加到stats.mstats.gean和stats.mstats.hmeans

  • #3307 :doc:在tf2zpk中添加关于不同ba表单的注释

  • #3309 :文档对scipy.stats.mstats.winsorize的增强

  • #3310 :DOC:澄清MMIO文档字符串中的矩阵与数组

  • #3314 :bug:修复Python3下gzip文件的scipy.io.mmread()

  • #3323 :enh:任意维度规则网格上的高效插值

  • #3332 :doc:清理scipy.Special文档

  • #3335 :enh:提高纳米数性能

  • #3347 :错误:修复stats.fish_exact中np.max的用法

  • #3356 :enh:Sparse:通过Cython加速LIL索引+赋值

  • #3357 :FIX“IMRESIZE在SIZE=INT时不起作用”

  • #3358 :Maint:将AkimaInterpolator重命名为Akima1DInterpolator

  • #3366: WHT: sparse: reindent dsolve/*.c *.h

  • #3367 :错误:稀疏/dsolve:修复Superlu中的密集矩阵Fortran顺序错误.

  • #3369 :enh最小化,最小化_标量:添加对用户提供的支持.

  • #3371 :scipy.stats.sigmaclip没有出现在html文档中。

  • #3373 :bug:稀疏/dsolve:在超级逻辑单元中检测到无效的LAPACK参数.

  • #3375 :enh:稀疏/dsolve:使样条和溢出的L和U因子.

  • #3377 :Maint:让Travis针对Numpy 1.5构建一个目标

  • #3378 :maint:fftpack:删除使用 'import *' 在几个测试中..。

  • #3381 :Maint:替换np.isinf(X)&(x>0)->np.isposinf(X)以避免.

  • #3383 :Maint:在没有Float96的平台上跳过Float96测试

  • #3384 :Maint:将烟花添加到Travis-CI

  • #3386 :bug:Exit的稳定评估

  • #3388 :bug:SuperLU:修复Dlamch的丢失声明

  • #3389 :bug:稀疏:需要时将64位索引安全地向下转换为intp

  • #3390 :BUG:非线性求解器不会被幸运猜测所迷惑

  • #3391 :tst:修复由于在np.matrix.sum()中使用AXIS=-1,-2而导致的稀疏测试错误。

  • #3392 :bug:parse/lil:修复融合类型查找中的Cython错误

  • #3393 :bug:稀疏/压缩:解决np中的bug。早期唯一.

  • #3394 :bug:允许对非根节点使用ClusterNode.pre_order()

  • #3400 :bug:cluster.linking值错误打字错误

  • #3402 :bug:Special:在specfun.f中,将CMPLX的使用替换为DCMPLX,.

  • #3408 :Maint:Sparse:Numpy 1.5兼容性修复

  • #3410 :Maint:Interpolate:修复blas defs in_ppoly

  • #3411 :Maint:Numpy 1.5内插修复

  • #3413 :使用较旧的Numpy版本修复更多测试问题

  • #3414 :tst:SIGNAL:过滤测试中放松一些容错.

  • #3415 :Maint:Tools:自动关闭问题+发布的PR列表.

  • #3440 :Maint:改为通过SWIG手动包装稀疏池

  • #3460 :tst:以二进制模式打开图像文件

  • #3467 :错误:修复csgraph中的验证。Shortest_path