SciPy 1.8.0 发行说明#
SciPy 1.8.0 是 6 个月辛勤工作的结晶。它包含许多新功能、大量的错误修复、改进的测试覆盖率和更好的文档。此版本中进行了一些弃用和 API 更改,这些将在下面记录。鼓励所有用户升级到此版本,因为它有大量的错误修复和优化。在升级之前,我们建议用户检查他们自己的代码是否使用了已弃用的 SciPy 功能(要这样做,请使用 python -Wd
运行您的代码,并检查 DeprecationWarning
s)。我们的开发注意力现在将转移到 1.8.x 分支上的错误修复版本,以及在主分支上添加新功能。
此版本需要 Python 3.8+ 和 NumPy 1.17.3 或更高版本。
要在 PyPy 上运行,需要 PyPy3 6.0+。
此版本亮点#
已添加稀疏数组 API 用于早期测试和反馈;这项工作正在进行中,用户应该预计在接下来的几个版本中会有小的 API 改进。
稀疏 SVD 库 PROPACK 现在随 SciPy 一起提供,并通过 scipy.sparse.svds 暴露一个接口,其中
solver='PROPACK'
。由于我们计划在下一个版本中解决的 Windows 上的潜在问题,它目前默认关闭,但可以使用环境变量设置USE_PROPACK=1
在运行时有选择地启用它以进行友好测试。一个新的
scipy.stats.sampling
子模块,它利用UNU.RAN
C 库从任意单变量非均匀连续和离散分布中采样所有私有但名称中碰巧缺少下划线的命名空间都已弃用。
新功能#
scipy.fft
改进#
在 scipy.fft
中的实数变换中添加了一个 orthogonalize=None
参数,该参数控制是否使用 DCT/DST 的修改定义而不更改整体缩放比例。
scipy.fft
后端注册现在更加顺畅,使用单个注册调用进行操作,不再需要上下文管理器。
scipy.integrate
改进#
scipy.integrate.quad_vec
引入了一个新的可选关键字专用参数 args
。args
接受一个额外的参数元组(如果存在)(默认为 args=()
),然后内部将其传递到我们希望积分的可调用函数(需要这些额外的参数)。
scipy.interpolate
改进#
scipy.interpolate.BSpline
有一个新的方法 design_matrix
,该方法以稀疏 CSR 格式构造 b 样条的设计矩阵。
BSpline
类中的新方法 from_cubic
允许将 CubicSpline
对象转换为 BSpline
对象。
scipy.linalg
改进#
scipy.linalg
新增了三个公共数组结构调查函数。scipy.linalg.bandwidth
返回有关数组的带状结构信息,可用于测试三角形结构的发现,而 scipy.linalg.issymmetric
和 scipy.linalg.ishermitian
测试数组是否具有精确和近似的对称/埃尔米特结构。
scipy.optimize
改进#
scipy.optimize.check_grad
引入了两个新的可选关键字参数,direction
和 seed
。direction
可以取值 'all'
(默认),此时将使用所有独热方向向量来验证输入的解析梯度函数,或者取值 'random'
,此时将使用随机方向向量来实现相同目的。seed
(默认为 None
)可用于重现 check_grad
函数的返回值。它仅在 direction='random'
时使用。
scipy.optimize.minimize
的 TNC
方法已重写为使用 Cython 绑定。这还修复了回调函数会更改优化状态的问题。
在 basinhopping
中添加了可选参数 target_accept_rate
和 stepwise_factor
,用于自适应步长调整。
approx_fprime
的 epsilon
参数现在是可选的,以便使其具有与 scipy.optimize
中大多数其他函数一致的默认值。
scipy.signal
改进#
为 zpk2sos
添加了 analog
参数,默认为 False
,并添加了新的配对选项 'minimal'
来构造模拟和最小离散 SOS 数组。tf2sos
使用 zpk2sos; 也在此处添加 analog
参数,并将其传递给 zpk2sos
。
savgol_coeffs
和 savgol_filter
现在可以用于偶数窗口长度。
添加了 Chirp Z 变换和 Zoom FFT,可通过 scipy.signal.CZT
和 scipy.signal.ZoomFFT
访问。
scipy.sparse
改进#
已添加数组 API 以进行早期测试和反馈;这项工作正在进行中,用户应预期在接下来的几个版本中会有细微的 API 改进。有关更多信息,请参阅 scipy.sparse
的文档字符串。
maximum_flow
引入了可选的关键字参数 method
,它接受 'edmonds-karp'
(Edmonds Karp 算法)或 'dinic'
(Dinic 算法)。此外,'dinic'
被用作 method
的默认值,这意味着除非另有说明,否则使用 Dinic 算法来计算最大流量。请参阅 此评论 中支持的算法之间的比较。
参数 atol
和 btol
在 scipy.sparse.linalg.lsmr
中现在默认为 1e-6,以便与 scipy.sparse.linalg.lsqr
中的默认值匹配。
在 scipy.sparse.linalg.tfqmr
中为一般非奇异非埃尔米特线性系统添加了免转置准最小残差算法 (TFQMR)。
稀疏 SVD 库 PROPACK 现在随 SciPy 一起提供,并通过 scipy.sparse.svds 和 solver='PROPACK'
公开了一个接口。对于某些问题,这可能比默认的 ARPACK 更快和/或更准确。PROPACK 功能目前是可选的——您必须在运行时指定 USE_PROPACK=1
才能使用它,因为我们计划在下一个版本中解决 Windows 上的潜在问题。
sparse.linalg
迭代求解器现在有一个非零初始猜测选项,可以指定为 x0 = 'Mb'
。
已为稀疏矩阵添加了 trace
方法。
scipy.spatial
改进#
scipy.spatial.transform.Rotation
现在支持项分配,并具有新的 concatenate
方法。
添加了 scipy.spatial.distance.kulczynski1
,以代替将在下一版本中弃用的 scipy.spatial.distance.kulsinski
。
scipy.spatial.distance.minkowski
现在还支持 0<p<1
。
scipy.special
改进#
新函数 scipy.special.log_expit
计算逻辑 sigmoid 函数的对数。该函数旨在为较大的正负输入提供准确的结果,因此避免了朴素实现 log(expit(x))
中可能出现的问题。
一套五个新的椭圆积分函数:scipy.special.ellipr{c,d,f,g,j}
。这些是 卡尔森对称椭圆积分,与经典的勒让德积分相比具有计算优势。以前的版本包括来自 Cephes 库的一些椭圆积分(scipy.special.ellip{k,km1,kinc,e,einc}
),但缺少第三类积分(勒让德的 Pi),可以使用新的卡尔森函数对其进行评估。新的卡尔森椭圆积分函数可以在复平面中求值,而 Cephes 库的函数仅为实数输入定义。
修复了 scipy.special.hyp2f1
中的几个缺陷。现在,对于接近 exp(+-i*pi/3)
的 z
,会返回近似正确的值,修复了 #8054。现在,通过由 López 和 Temme (2013) 推导的并在这些区域中收敛的级数来计算此类 z
的求值。此外,现在以与 mpmath 的 hyp2f1 实现一致的方式处理 a
、b
和/或 c
中的一个或多个为非正整数的退化情况,从而修复了 #7340。这些修复是重写 hyp2f1 的 Fortran 77 实现的一部分,该实现现在已完成约 50%。
scipy.stats
改进#
scipy.stats.qmc.LatinHypercube
引入了两个新的可选关键字参数,optimization
和 strength
。optimization
可以是 None
或 random-cd
。在后者中,会执行随机置换以改进中心差异。strength
可以是 1 或 2。1 对应经典的 LHS,而 2 具有更好的子投影特性。这种构造称为基于正交阵列的强度为 2 的 LHS。在这两种情况下,输出仍然是 LHS。
scipy.stats.qmc.Halton
速度更快,因为底层的 Van der Corput 序列已移植到 Cython。
在 kendalltau
和 somersd
函数中添加了 alternative
参数,以允许进行单侧假设检验。类似地,skewtest
、kurtosistest
、ttest_1samp
、ttest_ind
和 ttest_rel
的掩码版本现在也具有 alternative
参数。
添加 scipy.stats.gzscore
以计算几何 z 分数。
用于从任意单变量非均匀连续和离散分布中采样的随机变量生成器已添加到新的 scipy.stats.sampling
子模块中。使用 C 库 UNU.RAN 的实现来提高性能。添加的生成器有:
TransformedDensityRejection
DiscreteAliasUrn
NumericalInversePolynomial
DiscreteGuideTable
SimpleRatioUniforms
binned_statistic
函数集现在改进了 std
、min
、max
和 median
统计计算的性能。
somersd
和 _tau_b
现在具有基于 Pythran 的更快实现。
对多个 stats
函数中处理 nan
值进行了一些常规效率改进。
添加 Tukey-Kramer 检验作为 scipy.stats.tukey_hsd
。
改进了 scipy.stats.argus
rvs
方法的性能。
向 scipy.stats.variation
添加了参数 keepdims
,并在某些情况下防止该函数返回不需要的掩码数组。
permutation_test
对所提供数据执行给定统计量的精确或随机置换检验。
已弃用的功能#
公共 API 和私有 API 之间的清晰划分#
SciPy 一直在 其 API 参考文档中记录其公共 API 的组成,但是代码库中公共命名空间和私有命名空间之间从来没有明确的划分。在此版本中,所有私有但恰好在名称中缺少下划线的命名空间已被弃用。这些包括(例如,还有更多):
scipy.signal.spline
scipy.ndimage.filters
scipy.ndimage.fourier
scipy.ndimage.measurements
scipy.ndimage.morphology
scipy.ndimage.interpolation
scipy.sparse.linalg.solve
scipy.sparse.linalg.eigen
scipy.sparse.linalg.isolve
这些命名空间中所有旨在公开的函数和其他对象都可以从各自的公共命名空间访问(例如,scipy.signal
)。设计原则是任何公共对象都必须仅从单个命名空间访问;出于历史原因,有一些例外(例如,stats
和 stats.distributions
重叠)。对于旨在提供与 SciPy 兼容的 API 的其他库,现在可以明确要遵循的命名空间结构。有关更多详细信息,请参见 gh-14360。
其他弃用#
NumericalInverseHermite
已从 scipy.stats
中弃用,并移至 scipy.stats.sampling
子模块。它现在使用 UNU.RAN 库的 C 实现,因此诸如 ppf
之类的方法的结果可能会略有不同。参数 tol
已被弃用并重命名为 u_resolution
。参数 max_intervals
也已被弃用,并将从 SciPy 的未来版本中删除。
向后不兼容的更改#
SciPy 已将 Linux 上的最低编译器版本提高到 GCC 6.3,将 Windows 上的最低编译器版本提高到 VS2019。特别是,这意味着 SciPy 现在可以使用 C99 和 C++14 功能。有关更多详细信息,请参见此处。
对于具有内置
'std'
指标的scipy.stats.binned_statistic
的空 bin 的结果现在为nan
,与np.std
保持一致。已删除函数 scipy.spatial.distance.wminkowski。要获得与以前相同的结果,请使用
minkowski
距离函数,并使用(可选)w=
关键字参数指定给定权重。
其他更改#
一些 Fortran 77 代码进行了现代化改造,以与 NAG 的 nagfor Fortran 编译器兼容(例如,请参见 PR 13229)。
我们的测试套件现在可以使用 threadpoolctl
来显著提高并行测试套件运行的效率。
1.8.0 版本已关闭的问题#
#592: 统计回顾:变异 (Trac #65)
#857: PROPACK 的包装器 (Trac #330)
#2009: “Kulsinski” 相异度似乎有误 (Trac #1484)
#2063: COBYLA 和 TNC 的回调函数 (Trac #1538)
#2358: ndimage.center_of_mass 未对所有标记对象返回所有值…
#5668: 需要用于模拟滤波器的 zpk2sos
#7340: SciPy 超几何函数 hyp2f1 产生无穷大
#8774: 在 `optimize.basinhopping` 中,目标接受率应为…
#10497: scipy.sparse.csc_matrix.toarray 的文档字符串有误
#10888: 在随机方向上检查有限差分梯度近似值
#10974: lobpcg 中非明确的错误消息
#11452: `scipy.signal.butter` 中 `Wn` 的归一化要求不明确
#11700: solve_ivp 在求解后报错,而不是简单地退出…
#12006: newton:对于多元问题,它不应该采用雅可比矩阵吗…
#12100: solve_ivp:自定义 t_eval 列表和终止事件
#12106: `stats.tmean` 的 `axis` 选项似乎不起作用…
#12192: `scipy.stats.rv_continuous.moment` 不接受数组输入
#12502: 当等式存在时,雅可比数值微分中除以零
#12981: 1.5.2 中 SLSQP 约束最小化错误
#12999: scipy.stats.ks_2samp 在双侧自动和精确模式下的错误…
#13402: ENH: scipy.sparse.csgraph 中更快的最大流算法
#13580: truncnorm 给出错误的均值和方差
#13642: 当输入是数组时,stats.truncnorm 方差计算错误。
#13659: `scipy.stats.qmc` 中用于拉丁超立方的正交数组
#13737: brentq 可能溢出/下溢
#13745: lsqr 和 lsmr 的默认 atol 和 btol 不同
#13898: 用于偶数数据的 Savitzky-Golay 滤波器
#13902: `svds` 的不同求解器返回的结果差异很大
#13922: 需要针对不正确和/或误导的模拟滤波器的异常/错误…
#14122: 空间变换 Rotation 对象的条目赋值
#14140: PchipInterpolator 可能发出不必要的无效值警告
#14152: 当使用巴特沃斯带通滤波器时,zpk2sos 工作不正确…
#14165: scipy.optimize.minimize method=’Nelder-Mead’:‘maxfev’ 不是…
#14168: 多维离散余弦/正弦变换的文档中缺少“逆”字
#14189: `scipy.stat.multivariate_t.rvs` 中不正确的形状处理…
#14190: Dirichlet 分布的文档中的链接一团糟
#14193: 扰乱的范德科皮序列的实现与…不同
#14217: `scipy.stats.gaussian_kde.factor` 文档中的错误
#14235: 这应该只是 $y$,而不是 $m_y$ 吗?
#14236: BUG: 如果 loc != 0,则离散 isf 在边界处错误
#14277: scipy.stats.power_divergence 文档字符串中损坏的引用
#14324: BUG: scipy.stats.theilslopes 截距计算可能产生…
#14332: `binned_statistic_dd` 使用 `statistic=sum` 时的奇怪输出
#14340: 使用 Rotation 列表或数组初始化 Rotation
#14346: scipy.stats.rv_continuous.fit 返回包装器而不是 fit…
#14360: 通过使用下划线来明确哪些命名空间是公共的
#14385: csgraph.maximum_flow 可能导致大型但非常…的 Python 崩溃
#14409: 拉格朗日多项式和 numpy 多项式
#14412: `scipy.integrate.quad_vec` 的额外函数参数
#14416: scipy.stats.linregress 输出的 r 值是否始终是…
#14420: BUG: RBFInterpolator 在使用切片调用它时失败…
#14425: 并行运行测试并不比没有 pytest-xdist 的情况下快…
#14445: BUG: `prini.f` 中越界索引问题
#14482: Azure CI 作业未正确设置构建阶段的退出状态
#14491: MAINT: 将 np.rollaxis 替换为 np.moveaxis
#14501: runtests.py 覆盖 `$PYTHONPATH`
#14514: linprog kwargs 未被识别
#14529: CI:Azure 管道似乎没有运行
#14535: hess 选项在最小化函数中不起作用
#14551: 无法创建形状为 N x N-2 的压缩稀疏列矩阵
#14568: `stats.norminvgauss` 的实现不正确?
#14585: DOC:工具链更新和最大 Python 版本
#14607: scipy.sparse.linalg.inv 不能将 ndarray 作为参数,尽管…
#14608: BUG: scipy.stats.multivariate_t 分布的数学文档
#14623: BUG: 构建索引大于…的稀疏矩阵时出错
#14654: DOC:Linux Devdocs 工作流程需要安装…的包
#14680: BUG: scipy.stats.entropy 中具有误导性的文档
#14683: DOC: OptimizeResult 注释放在属性部分之前,…
#14733: BUG: resample_poly 不保留 dtype
#14746: site.cfg:[ALL] 还是 [DEFAULT]?
#14770: BUG: lpmn 引用损坏的链接
#14807: BUG: QUADPACK 中 7 点高斯规则的权重错误:dqk15w.f
#14830: CDF 反演方法必须是公共的吗?
#14859: BUG: 当设置相等边界时,约束函数会被覆盖…
#14873: ENH: 获取 scipy.linalg.eigh 中使用的驱动程序
#14879: BUG: 如果使用回调函数,TNC 输出会不同。
#14891: DOC: `directed_hausdorff` 期望 2D 数组,尽管文档指出…
#14910: `stats.contingency` 未列为公共 API
#14911: MAINT, DOC: 文档构建的 CI 失败
#14942: DOC: 在 Mac 文档中运行测试的命令指令模糊不清
#14968: 调试构建 CI 作业在 `stats._unuran` 线程测试中崩溃
#14984: BUG: scipy.sparse.linalg.spsolve:导致运行时内存错误…
#14987: ENH: BSpline.design_matrix 的节点区间查找效率低下
#15025: 可能应该是 j<=i+k 吗?
#15033: BUG: norm = “ortho” 的 scipy.fft.dct I 型导致错误…
#15051: BUG: wheel 构建器仓库中的 aarch 测试失败
#15064: MAINT: `interpolation` 关键字在…中重命名为 `method`
#15103: BUG: 由于使用…,scipy.stats.chi.mean 对较大的 df 返回 nan
#15186: 修复对 pytest 7.0.0 使用 `pytest.warns(None)` 的问题
#15206: BUG: scipy.sparse DeprecationWarnings 中建议的小问题…
#15224: BUG: 稀疏数组/矩阵的 0 次方始终返回单位矩阵…
#15228: BUG: 有界 L-BFGS-B 算法不适用于标量。
#15254: BUG: `DeprecationWarning: distutils Version classes are deprecated` (弃用警告:distutils 版本类已弃用)
#15267: Windows CI 作业在 Pythran 0.11 版本上存在构建问题
#15276: Boost 和 PROPACK git 子模块太容易提交更改了…
#15316: BUG: 在 aarch64 架构的 pypy 3.7 中安装 scipy 1.7.x 失败
#15339: BUG: `highs-ds` 返回的是 memoryviews 而不是 np.arrays…
#15375: BUG: scipy.stats.mode 的 axis 参数不接受负数…
#15517: BUG: 邮件列表的链接似乎已损坏
1.8.0 版本的拉取请求#
#4607: 添加 Chirp Z 变换,缩放 FFT
#10504: ENH: Carlson 对称椭圆积分。
#11263: MAINT:optimize: 遵守用户指定的 rel_step
#11754: ENH: stats: 更新 `variation`。
#11954: ENH: 改进 scipy.stats 中 ARGUS rv 的生成
#12143: BUG: 在 `scipy.stats.tmean` 中正确使用 `axis`
#12146: DOC: 添加文档解释牛顿法在数组上的行为
#12197: BUG: 修复 moments 方法以支持数组和列表
#12889: MAINT: 在 `minimize` 中处理 `(bounds.lb == bounds.ub).any()` 的情况
#13002: ENH: stats: Tukey 的诚实显著性差异检验
#13096: BUG: optimize: 针对 lb==ub 的 minimize 问题提出替代修复方案
#13143: MAINT: 在 `minimize` 中处理 `(bounds.lb == bounds.ub).any()` 的情况…
#13229: ENH: 使一些 Fortran 代码现代化,为 nagfor 编译器所需
#13312: ENH: stats: 添加 `axis` 和 `nan_policy` 参数到函数…
#13347: CI: 将 gcc 从 4.8 升级到 5.x
#13392: MAINT: streamlined kwargs for minimizer in dual_annealing
#13419: BUG: 修复群延迟奇点检查
#13471: ENH: 基于 LHS 的 OptimalDesign (scipy.stats.qmc)
#13581: MAINT: stats: 修复 truncnorm 统计信息与数组形状
#13839: MAINT: 在 LSMR 和 LSQR 之间设置相同的公差
#13864: 数组标量转换弃用
#13883: MAINT: 将 LSAP 最大化处理移入求解器代码
#13899: ENH: stats: 添加通用排列假设检验
#13921: BUG: optimize: 修复 `minimize` 的最大函数调用验证…
#13958: ENH: stats: 为 T 检验的掩码版本添加 `alternative`
#13960: ENH: stats: 为掩码正态性检验添加 `alternative`
#14007: BUG: 修复布伦特方法中的根括逻辑(问题 #13737)
#14024: ENH: 为 `scipy.spatial.cKDTree` 添加注释
#14049: MAINT: 将 special.orthogonal.orthopoly1d 类型提示更改为 ArrayLike
#14132: DOC: 在导航栏中添加带有文档版本的徽章
#14144: REL: 将版本设置为 1.8.0.dev0
#14151: BLD: 更新 pyproject.toml - 添加 macOS M1,删除 py36
#14153: BUG: stats: 实现 boost 的超几何分布…
#14160: ENH: sparse.linalg: 为非厄米稀疏矩阵添加 TFQMR 算法…
#14163: BENCH: 为 energy_distance 和 wasserstein_distance 添加基准
#14173: BUG: 修复了 `geometric_slerp` 可能返回的错误…
#14174: ENH: 为 `scipy.spatial.geometric_slerp` 添加注释
#14183: DOC: 在 scipy.stats 中添加 pearsonr 的示例/更新 mstats 文档
#14186: TST, MAINT: hausdorff 测试清理
#14187: DOC: interpolate: rbf 也具有 kwargs。
#14191: MAINT:TST:linalg 使测试断言现代化
#14192: BUG: stats: 修复 multivariate_t.rvs 中的形状处理
#14197: CI: azure: 修复 ‘skip azp’ 的处理。
#14200: DOC: 删除 scipy.stats.dirichlet 中指向 alpha 的链接
#14201: TST: 清理 lsqr 和 lsmr 测试
#14204: 改进索引维度的错误消息
#14208: MAINT: 将 invalid='ignore' 添加到 PchipInterpolator 中的 np.errstate 块
#14209: ENH: stats: kendalltau: 添加 alternative 参数
#14210: BUG: 修复当使用非 1D x0 和自适应时 Nelder-Mead 逻辑
#14211: 修复了 gaussian_kde 的文档 (kde.factor 描述)
#14213: ENH: stats: somersd: 添加 alternative 参数
#14214: ENH: 改进 `scipy.spatial.qhull` 注释
#14215: ENH: stats: 将 UNU.RAN 库集成到 `scipy.stats` [GSoC…]
#14218: DOC: 阐明 `ndimage.center_of_mass` 文档字符串
#14219: ENH: sparse.linalg: 使用来自“math”的更快“sqrt”并…
#14222: MAINT: stats: 删除未使用的 ‘type: ignore’ 注释
#14224: MAINT: 修改为在基准测试中使用新的随机 API
#14225: MAINT: 修复 `dir(scipy)` 中缺少的 LowLevelCallable
#14226: BLD: 修复缺失依赖项的警告和开发版本号
#14227: MAINT: 修复 lbfgbf.f 中可能未初始化的警告
#14228: BENCH: 为推论统计测试添加更多基准
#14237: 删除未使用的变量
#14240: ENH: sparse.linalg: 规范化类型描述
#14242: BUG: stats: 修复离散 `.isf` 在边界工作时的问题…
#14250: cdfbin.f 中参数检查的错误
#14254: BUG: 修复了 `SphericalVoronoi` 可能引发的问题…
#14255: BUG: 大 N BarycentricInterpolator 的数值稳定性
#14257: MAINT: 修复了 scipy.optimize 中已弃用的 API 调用
#14258: DOC: 修复在 CI 中失败的 stats.pearsonr 示例
#14259: CI: 将 mypy 固定到 0.902 并修复一个 CI 失败
#14260: BLD: optimize: 修复 moduleTNC 和 minpack.h 中的一些警告
#14261: BLD: 修复 `optimize/_trlib` 的包含顺序和构建警告
#14263: DOC: 向前移植 1.7.0 版本说明
#14268: MAINT: 将 PyArrayObject* 中的直接字段访问替换为包装器…
#14274: MAINT: 针对 optimize 的更多标量数组转换修复
#14275: MAINT: 更新供应商 uarray,自动调度所需
#14278: MAINT: 针对隐式标量数组转换的两个小修复
#14281: ENH: 注释 `scipy.spatial.qhull` 的数组数据类型
#14285: DEV: 从 environment.yml 中删除 scikit-umfpack
#14287: TST: 为 complex 值添加 hyp2f1 的测试,以备后续使用…
#14291: TST: 将组合的 LSAP 输入验证测试拆分
#14293: MAINT: 移除最后弃用的 `PyEval_*` 用法
#14294: ENH: 在 `scipy.spatial.ckdtree` 和 `distance` 中注释数组数据类型
#14295: MAINT: 将 LSAP 输入验证移至 lsap_module
#14297: DOC: 将代码块设为项目列表
#14301: MAINT: 修复 `optimize/_trlib/` 中最后的构建警告
#14302: BLD: 修复 `stats/biasedurn` 的构建警告
#14305: MAINT: 消除 odepackmodule.c 中的警告
#14308: ENH: 使用 Pythran 加速 somersd 和 _tau_b
#14309: BLD: 修复 scipy.special 的构建警告
#14310: ENH: 使 optimize.approx_fprime 中的 epsilon 为可选参数。
#14311: MAINT: 更正 scipy.spatial 中 NumPy API 的用法
#14312: ENH: 使用随机方向导数检查梯度
#14326: MAINT: 移除 spatial/qhull 中 trace1 的重新定义
#14328: MAINT: _lib: 为 MessageStream 添加 __dealloc__
#14331: ENH: 补充 `csr_matrix/csc_matrix/coo_matrix` 等稀疏矩阵的 `trace` 方法
#14338: BUG: 修复 `stats.binned_statistic_dd` 处理接近的值时的问题…
#14339: TST: 修复 `sparse.linalg.spsolve` 对奇异输入的测试
#14341: MAINT: 在 _nnls.py 中添加缺失的括号
#14342: ENH: 使 `savgol_coeffs`, `savgol_filter` 适用于偶数…
#14344: ENH: scipy.interpolate b 样条 (design_matrix)
#14350: MAINT: 使 rv_continuous 的 fit 方法可 pickle
#14358: ENH: 用于 maximum_flow 的 Dinic 算法
#14359: ENH: 使用 try_last=True 设置 fft 后端
#14362: 使用列表推导式
#14367: BUG: 检查 `memmove` 中的 NULL 指针
#14377: 修复当 iterations=1 时,输出=输入的二进制形态学行为
#14378: MAINT: 从 `interpolate` 中移除已弃用的 NumPy C API
#14380: ENH: 修复 theilslopes 中的截距计算
#14381: BENCH: 为 somersd 添加基准测试
#14387: MAINT: 从 `sparse` 中移除已弃用的 NumPy C api
#14392: BUG/ENH: 重构最大流预处理
#14393: CI: Lint 检查失败时报告成功
#14403: 修复文档字符串中的差一错误。
#14404: DOC: 修复 interpolate.pade 的 n 参数默认值的文档字符串
#14406: MAINT: 在 `spatial` 中使用 numpy_nodepr_api
#14411: MAINT: 稍微清理 `svd` 的 `compute_uv` 关键字的使用
#14413: DOC:interpolate: 修复 “lagrange” 的文档字符串示例
#14419: DEP: 弃用私有但未加下划线的 `signal.spline`…
#14422: MAINT: csgraph: 将 Dinic 算法更改为迭代实现
#14423: CI: 从 Azure 测试中移除跳过和 xfailed 测试的打印…
#14426: ENH: 为 quad_vec 中的可调用对象添加 args 参数
#14427: MAINT: 为 i686 支持添加额外的 pythran 注释
#14432: BUG/ENH: 2 样本 ks 测试精确 p 值的更稳定递归
#14433: ENH: 为改进的稀疏 SVD 添加 PROPACK 包装器
#14440: MAINT: stats: 消除 mypy 投诉
#14441: ENH: TST: 添加 threadpoolctl 钩子以限制 OpenBLAS 并行性
#14442: MAINT: 修复 `sparse/linalg/dsolve` 中未初始化的警告
#14447: MAINT: 重命名 scipy.ndimage 模块
#14449: ENH: Cython 化范德科皮特
#14454: MAINT: 开始将复数的 hyp2f1 转换为 Cython
#14456: CI: 使用 flake8 而不是 pyflakes + pycodestyle 进行 Lint
#14458: DOC: 阐明 stats.linregress 中 rvalue 的含义
#14459: MAINT: 修复 `interpolate` 和 `cluster` 中未初始化的警告
#14463: 修复文档概述中的错别字:“pandas” 改为 “SciPy”
#14474: DEP: 弃用私有但未加下划线的 ndimage.<module> 命名空间
#14477: MAINT: 对 bspline (signal) 使用 Tempita 文件
#14479: 在 `idstn` 和 `idctn` 文档字符串中添加了“Inverse”一词
#14487: TST: 修改约束最小化的不稳定测试
#14489: MAINT: 清理一些 line_search 代码
#14492: CI: 确保在构建 SciPy wheel 时 Azure 作业步骤失败…
#14496: MAINT: 切换到使用 spmatrix.toarray 而不是 .todense
#14499: DOC: 修复 toarray/todense 文档字符串
#14507: CI: 添加 lint_diff 文档和仅在指定文件/目录上运行的选项
#14513: DOC: 在 jacobi 文档字符串中添加了引用和示例
#14520: BUG: diffev maxfun 可以在种群过程中达到
#14524: ENH: Rotation.concatenate
#14532: ENH: sparse.linalg: 当 R.H.S. 为零时,解为零
#14538: CI: 还原“CI:确保在构建时 Azure 作业步骤失败…”
#14539: DOC: 在 scipy.special 中添加了 chebyt 和 chebyu 文档字符串示例
#14546: ENH: 正交拉丁超立方采样到 QMC
#14547: ENH: Rotation 类的 __setitem__ 方法
#14549: 为 pypy + win + mmap 进行小型测试修复
#14554: ENH: scipy.interpolate.BSpline from_power_basis
#14555: BUG: sparse: 修复 DIA.tocsc 的一个错误
#14556: 修复指向强连通分量详细信息的链接…
#14559: WIP: TST: 为 Pythran somersd 添加测试
#14561: DOC: 在 (gen)laguerre 文档字符串中添加了引用和示例…
#14564: ENH: 添加线程化范德科皮特
#14571: 修复 _mannwhitneyu.py 示例中重复的单词
#14572: 为 BSpline.design_matrix 设置结数组的最小长度
#14578: DOC: 在球形 Bessel 文档字符串中添加了示例
#14581: MAINT: 重构 `linalg.tests.test_interpolative::TestInterpolativeDecomposition::test_id`
#14588: ENH: 将 ``kulczynski1`` 添加到 ``scipy.spatial.distance``
#14592: DOC: 阐明 scipy.stats 中 norminvgauss 的参数
#14595: 移除 ``scipy/linalg/src/id_dist/src/prini.f`` 中未使用的子程序
#14601: 修复 numpy 和 scipy interp 之间的不一致
#14602: MAINT: 修复 `sparse/linalg/dsolve` 中的 `-Wunused-result` 警告
#14603: DEV: 在 Gitpod Dockerfile 中初始化所有子模块
#14609: MAINT: 修复 `optimize/_highs` 中的 `-Wmaybe-uninitialized` 警告
#14610: MAINT: 忽略 ``scipy/signal/bspline_util.c``
#14613: MAINT: interpolate: 为 Cython 索引变量声明类型。
#14619: ENH: stats.unuran: 添加基于多项式插值的数值…
#14620: CI: 修复使用预发布 wheels + Python 3.7 的 Azure 作业
#14625: ENH: optimize min max 和 median scipy.stats.binned_statistic
#14626: MAINT: 修复 sparse.construct.bmat 中的类型缩小加法
#14627: MAINT: 提高公差以在 Apple 上通过 ``special.tests``…
#14628: DOC: 阐明 scipy.optimize.linprog 中 options 参数的用法
#14629: ENH: optimize std in scipy.stats.binned_statistic
#14630: DOC: 添加引用文件
#14631: 修复旧编译器上 unuran 构建的问题
#14633: BUG: scipy.stats._unran:仅向 include_dirs 发送字符串
#14634: DOC: 修复维基百科 bootstrap 链接
#14635: DOC: stats:修复 multivariate_t 文档 pdf 方程
#14637: MAINT: 复制离散分布字典
#14643: MAINT: 解决 gh6019,minimize_scalar 的 disp
#14644: DOC: stats:在教程中添加 UNU.RAN 参考
#14649: DOC: 阐明 SciPy 与 Python 和 NumPy 的兼容性。
#14655: MAINT: 移除对 Python 3.7(因此 NumPy 1.16)的支持
#14656: MAINT: 将
assert_
替换为 assert#14658: DOC: 在 Ubuntu 快速入门中使用 conda-forge
#14660: MAINT: 重构 “for … in range(len(” 语句
#14663: MAINT: 更新 pyproject.toml 中剩余的 Python 和 NumPy 版本
#14665: BLD: 修复应捕获的令人困惑的“import pip”失败
#14666: MAINT: 删除不必要的播种并更新 `check_random_state`
#14669: ENH: 重构 GitHub Issue 表单模板
#14673: BLD: 修复包含顺序,Python.h 在标准头文件之前
#14676: BUG: 修复优化基准测试 optimize_qap.QuadraticAssignment.track_score 失败的问题
#14677: MAINT: github 标签器基于文件路径
#14682: DOC: 修复 mannwhitneyu 文档字符串中的错别字
#14684: DOC: optimize:修复零星的 linprog doctest 失败
#14685: MAINT: 熵的静态类型
#14686: BUG: 修复最近提交中引入的 lsqr.py 问题
#14689: MAINT: 将 IOError 别名替换为 OSError 或其他适当的…
#14692: MAINT: 将复数 hyp2f1 转换为 Cython,…
#14693: DOC: 更新 OptimizeResult 注释
#14694: 简化 PythranBuildExt 的用法
#14695: BLD: 将 Pythran 版本提升至 0.9.12
#14697: CI: 在基准测试 CI 作业和 environment.yml 中添加 `cffi`
#14699: BUG: 修复 `stats._discrete_distns` 中的 TypeError
#14700: DOC: 更新详细路线图
#14701: ENH: linalg:添加 Cython 化的 get_array_bandwidth、issymmetric,…
#14706: BUG: 修复 hyp2f1 以在 exp(±iπ/3) 附近的区域返回正确的值。
#14707: 更新 constants.py
#14708: BENCH: 缩短 CI 中超时的 svds 基准测试
#14709: CI:删除标签器同步
#14712: MAINT: special: _cosine.c 的更新。
#14720: DOC: 优化 hess 和一致性
#14721: MAINT: 更正 PR 模板链接
#14723: DOC: 向 `stats.binned_statistic_2d` 文档添加关于填充的说明
#14727: ENH: sparse.linalg:添加有用的非零初始猜测选项
#14729: DOC: 修复 scipy.optimize.brenth 的文档
#14737: BUG: signal:将窗口 dtype 与输入匹配
#14739: TST: sparse.linalg:添加带有二维泊松方程的测试用例
#14743: TST: sparse.linalg:使用更方便的“assert_normclose”…
#14748: DOC: 修复 scipy.sparse.csgraph 中的矩阵表示
#14751: ENH: refguide-check 中的 numpy masked_arrays
#14755: BUG: 避免 `ts` 为空时 `solve_ivp` 失败
#14756: MAINT: 来自公共 numpy.linalg 的 LinAlgError
#14759: BLD: 将 site.cfg.example 中的节名称从 ALL 更改为 DEFAULT
#14760: TST: 抑制 jinja2 弃用警告
#14761: CI: 从 Azure CI 中删除 `pre_release_deps_source_dist` 作业…
#14762: TST: 向 RBFInterpolator 的 pickle 测试添加种子
#14763: MAINT: 使 solve_ivp 在 t_span 方面稍微严格一些。
#14772: DOC: special:修复指向 jburkardt 的断开链接
#14787: MAINT: 增加容差值以避免测试失败
#14789: MAINT: 修复 signal/spectral.py 中的一个微小错别字
#14790: [MRG] BUG: 避免在迭代无法继续时 lobpcg 失败
#14794: 修复 bspline 文档(和注释)中的错别字
#14796: MAINT: 允许模块初始化文件中的 F401 和 F403
#14798: BUG: 更正 test_arpack.eval_evec 中的测试循环
#14801: CI, MAINT: 为 azure pre-rel 固定 Cython
#14805: BUG: optimize:修复 minimize 的最大函数调用验证…
#14808: 修复 Bug #14807
#14814: MAINT: integrate:添加上游 quadpack 更改
#14817: ENH: stats: 添加几何 zscore
#14820: MAINT: 将 `np.rollaxis` 用法替换为 `np.moveaxis` 和…
#14821: DOC: 更新 interp1d 的文档
#14822: 向 scipy.sparse 添加一个数组 API
#14832: MAINT: 在更多作业中使用 py3.10,并将一些 3.8 升级到 3.9
#14833: FIX: 在 Boost.Math 错误时引发 Python OverflowError 异常
#14836: Bug 修复:dqc25f.f
#14837: DOC: sparse.linalg:修复了初始时注释不正确的问题…
#14838: TST: 播种一个 stats 测试
#14841: MAINT: 增加测试中的容差,以避免 Nightly CPython3.10…
#14844: DOC: 向 runtests.rst 添加 refguide_check 选项详细信息
#14845: DOC: 更新 `radau.py` 中文档字符串中的类型说明符
#14848: 错别字“copmlex”
#14852: DOC: 修复 `lstsq` 中的文档错误
#14860: minimize:如果参数被分解出来,则复制用户约束…。
#14865: BUG: stats:修复 stats.skew 中的崩溃
#14868: [MRG] BUG: 更新 lobpcg.py 以验证精度并发布问题…
#14871: MAINT: 消除了一个内置名称被遮蔽的陷阱
#14872: DEP: 弃用 `scipy.linalg` 中的私有命名空间
#14878: TST: 增加 equal_bounds 的 rtol
#14881: DEP: 弃用 `scipy.special` 中的私有命名空间
#14882: BUG: 将 TNC C 模块转换为 cython
#14883: DOC: linalg:在 eigh 中阐明驱动程序默认值
#14884: BUG: optimize:为… 添加 `OptimizeResult` 缺失的属性
#14892: DOC: 更正 Hausdorff 距离的文档
#14898: DEP: 弃用 `scipy.stats` 中的私有命名空间
#14902: MAINT: linalg: 将 func 重命名为“bandwidth”
#14906: DEP: 弃用 `scipy.constants` 中的私有命名空间
#14913: DEP: 弃用 `scipy.fftpack` 中的私有命名空间
#14916: DEP: 弃用 `stats.biasedurn` 并将其设为私有
#14918: DEP: 弃用 ``scipy.interpolate`` 中的私有命名空间
#14919: DEP: 弃用 `scipy.integrate` 中的私有命名空间
#14920: 修复复杂 Fresnel
#14923: DEP: 弃用 ``scipy.spatial`` 中的私有命名空间
#14924: 修复 scipy.signal.cwt 示例的范围
#14925: MAINT: 忽略 ``scipy.stats`` 中生成的构建文件
#14927: DEP: 弃用 `scipy.misc` 中的私有命名空间
#14928: MAINT: 修复 runtest.py 覆盖 `$PYTHONPATH` 的问题:改为前置
#14934: 错误:optimize:在 `basinhopping` 中添加 OptimizeResult 缺失的属性
#14939: DEP: 弃用 ``scipy.sparse`` 中的私有命名空间
#14941: ENH: optimize:添加自适应步长的可选参数…
#14943: DOC: 澄清 mac pytest;添加空行
#14944: 错误:带有特定 QMCEngine 的 MultivariateNormalQMC 移除不需要的…
#14947: DOC: 向 decimate 函数添加示例
#14950: MAINT: 在 scipy.sparse.linalg 中使用 matmul 二元运算符
#14954: DOC: 将缺失的参数添加到 minres 文档字符串中。
#14955: 错误:stats:修复 argsreduce 的广播行为
#14960: 更新新站点的链接
#14961: CI: 在 CircleCI 中使用 https 协议进行 git 操作
#14962: DEP: 弃用 `scipy.signal` 中的私有命名空间
#14963: MAINT: `.gitignore` 中缺少 `integrate.lsoda`
#14965: DOC: 更新徽标并添加网站图标。
#14966: DEP: 弃用 ``scipy.optimize`` 中的私有命名空间
#14969: CI: 修复文档构建中的 pyparsing 版本
#14972: 不要在指令名称后添加空格。
#14979: 错误:scipy.sparse.linalg.spsolve:修复由…引起的内存错误
#14988: BLD: 为 Python 3.10 更新 pyproject.toml
#14989: ENH: 加快 BSpline.design_matrix 的节点区间查找
#14992: Pythran 化的 _matfuncs_sqrtm 版本
#14993: MAINT: 向前移植 1.7.2 发行说明
#15004: ENH: 使 `get_matfile_version` 和其他 `io.matlab` 对象…
#15007: DOC: 将缺失的“regularized”添加到 `gammainccinv` 文档中
#15008: MAINT: 恢复对已弃用私有命名空间的访问
#15010: TST: 删除检查是否链接 g77 的脆弱测试
#15013: MAINT: 修复 Py_FindObjects 中的 use-after-free 错误
#15018: CI: 解决 Sphinx 错误
#15019: Scipy 优化求解器中的有限差分 Hessian(Newton-CG)
#15020: ENH: sparse.linalg: 修复初始猜测 “x0” 的问题…
#15022: DOC: 缓解牛顿优化不收敛的问题。
#15023: CI: 取消固定 Sphinx
#15027: DOC: linalg: 修复一个小小的条件文档错误
#15029: DEP: 弃用 `scipy.sparse.linalg` 中的私有命名空间
#15034: DOC: 在 `_superlumodule.c` 中对 C 函数使用 numpydoc 格式
#15035: MAINT: 简化 stats 中的 UNU.RAN API
#15037: gaussian_filter 的新示例
#15040: MAINT: 添加公共 API 的测试
#15041: DOC: 在有关 norm=’ortho’ 的 dct 文档中添加警告
#15045: DOC: 更新 toolchain.rst
#15053: TST: 添加一些测试跳过,以使 wheel 构建器 CI 再次变绿
#15054: MAINT: 删除 wminkowski
#15055: ENH: 允许 Minkowski 距离的 p>0
#15061: MAINT:sparse: expm() 修复冗余导入
#15062: MAINT:BLD: 在文本模式下打开 tempita 文件
#15066: CI: 将 gcc 从 4.8 升级到 6
#15067: DOC: 更新指向 SuperLU 库的断开链接。
#15078: MAINT: 为已弃用的 `np.percentile` 更新 `stats.iqr` …
#15083: MAINT: stats: 将 UNU.RAN 功能分离到其自己的子模块
#15084: MAINT: 将 `scipy.io.matlab` 包括在公共 API 中
#15085: ENH: 支持创建模拟 SOS 输出
#15087: TST: 查看 ``_assert_within_tol`` 位置参数
#15095: MAINT: 更新 gitignore 以忽略私有目录
#15099: MAINT: ScalarFunction 记住 best_x
#15100: MAINT: 将 `stats.contingency` 包括在公共 API 中
#15102: ENH: 向 DCT/DST 添加正交化参数
#15105: MAINT: 在已弃用的模块中添加缺失的导入
#15107: 错误:更新 chi_gen 以使用 scipy.special.gammaln
#15109: MAINT: 从 scipy.stats 中删除 NaiveRatioUniforms
#15111: ENH: 添加 special.log_expit 并在 stats.logistic 中使用它
#15112: DOC: 更新 signal.butter 中的 ‘Wn’ 定义
#15114: DOC: 通过名称添加 Fermi-Dirac 分布
#15119: DOC: 修复 `stats.logistic` 中指向 `logistic.sf` 的符号链接
#15120: MAINT: 安装 `sparse.linalg._eigen` 测试并修复测试失败
#15123: MAINT: interpolate:将 `sparse` 依赖项从 cython 移动…
#15127: DOC: 更新 Linux 构建说明以提及 C++
#15134: DOC: 改进 Lomb-Scargle 示例
#15135: ENH: Carlson 对称椭圆积分。
#15137: DOC: special:向 multigammaln 和 roots_legendre 添加“示例”…
#15139: 在 Lomb-Scargle 示例中使用 constrained_layout
#15142: ENH: stats.sampling:添加 SROU 方法
#15143: MAINT: 删除一些未使用的导入。
#15144: 错误:向 runtests.py 添加缺失的 ‘errno’ 导入
#15157: ENH: gh-14279 的重新设置版本
#15159: DOC: stats:修复 `stats.sampling` 教程中的标题
#15161: DOC: 1.8.0 发行说明更新
#15175: MAINT: 1.8.0 发行说明和 .gitignore 的向后移植
#15181: 错误:用于条件跳过的 pytest 装饰器是 ‘skipif’
#15191: MAINT: 1.8.0rc1 之前的版本界限
#15192: MAINT: 将 `pytest.warns(None)` 的使用替换为 `warnings.catch_warnings`
#15194: 错误:stats:修复 recipinvgauss 的数值问题
#15214: TST: sparse.linalg: 仅存储 PROPACK 测试矩阵;生成…
#15220: 错误:sparse.linalg: 修复弃用警告。
#15225: 使稀疏数组/矩阵的第 0 次幂返回具有…
#15229: 错误:最小化应使用标量,关闭 #15228
#15232: 错误:为稀疏数组添加 rmul
#15236: BLD: 为 Python 3.10 更新 setup.py
#15248: MAINT: 1.8.0rc2 向后移植
#15249: FIX: PROPACK MKL 兼容性
#15253: 错误:special:修复无限 df 的 `stdtr` 和 `stdtrit`
#15256: MAINT: 使用 PEP440 而不是 distutils
#15268: CI: 将 setuptools 固定到 59.6.0,并将 Pythran 固定到 Windows 的 0.10.0…
#15270: MAINT: 将 `moduleTNC` 扩展名重命名回 `_moduleTNC`
#15271: TST: 稍微提高新 lobpcg 测试的测试容差
#15275: MAINT: 修复 `signal._signaltools` 中的导入
#15278: MAINT: 删除 `.gitmodules` 中的非默认设置(`shallow` 除外)
#15288: BLD 尊重 setup.py 中的 --skip-build 标志
#15293: BUG: 修复 Hausdorff 整数溢出
#15301: TST: 更新 `sparse.linalg` 测试,以处理由于容差导致的失败
#15318: BLD: 更新 pyproject.toml,以便不为 aarch64 + PyPy 固定 numpy 版本
#15322: BLD: 为 SciPy 1.8.0 更新最低 Pythran 版本至 0.10.0
#15323: MAINT: 过滤 stats 函数中的 RuntimeWarnings
#15328: MAINT: interpolate: csr_matrix -> csr_array
#15331: BUG: stats._unuran: 修复无效的属性查找
#15332: CI: 在 CircleCI 上将 numpy 固定到 1.21.5 用于文档构建
#15334: BUG: stats._unuran: 修复剩余的属性查找错误
#15335: CI: 在 Azure refguide 检查作业中将 numpy 固定到 1.21.5
#15341: BUG: `highs-ds` 返回 memoryviews 而不是 np.arrays 用于…
#15397: BUG: 确保导入了 vendored pep440
#15416: BUG: 修复 wasm 目标的 PyUFunc
#15418: MAINT: 1.8.0 rc3 backports round 1
#15421: BUG: stats: mode: 修复使用 np.moveaxis 的负轴问题…
#15432: MAINT: 发布分支 PROPACK 开关(默认关闭)
#15515: MAINT: 修复断开的链接并移除 CI 徽章