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.PPolyscipy.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_filterscipy.signal.savgol_coeffs

新功能 scipy.signal.vectorstrength 计算一组事件的矢量强度(相位同步的度量)。

scipy.special 改进

功能 scipy.special.boxcoxscipy.special.boxcox1p ,用于计算Box-Cox变换。

scipy.sparse 改进

  • 显著提高CSR、CSC和DOK索引速度的性能。

  • 使用Numpy>=1.9(将在MM 2014中发布)时,稀疏矩阵在被赋予以下参数时功能正常 np.dotnp.multiply 以及其他不起作用的人。对于早期版本的Numpy和Scipy,此类操作的结果是未定义的,通常是意外的。

  • 稀疏矩阵不再局限于 2^31 非零元素。对于包含更多元素的矩阵,它们会自动切换为使用64位索引数据类型。假设稀疏矩阵使用int32作为索引数据类型而编写的用户代码将继续工作,但如此大的矩阵除外。处理较大矩阵的代码需要接受int32或int64索引。

不推荐使用的功能

anneal

全局最小化函数 scipy.optimize.anneal 已弃用。所有用户都应使用 scipy.optimize.basinhopping 取而代之的是函数。

scipy.stats

randwcdfrandwppf 函数已弃用。所有用户都应使用特定于分发的 rvs 方法取而代之。

概率计算别名 zprobfprobksprob 都已弃用。改为使用 sf 方法或相应的分布的 special 直接起作用。

scipy.interpolate

PiecewisePolynomial 类已弃用。

向后不兼容的更改

scipy.special.lpmn

lpmn 不再接受复值参数。一种新功能 clpmn 添加了具有统一的复杂分析行为,应该改为使用它。

scipy.sparse.linalg

在广义特征值问题的情况下,特征向量被归一化为2范数的单位向量,而不是遵循LAPACK归一化约定。

中不推荐使用的UMFPACK包装器 scipy.sparse.linalg 由于许可和安装问题已被删除。如果可用, scikits.umfpack 仍然透明地在 spsolvefactorized 功能。否则,将在这些函数中使用SuperLU。

scipy.stats

不推荐使用的函数 glmonewaycmedian 已从 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