如果你是一位 Python 开发者,尤其是深耕数据科学、机器学习、数值计算领域的朋友,那么 SciPy 1.15.0 的发布一定值得你关注!这次的版本更新可谓亮点满满,不仅有重磅的稀疏数组支持,还新增了微分、积分等全新功能模块,同时也迎来了对即将到来的 Python 3.13 的初步支持。
接下来,跟我一起来看看这次 SciPy 更新里有哪些值得拍桌叫绝的功能改进吧!
亮点速览:这次更新不容错过!
1️⃣ 稀疏数组的全面支持
稀疏矩阵党看过来,这次 SciPy 终于向未来迈出了重要一步:稀疏数组(sparse array)终于全面支持!
以前稀疏矩阵只能二维,功能还相对有限,现在稀疏数组不仅能处理一维和二维数组,还支持部分 n 维稀疏数组的操作。
支持的功能包括:
- 基本运算(add、subtract 等)。
- 矩阵变形(reshape、transpose 等)。
- 数学运算(matmul、dot、tensordot 等)。
简单来说:以后用稀疏数组可以更灵活地操作数据,再也不用受制于“矩阵只能二维”的限制了!
而且 sparse.linalg 和 sparse.csgraph 模块现在也都兼容稀疏数组,赶紧迁移你的老代码吧(官方提供了迁移指南)。
2️⃣ 支持 Python 3.13:尝鲜多线程自由!
Python 3.13 还没正式发布,但 SciPy 已经抢先一步开始支持了!
- 自由线程(free-threading):这是 Python 3.13 的一大亮点,SciPy 的支持意味着在未来,我们可以看到多线程数值计算效率的显著提升。
趁现在就可以提前适配,让你的代码跑在“时代前沿”
3️⃣ 微分模块上线:scipy.differentiate,黑箱函数的福音
如果你需要高效计算黑箱函数的导数,这次 SciPy 的全新子模块 scipy.differentiate 必须被点名表扬。
- 无需知道函数的内部结构,只需提供输入,就能精确估计导数。
- 比传统数值微分更快更准。
这波更新直接对标很多高阶科学计算库,给用户提供了更加完整的工具链。
4️⃣ 优化模块:单变量函数的福音
scipy.optimize.elementwise 模块新增了一些超强功能,专注于单变量函数的求根和最小化问题。
- 如果你对单变量优化的速度和精度要求很高,这部分更新会让你爱不释手!
5️⃣ 积分模块:多元积分、高精度求和一个不落
- scipy.integrate 模块新增了三大功能:
- cubature:多元积分。
- tanhsinh:单变量积分,支持极高精度。
- nsum:级数求和功能更强大。
积分、求和的效率直接拉满,尤其适合需要大量数值积分的科学计算场景。
6️⃣ 插值模块:重心有理近似的算法支持
如果你需要对实数或复数函数进行逼近插值,现在 scipy.interpolate.AAA 模块中新增了重心有理近似的 AAA 算法,这个高级插值算法可以大大提高你的插值效率和精度。
SciPy:这波更新给开发者带来了什么?
1. 标准的进一步统一
SciPy 的更新紧跟 Array API 标准,这意味着它在与其他科学计算工具(比如 CuPy、JAX 等)的互操作性方面迈出了重要一步。未来,跨框架操作数组将更加流畅!
2. 未来的性能红利
Python 3.13 的自由线程特性逐步落地,而 SciPy 的兼容性提前准备好了。等到正式支持后,SciPy 的多线程数值计算效率将迎来质的飞跃。
3. 科学计算的全方位强化
这次更新填补了很多之前用户抱怨的空白:稀疏数组、黑箱函数导数、多元积分、矢量化计算……用一句话总结就是:SciPy 的工具箱更全面、更强大了。
⚙️ 如何升级?
要尝鲜 SciPy 1.15.0,需要满足以下环境要求:
- Python 版本:3.10 至 3.13(赶紧升级吧,Python 3.9 已经被抛弃了 )。
- NumPy 版本:1.23.5 或更高。
然后直接运行:
pip install --upgrade scipy
“SciPy 就像 Python 科学计算的神器,每次更新都在告诉我们:更快、更强、更智能的工具正在路上!”
这次的 SciPy 1.15.0 更新,不仅带来了稀疏数组的全面支持、全新模块的上线,更抢先支持了 Python 3.13 的新特性。还在犹豫什么?赶紧升级 SciPy,拥抱更强大的科学计算工具吧
最后附上github链接,了解详细内容!
Release SciPy 1.15.0 · scipy/scipygithub.com/scipy/scipy/releases/tag/v1.15.0编辑
你觉得 SciPy 的哪些功能最有用?来评论区聊聊吧! 我是旷野,探索无尽技术!