E.1.3 外部软件包

需要以下外部软件包:

BLAS

基本线性代数子程序库。建议使用加速的 BLAS 库(如 OpenBLASATLAS)以获得最佳性能。 参考实现(http://www.netlib.org/blas) 速度较慢,并且在边界情况输入中存在某些错误。

LAPACK

线性代数包(http://www.netlib.org/lapack)。

PCRE

Perl 兼容的正则表达式库(https://www.pcre.org)。

以下外部软件包是可选的,但强烈建议使用:

GNU Readline

命令行编辑库(https://www.gnu.org/s/readline)。

如果希望在未安装 GNU readline 的情况下构建 Octave,则必须在运行 configure 脚本时使用 --disable-readline 选项。

以下外部软件包是可选的。Octave 可以在没有它们的情况下构建,但某些功能可能会缺失:

ARPACK

用于求解大规模特征值问题的库 (https://forge.scilab.org/index.php/p/arpack-ng)。需要 ARPACK 来提供函数 eigssvds

cURL

用于使用 URL 语法传输数据的库 (https://curl.haxx.se)。需要 cURL 来提供 urlreadurlwrite 函数以及 ftp 类。

FFTW3

用于计算离散傅里叶变换的库 (http://www.fftw.org)。FFTW3 用于为计算离散傅里叶变换的函数 (fftifftfft2 等)提供更好的性能。

FLTK

可移植 GUI 工具包(http://www.fltk.org)。FLTK 可用于 为 Octave 基于 OpenGL 的图形函数提供窗口。

fontconfig

用于配置和自定义字体访问的库 (https://www.freedesktop.org/wiki/Software/fontconfig)。Fontconfig 用于管理 Octave 基于 OpenGL 的图形函数的字体。

FreeType

可移植字体引擎(https://www.freetype.org)。FreeType 用于 为 Octave 基于 OpenGL 的图形函数执行字体渲染。

GLPK

GNU 线性规划工具包(https://www.gnu.org/software/glpk)。 需要 GLPK 来提供函数 glpk

gl2ps

OpenGL 到 PostScript 打印库(https://www.geuz.org/gl2ps/)。 使用基于 OpenGL 的图形工具包(当前为 FLTK 或 Qt)时,需要 gl2ps 来进行打印。

gnuplot

交互式图形程序(http://www.gnuplot.info)。gnuplot 可用作 Octave 的图形渲染器;在 Octave 4.0 之前, gnuplot 是默认的图形渲染器。

GraphicsMagick++

图像处理库(http://www.graphicsmagick.org)。 GraphicsMagick++ 用于提供 imreadimwrite 函数。

HDF5

用于操作可移植数据文件的库 (https://www.hdfgroup.org/HDF5)。Octave 的 loadsave 命令需要 HDF5 来读取和写入 HDF 数据文件。

Java Development Kit

Java 编程语言编译器和库。建议使用 OpenJDK 自由软件实现 (http://openjdk.java.net/), 但其他 JDK 实现也可能可用。需要 Java 以便能够 从 Octave 内部调用 Java 函数。

OpenGL

用于可移植 2D 和 3D 图形的 API (https://www.opengl.org)。OpenGL 实现可用于为 Octave 的图形函数提供渲染器。Octave 基于 OpenGL 的 图形函数通常优于基于 gnuplot 的图形函数,因为绘图数据可以直接 渲染,而无需将数据和命令发送给 gnuplot 进行解释和渲染。 自 Octave 4.0 以来,默认的图形渲染器("qt")一直是基于 OpenGL 的。

PortAudio

PortAudio(http://www.portaudio.com/)提供了一个非常简单的 API, 用于使用简单的回调函数或阻塞式读/写接口录制和/或播放声音。 它是音频处理函数 audioplayeraudiorecorderaudiodevinfo 所必需的。

Qhull

计算几何库(http://www.qhull.org)。需要 Qhull 来提供函数 convhullconvhullndelaunaydelaunaynvoronoivoronoin

QRUPDATE

QR 分解更新库 (https://sourceforge.net/projects/qrupdate)。QRUPDATE 用于 提高函数 qrdeleteqrinsertqrshiftqrupdate 的性能。

QScintilla

源代码高亮显示和操作工具;Scintilla 的 Qt 移植版本 (http://www.riverbankcomputing.co.uk/software/qscintilla)。 QScintilla 用于 GUI 中的语法高亮显示和代码补全。

Qt

GUI 和工具库(https://www.qt.io)。构建 GUI 需要 Qt。 它是一个大型框架,但唯一需要的组件是 GUI、核心和网络模块。 自 Octave 4.0 以来,默认的图形渲染器("qt")一直是基于 Qt 的, 它又基于 OpenGL。

RapidJSON

一个用于 C++ 的快速 JSON 解析器/生成器,同时具有 SAX/DOM 风格 API (https://rapidjson.org/)。使用函数 jsondecodejsonencode 读取或写入 JSON 文件时需要 RapidJSON。

SuiteSparse

稀疏矩阵分解库 (http://faculty.cse.tamu.edu/davis/suitesparse.html)。 需要 SuiteSparse 来提供稀疏矩阵分解以及稀疏系统线性方程组的求解。

SUNDIALS

非线性微分/代数方程组求解器套件 (https://computation.llnl.gov/projects/sundials),是 常微分方程(ODE)求解器 ode15iode15s 所必需的。

zlib

数据压缩库(https://zlib.net)。Octave 的 loadsave 命令需要 zlib 库来处理 压缩数据,包括 MATLAB v5 MAT 文件。


版权所有 © 2024-2026 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-4