SciPy 1.14.0 发行说明#
SciPy 1.14.0 是 3 个月辛勤工作的结晶。它包含许多新特性、大量的错误修复、改进的测试覆盖率和更好的文档。此版本中存在一些弃用和 API 更改,如下所述。 鼓励所有用户升级到此版本,因为其中有大量的错误修复和优化。在升级之前,我们建议用户检查他们自己的代码是否使用了已弃用的 SciPy 功能(要这样做,请使用 python -Wd
运行您的代码,并检查 DeprecationWarning
)。我们的开发重点现在将转移到 1.14.x 分支上的错误修复版本,以及在主分支上添加新特性。
此版本需要 Python 3.10+ 和 NumPy 1.23.5 或更高版本。
对于在 PyPy 上运行,需要 PyPy3 6.0+。
此版本亮点#
SciPy 现在支持 macOS 13.3 中引入的新 Accelerate 库,并且已针对 macOS >=14 的 Accelerate 构建了 wheel,从而显著提高了许多线性代数运算的性能。
一个新的方法
cobyqa
已添加到scipy.optimize.minimize
中 - 这是 COBYQA(二次逼近约束优化)的接口,这是一种无导数优化求解器,旨在取代香港理工大学应用数学系开发的 COBYLA。scipy.sparse.linalg.spsolve_triangular
现在在许多情况下速度快了一个数量级以上。
新特性#
scipy.fft
改进#
添加了一个新函数
scipy.fft.prev_fast_len
。此函数查找小于目标长度的 FFT 基数的最大合成。它对于在 FFT 之前丢弃最少数量的样本非常有用。
scipy.io
改进#
wavfile
现在支持读取和写入 RF64 格式的wav
文件,从而可以处理大于 4 GB 的文件。
scipy.constants
改进#
已添加对数组 API 标准的实验性支持。
scipy.interpolate
改进#
scipy.interpolate.Akima1DInterpolator
现在通过extrapolate
参数支持外推。
scipy.optimize
改进#
scipy.optimize.HessianUpdateStrategy
现在还接受init_scale
的方阵。一个新的方法
cobyqa
已添加到scipy.optimize.minimize
中 - 这是 COBYQA(二次逼近约束优化)的接口,这是一种无导数优化求解器,旨在取代香港理工大学应用数学系开发的 COBYLA。scipy.optimize.differential_evolution
中有一些性能改进。scipy.optimize.approx_fprime
现在具有线性空间复杂度。
scipy.signal
改进#
scipy.signal.minimum_phase
有一个新的参数half
,允许提供与线性相位 FIR 滤波器系数长度相同且具有相同幅度频谱的滤波器。
scipy.sparse
改进#
稀疏数组现在支持 COO、DOK 和 CSR 格式的一维形状。这些是我们目前计划支持一维形状的所有格式。其他稀疏数组格式会针对一维输入引发异常。
稀疏数组方法 min/nanmin/argmin 和 max 的类似方法现在返回一维数组。对于 min/nanmin,结果仍然是 COO 格式的稀疏数组;对于 argmin,结果是密集的
np.ndarray
。迭代
csr_array
或csc_array
会产生一维 (CSC) 数组。稀疏矩阵和数组对象改进了它们的
repr
和str
输出。添加了一个特殊情况来处理
dia_array
与标量的乘法,这避免了潜在的昂贵的转换为 CSR 格式。添加了
scipy.sparse.csgraph.yen
,允许在有向或无向图上使用 Yen 的 K-最短路径算法。DIA 格式的稀疏数组和矩阵之间的加法现在更快。
scipy.sparse.linalg.spsolve_triangular
现在在许多情况下速度快了一个数量级以上。
scipy.spatial
的改进#
Rotation
支持四元数分量排序的另一种“标量优先”约定。它可以通过from_quat
和as_quat
方法的关键字参数scalar_first
来使用。反转
Rotation
对象的一些小的性能改进。
scipy.special
的改进#
添加了
scipy.special.log_wright_bessel
,用于计算 Wright 贝塞尔函数的对数。scipy.special.hyp2f1
计算中的相对误差已大幅改进。改进了
boxcox
、inv_boxcox
、boxcox1p
和inv_boxcox1p
的行为,通过防止过早溢出。
scipy.stats
的改进#
可以使用新函数
scipy.stats.power
来模拟相对于指定备择假设的假设检验的功效。Irwin-Hall(又名均匀和)分布已添加为
scipy.stats.irwinhall
。scipy.stats.mannwhitneyu
的精确 p 值计算速度更快,并且使用的内存更少。scipy.stats.pearsonr
现在接受 n 维数组,并沿指定的axis
计算统计量。scipy.stats.kstat
、scipy.stats.kstatvar
和scipy.stats.bartlett
在沿大型 n 维数组的轴执行计算时速度更快。
Array API 标准支持#
在最近的 SciPy 版本中,已为 NumPy 之外的数组库添加了*实验性*支持。请考虑通过设置环境变量 SCIPY_ARRAY_API=1
并提供 PyTorch、JAX 或 CuPy 数组作为数组参数来测试这些功能。
自 1.14.0 起,支持以下库:
scipy.special
: (选择函数)scipy.stats
: (选择函数)
已弃用的功能#
scipy.stats.gstd
、scipy.stats.chisquare
和scipy.stats.power_divergence
已弃用对掩码数组输入的支持。scipy.stats.linregress
已弃用在一个参数中同时指定两个样本的支持;x
和y
应作为单独的参数提供。用于
scipy.sparse.dok_array
和scipy.sparse.dok_matrix
的conjtransp
方法已被弃用,将在 SciPy 1.16.0 中删除。scipy.integrate.quad_vec
中的选项quadrature="trapz"
已弃用,建议使用quadrature="trapezoid"
,并将在 SciPy 1.16.0 中删除。scipy.special.{comb,perm}
已弃用对将exact=True
与非整数N
和/或k
结合使用的支持。
向后不兼容的更改#
许多
scipy.stats
函数现在在输入样本过小(例如,大小为零)时会产生标准化的警告消息。以前,这些函数可能会引发错误、发出一个或多个不太有用的警告或不发出警告。在大多数情况下,返回的结果不变;在几乎所有情况下,正确的结果都是NaN
。
已过期的弃用#
目前正在努力跟进长期存在的弃用。以下先前已弃用的功能会受到影响
删除了稀疏数组的几个先前已弃用的方法:
asfptype
、getrow
、getcol
、get_shape
、getmaxprint
、set_shape
、getnnz
和getformat
。此外,还删除了.A
和.H
属性。已删除
scipy.integrate.{simps,trapz,cumtrapz}
,建议使用simpson
、trapezoid
和cumulative_trapezoid
。已删除
scipy.sparse.linalg.{bcg,bicstab,cg,cgs,gcrotmk, mres,lgmres,minres,qmr,tfqmr}
的tol
参数,建议使用rtol
。此外,这些函数的atol
的默认值已更改为0.0
。已删除
scipy.sparse.linalg.gmres
的restrt
参数,建议使用restart
。已删除
scipy.stats.kendalltau
的initial_lexsort
参数。scipy.linalg.pinv
的cond
和rcond
参数已被移除。scipy.integrate.simpson
的even
参数已被移除。scipy.linalg.{eigh,eigvalsh}
中的turbo
和eigvals
参数已被移除。scipy.special.comb
的legacy
参数已被移除。signal.{firls, firwin, firwin2, remez}
的hz
/nyq
参数已被移除。那些不属于公共接口但可以通过已弃用的子模块访问的对象已被移除。
float128
、float96
和对象数组现在在scipy.signal.medfilt
和scipy.signal.order_filter
中会引发错误。scipy.interpolate.interp2d
已被替换为空桩(将来会完全移除)。与函数签名更改(例如,删除已弃用的关键字)相一致,我们已弃用对受影响函数的关键字参数的位置使用,现在这将引发错误。受影响的函数是
sparse.linalg.{bicg, bicgstab, cg, cgs, gcrotmk, gmres, lgmres, minres, qmr, tfqmr}
stats.kendalltau
linalg.pinv
integrate.simpson
linalg.{eigh,eigvalsh}
special.comb
signal.{firls, firwin, firwin2, remez}
其他更改#
SciPy 现在使用 C17 作为 C 标准进行构建,而不是 C99。C++ 标准仍然是 C++17。
现在支持 macOS Accelerate,它在 macOS 13.3 中进行了重大升级。这为线性代数运算带来了显著的性能改进,并减小了二进制 wheels 的大小。
交叉编译应该更顺畅,不再需要 QEMU 或类似的工具来运行交叉解释器。
已将 JAX 后端的实验性数组 API 支持添加到 SciPy 的几个部分。
为 1.14.0 关闭的问题#
#5369: fsolve 和 root 函数调用计数不正确
#7203: vtk 与 scipy.interpolate (和 mvpoly.rbf) 不兼容
#8056: cho_factor 和 cho_solve 不支持 (0,0) 形状的矩阵
#8083: 当 c-a-b 为整数时,special.hyp2f1 返回错误的值...
#8510: ValueError: 无法创建 intent(cache|hide)|optional array–...
#8848: `integrate.solve_ivp` 尝试使用过多的次数来评估函数...
#8856: LinearNDInterpolator 不是线程安全的
#9198: `solve_ivp` RK45 可以在晚于...的时间评估函数
#9307: 功能请求:使 `scipy.stats.pearsonr` 接受二维数组
#9459: BUG: linalg: lu 和分解不支持 (0, 1) 或 (0,...
#12515: scipy.linalg.pinvh 给出错误的结果
#14244: ValueError: 在进入 DGESDD 时,参数编号 10 具有非法...
#14389: `linalg.inv` 对形状为 (0, 0) 的数组失败
#14806: ENH: 添加 Irwin-Hall(均匀和)和 Bates(均匀均值)...
#15722: DEP: special.comb:弃用非整数的 `exact=True`
#16131: BUG: spsolve_triangular 比 spsolve 慢得多
#16583: 将 `stats._boost` 中的扩展组合成一个
#16748: 没有使用 Cython 的 `cython_*` API 的测试
#16926: TEST/BUG:test_solvers::test_solve_discrete_are 中违反容差
#17084: ENH: 导出 detrend() 中移除的组件
#17341: BUG: `solve_ivp` 在所请求的间隔之外评估...
#17559: ENH: _mannwhitneyu.py 计算精确的 MWU 统计信息可能...
#17658: 在 linalg 中对空矩阵的支持不一致
#19322: BUG: 当有重复位置时,`rv_discrete.expect` 失败
#19348: BUG: 与 MATLAB 相比,stats.nct.pdf 的行为不一致...
#19586: BUG: scipy.signal.group_delay 对于复系数不正确
#19598: BUG: `scipy.sparse.linalg.svds` 中对于大型稀疏矩阵的错误...
#19649: ENH: as_quat() 和 from_quat() 似乎与...的 x,y,z,w 相反
#19734: 来自 HiGHS 的构建警告
#19872: BUG: 当...时,sp.stats.wilcoxon 中 p 值计算错误
#19905: DEP: 从私有模块中删除已弃用的导入
#19918: ENH: 将 COBYQA 添加到 `scipy.optimize`?
#19921: BUG: 与 BenchLeastSquares 相比,BenchGlobal 的输出不一致...
#19964: MAINT:BLD:special:彻底检查 _ufuncs 和 cython_special 机制
#20124: BUG: stats.skewnorm.ppf 返回中等错误的值...
#20128: BUG: `csr_array(int())` 错误
#20208: BUG: 由于 `_beta_ppf` 中遇到无效值而导致的测试失败...
#20247: ENH: Akima1DInterpolator 外推
#20256: MAINT, BLD: MacOS ARM 静态库上的符号可见性警告...
#20277: jupyterlite-sphinx 集成后,文档构建非常嘈杂
#20296: CI:jupyterlite-shpinx 固定版本导致最近的文档构建失败
#20324: MAINT, BUG (?): pearsonr 统计返回类型变更
#20357: BUG:1.12 版本中 griddata 函数的内存使用问题
#20358: TST, MAINT:TestGroupDelay::test_singular 测试失败
#20377: ENH:sparse:更新 str dunder 以更好地处理 1D(和 2D)数组
#20378: ENH:sparse:更新 repr dunder 以更好地处理 1D(以及可能 2D)数组
#20385: MAINT:special 版本十六进制清理
#20386: BUG:从 scipy 1.12 开始,scipy.stats.kstest 返回 NaN
#20388: DOC:版本切换器在移动设备上没有垂直居中
#20394: BUG:iirpeak/iirnotch/iircomb 滤波器中不必要的计算
#20399: BUG:scipy.special.logsumexp 对零尺寸数组引发 ValueError
#20419: BUG:nightly:.special.jv 现在将 float32 输入提升为 float64
#20434: BUG:稀疏 dia_array 在乘法后变为 csr
#20455: BUG:signal.iirfilter:整数输入溢出
#20458: MAINT:更多与版本更新相关的潜在清理
#20461: DOC:发布过程文档的一些可能更改
#20466: BUG:scipy.linalg.bandwidth 返回不正确的上带宽
#20470: BUG:`TestNNLS.test_nnls_inner_loop_case1` 在 MKL 下失败
#20486: DEP:弃用并删除剩余的与 slur 相邻的 “trapz” 用法
#20488: BUG:当给定无效边界时,`_minimize_neldermead` 引发错误
#20492: DOC:linalg.solve_discrete_lyapunov:失效的引用链接
#20502: BUG:special.hyp2f1:本地测试失败
#20509: DOC:澄清 `sparse.csgraph.dijkstra` 在 `directed=False` 情况下的行为
#20523: CI/BLD:macOS x86_64 的每日 wheel 构建失败
#20535: BUG:generate_f2py 模块被错误的解释器调用
#20540: BUG:pytest scipy/linalg/tests/test_extending.py 在 Cython 下失败
#20551: DOC/DEV:清晰地记录哪些代码具有活跃的上游仓库
#20562: BUG:_bracket_minimum 中无效的默认括号选择。
#20564: TST:stats array API 在 test_skew_constant_value[torch] 中失败
#20584: BUG:`optimize.linprog` 在使用 `list` 类型 `integrality` 时失败
#20587: BLD:来自 `scipy/special/special/gamma.h` 的警告
#20598: ENH:special:添加 wright_bessel 的对数
#20603: DOC:记录从邮件列表切换到 discourse
#20614: DOC:dual_annealing 优化器没有将边界传递给 minimizer
#20618: BUG:scipy 使用 method='trust-constr' 的 'minimize' 在等式约束下失败
#20620: DOC:建议改进 interp2d 过渡指南
#20641: BUG:stats:两个新的 XSLOW 测试失败
#20661: MAINT, TST:test_axis_nan_policy_decorated_positional_args 测试失败
#20662: DOC:cont2discrete() 引发的错误消息中缺少空格
#20674: DOC:signal.ellipap 参考中作者姓名中的拼写错误
#20683: DOC:signal.iirdesign 引发的 ValueError 中的拼写错误
#20691: ENH:重新引入 Apple Accelerate 支持
#20697: BUG:special:`cephes/polevl.h` 中 `ratevl` 的算法错误
#20755: BUG:stats:两个新的测试失败
#20768: BUG:optimize.minimize:`lbfgs` 中的垃圾回收
#20783: BUG:PyPy3.10 7.3.16 上的构建失败:`error: ‘Py_Initialize’…`
#20797: BUG:special.hyp1f1:复数参数错误
#20802: MAINT, TST:pytest-fail-slow 和本地并发运行/可变性
#20840: BUG:scipy 中第一个共享库无法被 MSVC 使用
#20850: DOC:stats.bootstrap:改进多维文档
#20852: BUG:库未加载:scipy 的 @rpath/libgfortran.5.dylib
#20860: BUG/BLD:scipy-1.13.1 使用 msvc 构建失败
#20901: BUG:在空数组上使用 `scipy.linalg.sqrtm` 后出现 `zsh: abort python`
#20911: TST:TestEig.test_singular 在使用通用 BLAS 时失败
#20921: DOC:stats:`*Result` 类的错误文档字符串
#20938: TST:在 linux-{aarch64,ppc64le} 上使用 SciPy 1.14.0rc1 时出现公差违规
#20943: TST:在 windows 上使用 SciPy 1.14.0rc1 时测试失败
1.14.0 的拉取请求#
#13534: ENH:为 HessianUpdateStrategy 添加更多初始化方法
#15321: ENH:fft:添加 `prev_fast_len` 以补充 `next_fast_len`
#17348: BUG:integrate:使 `select_initial_step` 了解积分
#17924: ENH:sparse.linalg:加速 `spsolve_triangular`
#18926: ENH:移动 symiirorder1/2、cspline2d、qspline2d 和 spline_filter …
#19561: ENH:stats.power:添加模拟假设检验功效的函数
#19627: FIX:正确计算复系数 TF 的 group_delay
#19673: DEP:signal:在使用 medfilt 和 order_filter 时引发错误
#19706: ENH:向 minimum_phase 添加 half=True kwarg
#19816: BLD:为 macOS 13.3+ 添加 Accelerate 支持
#19900: MAINT/TST:fft:删除 xp 后端跳过,测试 `fftfreq` `device`
#19904: MAINT:删除私有模块的偶然导入
#19923: ENH:stats.mannwhitneyu:替换精确的 p 值计算
#19954: MAINT:将 wright_bessel 函数翻译为 C++
#19960: DOC:向 `scipy.interpolate.spalde` 添加示例
#19994: ENH:向 scipy.optimize 添加 cobyqa。
#20073: ENH:special:修复 `boxcox` 中的过早溢出
#20079: ENH:io:读取和写入大小 > 4GB 的 wav 文件
#20085: ENH:数组类型:添加 JAX 支持
#20089: ENH:将复数值 hyp2f1 转换为 C++ 并进行改进
#20127: ENH/TST:重构 refguide-check,第 3 次尝试
#20137: ENH:stats.pearsonr:添加对 `axis` 参数的支持
#20187: ENH:sparse.csgraph:Yen K 最短路径
#20199: DOC/DEV/MAINT:更新核心开发人员指南
#20202: DOC:重新组织 stats 用户指南部分的内容
#20255: TST:linalg:重新启用 gges[float32] 测试
#20257: BUG:防止 `openblas_support.py` 中的文件描述符泄漏
#20260: ENH:开始彻底检查 ufunc 机制
#20265: ENH:optimize:const 限定 Cython 数组参数
#20269: REL:将版本设置为 1.14.0dev0
#20273: MAINT/DEV:强制执行最低 `ruff` 版本
#20275: MAINT/DEV:向 `dev.py lint` 添加自动修复
#20278: DEP:integrate:删除 simps、trapz、cumtrapz
#20281: BUG:optimize:更正 `nfev` 值
#20283: DEP:sparse:弃用 dok_array/matrix 的 conjtransp() 方法
#20284: ENH:stats.pearsonr:添加数组 API 支持
#20289: DOC:固定 Jupyterlite Sphinx 以避免嘈杂的文档构建
#20292: ENH:stats.moment:添加数组 API 支持
#20295: BUG:linalg:支持空数组
#20297: BUG:linalg:为 pinvh 使用 SYEV 而不是 SYEVR
#20298: DOC:linalg:提到 eigenvalues_only=True/False 可能会更改 …
#20304: ENH:interpolate:允许 Akima 外推
#20310: MAINT:将 jupyterlite-sphinx 固定为 >=0.13.1
#20315: DOC:添加关于如何调试与线性代数相关问题的文档
#20317: MAINT/DEV:将 `skip_if_array_api` 重命名为 `skip_xp_backends`
#20320: ENH:special 中的广义 ufuncs
#20321: BUG:修复 scipy.special seterr、geterr、errstate
#20325: MAINT:提高 ndimage.binary_erosion 的性能
#20326: MAINT:替换 np.prod 的用法
#20328: DOC:修复 odds_ratio 中的一个小错别字
#20329: MAINT: 更新 `array_api_compat` 至 v1.5.1
#20331: MAINT: 修复 optimize 中使用 const view 时的 Cythonize 错误
#20335: TST: linalg: 撤销 QZ 和 DARE 的 xfail 标记
#20342: BLD: linalg: 修复 .pyf.src 文件的重建依赖关系
#20354: MAINT: 取消 wheels 对 pytest 的固定版本
#20355: TST: signal: 提高新 `signal.group_delay` 测试的容差
#20356: BLD: 更新 pyproject.toml 中 NumPy 的构建依赖
#20367: STY: 始终 `import numpy as np`
#20373: MAINT: 放弃 Python 3.9 和 NumPy 1.22.x 的支持
#20380: MAINT: 前向移植 1.13.0 的发布说明
#20382: MAINT: lint: 强制使用 `numpy as np` 别名
#20384: ENH: special: 使用 C 重新编写 cdflib
#20390: MAINT: 将整个 cephes 翻译成 C++
#20393: MAINT/BLD: 移除 `stats._boost` 并添加分布相关的...
#20397: ENH: 支持 Rotation 中四元数分量的标量优先顺序
#20403: ENH: special: 为 amos 添加 ufuncs
#20404: BUG: interpolate: 修复 2 个类别的高内存使用问题
#20405: BUG: 修复 Amos 和 Cephes yv 中掩盖彼此的一对错误
#20413: MAINT: 供应商化 npyrandom 而不是使用静态库
#20416: ENH: optimize._chandrupatla: 允许在...处有无限的函数值
#20417: ENH: 使 cython_special 成为实际代码,而不是自动生成的
#20418: BUG: signal: 更正 `iir{peak,notch,comb}` 滤波器增益
#20420: DOC: stats: 加速非常慢的 `bootstrap` 示例
#20421: 为 amos 函数添加 float32 重载
#20422: TST: 测试 cimport Cython APIs
#20424: MAINT: special: 向 cdflib 添加许可证并删除旧的 pxd 文件
#20425: MAINT: 修复 README 中 DOI 可见性徽章
#20426: DOC: 添加关于如何使用 gdb 调试 linalg 问题的提示
#20427: DOC: 加速一些示例
#20438: ENH: 将 `sph_harm` 从 Cython 翻译为 C++,添加 `sph_harm_all`...
#20441: BLD: 安装 cython_special.pxd
#20443: MAINT: sparse: 更新 EfficiencyWarning 消息以反映 array/matrix
#20445: ENH: sparse: 特殊处理 DIA * 标量
#20446: MAINT: 移除重复的单词拼写错误
#20450: BLD: 避免在 meson.build 文件中设置环境变量
#20453: DOC: special: 为 pdtrc、pdtri、pdtrik 添加示例
#20454: DOC: 更新工具链路线图 (1/N)
#20456: BUG: signal.iirfilter: 避免整数溢出
#20457: ENH: 添加 `scipy.special._ufuncs._iv_ratio`
#20460: DOC: 移除多余的 css 颜色和设置
#20462: DOC: 更新 README,添加指向新论坛的链接
#20463: MAINT: 重构特殊函数 ufunc 生成并整合...
#20465: MAINT: special: 修复未使用的变量的编译器警告
#20467: MAINT: stats._contains_nan: 修复当 -inf 和 inf 在...时的错误
#20468: TST: stats: 将测试标记为 slow/xslow
#20469: MAINT/CI: 从 refguide-check 中移除文档测试
#20477: BLD: 确保所有静态库都使用隐藏可见性
#20478: CI/MAINT: 将最低编译器版本要求提高到 GCC...
#20480: CI: 使慢速测试失败
#20481: ENH: stats: 添加 Irwin-Hall 分布
#20482: CI: 标准化作业名称
#20483: ENH: special: 将 `sph_bessel` 翻译为 C++,重构 `cyl_bessel`
#20487: TST: 调整其他非常慢的测试
#20490: BUG: sparse: 为数组类引发错误,记录/测试旧的...
#20494: BUG: _qmc.py::_random_oa_lhs 生成相关的样本
#20495: BUG: 从 SciPy.optimize 中的 ValueError 中移除关键字参数
#20497: DEP: interpolate: 用存根替换 interp2d
#20498: DEP: 将稀疏方法切换为仅限关键字参数;移除 tol/restrt 关键字参数
#20499: DEP: 执行稀疏数组 API 弃用
#20500: DOC: 更新 `Scipy.linalg._solvers.py` 中的失效引用链接:...
#20501: MAINT: optimize._chandrupatla: 减少 xatol
#20503: MAINT: spatial: 修复 `query_ball_point` 的类型注释
#20508: DOC: 修复旧的警告样式
#20510: BLD: 加速 macOS 14+ 的 wheels
#20511: BUG: 修复 SciPy.special.logsumexp 在零大小数组上引发 ValueError 的问题
#20515: BLD: 默认使用 C17 而不是 C99
#20522: TST: 跳过或修复某些 macOS 构建上失败的一些测试
#20526: BLD: 将 Clang/LLVM 的下限从 14.0 调整为 12.0
#20529: MAINT: 移除重复的 “is” 拼写错误
#20534: BUG: 修复 scipy.linalg.bandwidth 的不正确的 upper_band 值
#20536: CI: 检查文件中是否首先包含 Python.h
#20538: TST: _lib: 移除对缺失 `stacklevel` 的冗余测试
#20541: ENH: stats.skew: 添加数组 API 支持
#20542: BLD: 加速构建不应定义 `NO_APPEND_FORTRAN`
#20545: ENH: stats.ttest_1samp: 添加数组 API 支持
#20546: DOC: 使用更正确和包容的代词
#20547: DOC: stats.linregress: 分割 stats/mstats 文档
#20548: TST: 跳过可编辑安装的 Cython 测试
#20550: DEP: stats: 将 kendalltau 切换为仅限关键字参数,移除 initial_lexsort...
#20554: DEP: integrate: 将 simpson 切换为仅限关键字参数,移除 even 关键字参数
#20556: DOC: 发布流程更新
#20559: DOC/DEV: 添加关于供应商代码的核心开发页面
#20560: DEP: linalg: 从 linalg.{eigh,eigvalsh} 中移除 turbo / eigvals 关键字参数...
#20563: BUG: 修复 _bracket_minimum 中无效的默认括号选择
#20565: DEP: linalg: 从 linalg.pinv 和...中移除 cond / rcond 关键字参数
#20568: DOC: 更改 approx_fprime 文档测试
#20572: MAINT: 在 `scipy/_build_utils` 中供应商化 Tempita
#20575: TST: stats.skew: assert_equal -> xp_assert_equal (如适用)
#20577: DEV: 向 pre-commit-hook 添加 unicode 检查
#20578: DEP: signal: 在 firwin* 中移除 nyq / Hz 关键字参数,并切换到...
#20582: MAINT: optimize.isotonic_regression: 移除不必要的副本
#20583: TST: stats.rv_continuous.fit: 调整 fit XSLOW/XFAIL/skip 集
#20585: CI/BLD: 在构建时使用 scipy-openblas wheel
#20588: DEP: special: 从 special.comb 中移除旧的关键字参数并切换...
#20590: 还原 “ENH: 在 `linprog` 中使用 `highspy`”
#20593: ENH: constants: 添加数组 API 支持
#20595: ENH: `stats.circ___`: 添加数组 API 支持
#20597: 增强:stats.skewtest: 添加数组API支持
#20600: 类型:将支持的Mypy版本从1.0.0更新到1.10.0
#20604: 增强:stats.monte_carlo_test: 添加数组API支持
#20612: 构建:修复非默认解释器的使用,改进f2py处理
#20615: 增强:stats: 为burr12实现_isf
#20616: 文档:integrate: 删除对已弃用和遗留函数的引用
#20619: 增强:spatial: 序列化对QHull的并发调用
#20621: 类型:向`scipy/_lib/_array_api.py`添加类型注释
#20625: 测试:向xp_assert_close添加依赖于dtype的默认rtol
#20627: 维护:special: 删除kolmogorov.h中未使用的function_calls变量
#20628: 测试:integrate.tanhsinh: 将测试用例标记为XSLOW
#20630: 增强:optimize._jacobian: 使用_differentiate计算精确的...
#20631: 增强:stats.sem: 添加数组API支持
#20634: 增强:stats: 向kstat/kstatvar添加数组API支持
#20637: 维护:修复`datasets._fetchers`模块中的损坏链接
#20640: 测试:调整新的数组API测试,慢速测试
#20642: 测试:stats.ttest_1samp: 修复xslow测试
#20643: 维护:更新boost以修复`skewnorm.ppf`
#20645: 增强:optimize.approx_fprime: 避免二次内存使用
#20646: 增强:special: 添加`log_wright_bessel`
#20647: 增强:stats.variation: 添加数组API支持
#20649: 维护:sparse: 重新格式化稀疏数组的str和repr,更正...
#20651: 增强:stats.kstat/kstatvar: 添加对`axis`的本地支持
#20656: 增强:对spatial.transform.Rotation方法的微优化
#20657: 维护:删除special中未使用的变量
#20658: 增强:stats.kurtosis: 添加数组API支持
#20663: 维护:stats.kruskal: 修复使用SCIPY_ARRAY_API=1时的无参数行为
#20664: 修复cont2discrete中的拼写错误
#20665: trust-constr 当出现错误时,使错误消息的来源更加清晰...
#20667: 增强:stats.describe: 添加数组API支持
#20673: 增强:stats.entropy, special.{entr, rel_entr}: 添加数组API支持
#20675: 文档:修复signal.ellipap中的拼写错误
#20676: 维护:澄清dual_annealing-minimizer_kwargs的文档字符串。关闭...
#20677: 测试:为了速度调整test__differential_evolution
#20679: 维护:special.wright_bessel: 添加关于参考文本的注释
#20684: 维护:修复signal.iirdesign中缺失的空格,间距一致性...
#20685: 维护:向elementwise添加对无效初始括号的优雅处理...
#20689: 增强:optimize._chandrupatla: 添加数组API支持
#20694: 维护:stats: 使减少函数发出一致的警告...
#20696: 维护:stats.gstd: 返回结果而不是引发异常
#20698: 开发/构建:向`dev.py build`添加–with-accelerate标志
#20705: 维护:添加缺失的空格
#20711: 维护:numpy清理版本升级:修复问题#20458
#20712: 增强/构建:为`tests`添加安装标签
#20715: 增强:stats.kurtosistest: 添加数组API支持
#20716: 弃用:integrate.quad_vec: 弃用`quadrature=”trapz”`
#20722: 增强:sparse: 加快DIA格式的`_add_sparse`
#20726: 文档:stats.{circmean, circvar, circstd}: 提高准确性/清晰度
#20730: 错误:special: 修复`cephes/polevl.h`中`ratevl`的算法错误
#20732: 错误:interpolate: 不要因错误的边界条件而发生段错误
#20734: 错误:stats.ttest_1samp: 修复`keepdims`的使用
#20736: 增强:stats.normaltest/jarque_bera: 添加数组API支持
#20737: 测试,维护:运行优化数组API测试并修复`chandrupatla`
#20738: 文档:sparse.csgraph.dijkstra: 添加对`directed=False`的警告...
#20741: 维护:optimize: COBYQA的另一个fail_slow异常
#20744: 维护:在CI中使用PyTorch 2.3,修复CuPy故障,更多类型注释...
#20745: 错误:修复cephes hyperg.h中不正确的括号
#20746: 文档:stats: 更新给定的kstat/kstatvar公式以反映...
#20748: 测试:提高容差以解决本地`test_axis_nan_policy`...
#20750: 增强:对differential_evolution的一些微优化
#20751: 增强:stats.bartlett: 添加本地`axis`和数组API支持
#20753: 增强:stats.chisquare/power_divergence: 添加数组API支持
#20756: 测试:stats: 重构正态性测试的测试
#20764: 测试:stats.fit: 解决xslow测试失败的问题
#20765: 维护:stats.wilcoxon: 使`method='exact'`与并列对称
#20769: 维护:stats: 移动`multiscale_graphcorr`测试以节省时间
#20770: 维护:optimize: 删除`ScalarFunction`中的循环引用
#20775: 维护:向前移植1.13.1版本说明
#20777: 增强:stats: 正态性测试的端到端数组API支持
#20778: 文档:signal: 改进`detrend`函数的文档
#20780: 弃用:special.comb: 弃用非整数输入的`exact=True`
#20781: 测试:stats: 删除调用_get_pvalue时数组命名空间的开销
#20782: 增强:stats: 具有卡方分布的NHST的端到端数组API支持...
#20784: 文档:SciPy 1.14.0版本说明
#20787: 文档:interpolate: 在interp2d转换中提及默认种类...
#20788: 增强:optimize: 通过减少开销来提高`cobyqa`性能...
#20789: 弃用:stats.linregress: 弃用单参数用法
#20790: 错误:special: 删除冗余的`Py_Initialize`
#20791: 测试:optimize: 修复`_bracket_minimum`的失败测试
#20792: 错误:sparse: 修复轴0/1之间argmin/max形状差异。并且...
#20795: 维护:修复Cython中关于`noexcept`和`except *`的警告...
#20796: 构建:optimize: 静默来自HiGHS的构建警告
#20798: 维护:special: 修复numpy初始化,避免构建警告
#20799: 文档:ndimage: 改进灰度形态学文档字符串
#20804: 维护:从pyproject.toml中删除pytest-fail-slow
#20805: 错误:special: 恢复函数cchg()中缺失的代码行。
#20807: 测试:stats.nbinom: 调整cdf-ppf往返测试
#20812: 文档:扩展“构建可重现二进制文件”页面
#20815: 文档:integrate: odeint 用户函数不得修改 y。
#20819: REV: 撤销 gh-17924 中意外的 `cobyqa` 更新。
#20820: BLD:修复来自 ``scipy/special/special/gamma.h`` 的警告。
#20828: DEP:弃用 `stats.trapezoid` 分布的 trapz 别名。
#20831: MAINT:版本固定/为 1.14.0rc1 准备。
#20838: 文档:sparse: 1.14.0 发布说明的补充。
#20839: REL:设置 1.14.0rc2 为未发布状态。
#20841: 文档:添加 cobyqa 网站参考。
#20851: 文档:添加 cobyqa 网站参考 (#20841)。
#20858: MAINT:`stats.bootstrap`: 发出关于广播的 `FutureWarning`。
#20870: BLD:通过删除原始库来测试 delocate 是否有效 [wheel 构建]。
#20881: 文档:将邮件列表更改为论坛。
#20890: 文档:使用等宽字体编写 API 参考标题。
#20909: DEP:special.perm:弃用非整数 `N` 和 `k` …
#20914: TST:linalg:在 `TestEig::test_singular` 中增加容差。
#20919: BLD:optimize:对静态 HiGHS 库使用隐藏可见性。
#20920: MAINT:special:通过使用 `new` 和 `delete` 修复 msvc 构建…
#20923: 文档:更新 doctests 以满足 scipy-doctests==1.2.0。
#20927: MAINT:适应 scipy-doctests 的更改。
#20933: MAINT:1.14.0rc2 向后移植。
#20936: 文档:`array_api.rst`: 使用 array API 更新 1.14 功能…
#20937: BUG/BLD:special:确保 `sf_error_state` 中的符号是共享的…
#20945: TST:解决 SciPy 1.14.0rc1 在 linux-{aarch64,ppc64le} 上的容差违规问题。
#20952: TST:放宽 test_x0_working 中的容差,以通过备选方式…
#20953: TST:稍微放宽 test_krandinit 中的容差,以通过…
#20961: TST:增强 test_nnls_inner_loop_case1 的鲁棒性。
#20970: REL:设置 1.14.0 rc3 为未发布状态。
#20973: TST:sparse.linalg: 由于对数值的敏感性,跳过测试...
#20979: STY: `_lib._util`: 解决主程序中新的 mypy 投诉。