需要以下外部软件包:
基本线性代数子程序库。建议使用加速的 BLAS 库(如 OpenBLAS 或 ATLAS)以获得最佳性能。 参考实现(http://www.netlib.org/blas) 速度较慢,并且在边界情况输入中存在某些错误。
线性代数包(http://www.netlib.org/lapack)。
Perl 兼容的正则表达式库(https://www.pcre.org)。
以下外部软件包是可选的,但强烈建议使用:
命令行编辑库(https://www.gnu.org/s/readline)。
如果希望在未安装 GNU readline 的情况下构建 Octave,则必须在运行 configure 脚本时使用 --disable-readline 选项。
以下外部软件包是可选的。Octave 可以在没有它们的情况下构建,但某些功能可能会缺失:
用于求解大规模特征值问题的库
(https://forge.scilab.org/index.php/p/arpack-ng)。需要 ARPACK 来提供函数 eigs 和 svds。
用于使用 URL 语法传输数据的库
(https://curl.haxx.se)。需要 cURL 来提供
urlread 和 urlwrite 函数以及 ftp 类。
用于计算离散傅里叶变换的库
(http://www.fftw.org)。FFTW3 用于为计算离散傅里叶变换的函数
(fft、ifft、fft2 等)提供更好的性能。
可移植 GUI 工具包(http://www.fltk.org)。FLTK 可用于 为 Octave 基于 OpenGL 的图形函数提供窗口。
用于配置和自定义字体访问的库 (https://www.freedesktop.org/wiki/Software/fontconfig)。Fontconfig 用于管理 Octave 基于 OpenGL 的图形函数的字体。
可移植字体引擎(https://www.freetype.org)。FreeType 用于 为 Octave 基于 OpenGL 的图形函数执行字体渲染。
GNU 线性规划工具包(https://www.gnu.org/software/glpk)。
需要 GLPK 来提供函数 glpk。
OpenGL 到 PostScript 打印库(https://www.geuz.org/gl2ps/)。 使用基于 OpenGL 的图形工具包(当前为 FLTK 或 Qt)时,需要 gl2ps 来进行打印。
交互式图形程序(http://www.gnuplot.info)。gnuplot 可用作 Octave 的图形渲染器;在 Octave 4.0 之前, gnuplot 是默认的图形渲染器。
图像处理库(http://www.graphicsmagick.org)。
GraphicsMagick++ 用于提供 imread 和 imwrite
函数。
用于操作可移植数据文件的库
(https://www.hdfgroup.org/HDF5)。Octave 的
load 和 save 命令需要 HDF5 来读取和写入 HDF 数据文件。
Java 编程语言编译器和库。建议使用 OpenJDK 自由软件实现 (http://openjdk.java.net/), 但其他 JDK 实现也可能可用。需要 Java 以便能够 从 Octave 内部调用 Java 函数。
用于可移植 2D 和 3D 图形的 API
(https://www.opengl.org)。OpenGL
实现可用于为 Octave 的图形函数提供渲染器。Octave 基于 OpenGL 的
图形函数通常优于基于 gnuplot 的图形函数,因为绘图数据可以直接
渲染,而无需将数据和命令发送给 gnuplot 进行解释和渲染。
自 Octave 4.0 以来,默认的图形渲染器("qt")一直是基于 OpenGL 的。
PortAudio(http://www.portaudio.com/)提供了一个非常简单的 API,
用于使用简单的回调函数或阻塞式读/写接口录制和/或播放声音。
它是音频处理函数 audioplayer、audiorecorder 和
audiodevinfo 所必需的。
计算几何库(http://www.qhull.org)。需要 Qhull
来提供函数 convhull、convhulln、
delaunay、delaunayn、voronoi 和 voronoin。
QR 分解更新库
(https://sourceforge.net/projects/qrupdate)。QRUPDATE 用于
提高函数 qrdelete、qrinsert、qrshift 和 qrupdate
的性能。
源代码高亮显示和操作工具;Scintilla 的 Qt 移植版本 (http://www.riverbankcomputing.co.uk/software/qscintilla)。 QScintilla 用于 GUI 中的语法高亮显示和代码补全。
GUI 和工具库(https://www.qt.io)。构建 GUI 需要 Qt。
它是一个大型框架,但唯一需要的组件是 GUI、核心和网络模块。
自 Octave 4.0 以来,默认的图形渲染器("qt")一直是基于 Qt 的,
它又基于 OpenGL。
一个用于 C++ 的快速 JSON 解析器/生成器,同时具有 SAX/DOM 风格 API
(https://rapidjson.org/)。使用函数 jsondecode 和
jsonencode 读取或写入 JSON 文件时需要 RapidJSON。
稀疏矩阵分解库 (http://faculty.cse.tamu.edu/davis/suitesparse.html)。 需要 SuiteSparse 来提供稀疏矩阵分解以及稀疏系统线性方程组的求解。
非线性微分/代数方程组求解器套件
(https://computation.llnl.gov/projects/sundials),是
常微分方程(ODE)求解器 ode15i 和
ode15s 所必需的。
数据压缩库(https://zlib.net)。Octave 的
load 和 save 命令需要 zlib 库来处理
压缩数据,包括 MATLAB v5 MAT 文件。
版权所有 © 2024-2026 Octave中文网
ICP备案/许可证号:黑ICP备2024030411号-4