Gonum 是一组用 Go 编写的数值库,提供矩阵、统计、优化、图等计算能力,为 Go 生态中的科学计算与数据分析提供基础组件。
这个工具是什么
Gonum 是面向 Go 编程语言的数值库集合,核心包以纯 Go 编写,部分含汇编实现。它覆盖矩阵运算、统计、优化、图算法等方向,官方描述为「a set of numeric libraries for the Go programming language」。项目采用 BSD-3-Clause 许可,原始代码适用 Gonum License,部分代码另附第三方许可。Gonum 模块按六个月周期发布,与 Go 版本发布节奏对齐,通常在二月与八月各发布一次。仓库当前标记为 unstable 稳定性等级,支持最近两个 Go 版本,在 Linux、macOS 与 Windows 上测试。
核心能力
- 提供矩阵、统计、优化、图等多类数值计算库
- 核心包以纯 Go 编写,部分实现使用汇编
- 按六个月周期发布,与 Go 版本节奏对齐
- 支持 safe、noasm 等构建标签控制汇编与 CGO
科研中的典型用法
- 在 Go 程序中做矩阵运算与线性代数相关的数据处理
- 用统计与优化相关包完成数据分析中的数值计算任务
- 借助图相关包处理图结构数据与图算法问题
快速上手
使用 go get 安装:go get -u gonum.org/v1/gonum/...。核心包为纯 Go 编写,部分含汇编,需使用受支持的 Go 版本(最近两个 Go 版本)。构建时可通过构建标签调整行为,例如 safe 不使用汇编或 unsafe,noasm 不使用汇编实现,bounds 在内部调用中也做边界检查。
生态与相近工具
Go 生态中 Gonum 是较集中的数值库集合,覆盖矩阵、统计、优化与图等方向。若项目已使用 Go,可直接引入;若需要其他语言生态的数值工具,则需另行评估。Gonum 与 Go 版本发布节奏对齐,采用六个月发布周期,当前稳定性标记为 unstable,选型时应关注其发布与稳定性说明。
项目信息
- 仓库:gonum/gonum
- 星标:8,427 · 派生:579
- 主要语言:Go
- 许可证:BSD-3-Clause
- 最近提交:2026-08-30
- 项目主页:https://www.gonum.org/
本文属于《学科研究工具知识库 · 数学》第 3 篇(按 GitHub 星标排序)。收录标准:该学科公开可获取的开源研究工具,星标与活跃度为主要参考,不代表对其性能或适用性的背书;选型前请结合自身场景评估。

发表评论 取消回复