GNU
GNU 科学库 (GSL) 是一系列用于数值计算的程序包。这些程序包使用 C 语言编写,并为 C 语言程序员提供了一个现代化的应用程序编程接口 (API),允许为其它高级语言编写包装器。源代码遵循 GNU 通用公共许可证发布。目前的版本为28。
GSL版本
目前GSL提供有超过1000个函数,这些函数包含的范围有:

  • 复数
  • 多项式的根
  • 特殊函数
  • 向量和矩阵
  • 排列
  • 排序
  • BLAS 支持
  • 线性代数
  • 特征系统
  • 快速傅里叶变换
  • 求积
  • 随机数
  • 拟随机序列
  • 随机分布
  • 统计学
  • 直方图
  • N 元组
  • 蒙特卡洛积分
  • 模拟退火
  • 微分方程
  • 插值
  • 数值微分
  • 切比雪夫近似
  • 级数加速
  • 离散汉克尔变换
  • 求根
  • 最小化
  • 最小二乘拟合
  • 物理常数
  • IEEE 浮点数
  • 离散小波变换
  • 基样条函数
  • 运行统计
  • 稀疏矩阵与线性代数

更多可下载官方手册

GSL 库具有以下特点:

  • 提供了广泛的数学函数,包括线性代数、数值积分、特殊函数、随机数生成等。
  • 设计有良好的接口,易于使用。
  • 经过充分测试,具有较高的稳定性和可靠性。
  • 是开源的,可以根据需要自由修改和分发。

GSL因此被众多科学计算选为必备支持包。

Ubuntu中的安装与使用

1.在大多数 Linux 发行版中,可以通过包管理器安装 GSL 库。GSL源码包提供了以下二进制包:

  • gsl-bin:GNU Scientific Library (GSL) -- binary package
  • libgsl0-dbg: GNU Scientific Library (GSL) -- debug symbols package
  • libgsl0-dev: GNU Scientific Library (GSL) -- development package
  • libgsl0ldbl: GNU Scientific Library (GSL) -- library package

可以选择对应的需求在终端键入命令即可安装。例如,在 Ubuntu 系统中,可以使用以下命令安装:

sudo apt-get install libgsl-dev

在安装了开发包之后,就可以在 C 语言项目中使用 GSL 库了。在一些常用科学计算软件如Geant4,Cern ROOT,Garfield等均依赖于GSL 库,使用上述命令即可。
是否安装成功可在终端输入:

gsl-config --version

2.编译安装

1)安装一些基本的编译工具,例如 build-essential(包含了 gcc, g++, make 等)以及 libtool 和 autoconf 等。

sudo apt update
sudo apt install build-essential autoconf automake libtool

2)下载GSL 源代码,解压缩,终端进入目录。比如2.7.1版本。

tar -xzvf gsl-2.7.1.tar.gz
cd gsl-2.7.1

3)编译

./configure
make
sudo make install

4)添加到环境变量(可选)

echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

5)安装完毕,可以用gsl-config --version验证是否成功。

3.简单的使用教程

为了验证 GSL 库是否正确安装,可以创建一个简单的 C 程序来测试。以下是一个示例代码:

#include <stdio.h>
#include <gsl/gsl_math.h>

int main() {
    printf("GSL Version: %d.%d.%d\n", GSL_MAJOR_VERSION, GSL_MINOR_VERSION, GSL_MICRO_VERSION);
    return 0;
}

编译并运行这个程序,如果 GSL 库安装正确,它将输出当前安装的 GSL 版本号。

gcc -o test_gsl test_gsl.c -lgsl -lgslcblas
./test_gsl

如果一切正常,您将看到类似以下的输出:

GSL Version: 2.5.0

最后修改:2025 年 07 月 14 日
如果觉得我的文章对你有用,请随意赞赏