以下所有链接都是用于 Linux 上科学计算的自由高级语言和数学软件包。这些软件包通常就像一个数学实验室,可以在其中进行数值计算,并且通常有自己的解释型语言。它们要么链接到流行的(免费)绘图软件包,要么具有自己的图形和绘图功能。它们还提供文件 I/O 功能,并可以与其他编程语言(如 C、C++、Fortran 等)进行交互。现在,其中一些软件包具有并行编程功能。我没有包括 MuPAD,这是一个很好的符号数学软件包,因为它不是真正的免费软件。请查看他们的最新免费许可证是否适合您。
Octave:一个出色的数值计算软件包。它使用 gnuplot 进行绘图,并具有在线帮助。它也很容易扩展(即可以编写新的函数、过程),可以使用其自己的语言,也可以使用用 C、C++、Fortran 或其他语言编写的动态加载模块。这里提供了详细的手册 here。您可以从此处获取基于 GNOME 的前端。它根据 GNU 通用公共许可证分发。
Scilab:另一个优秀的数值计算软件包,具有良好的用户界面和非常好的在线点击式帮助。它的绘图和图形功能也非常令人印象深刻。它还提供了与 Fortran 和 C 轻松交互的接口。它有自己的免费许可证。
Yorick:Yorick 是一种快速的解释型语言,专为科学计算和数值分析而设计。语法类似于 C,但变量不需要声明。它提供了一个基于 X windows 的交互式图形软件包。支持 X-Y 图、四边形网格、填充网格、单元数组和轮廓线。您可以将编译后的例程嵌入到 Yorick 中,以解决解释器速度太慢的问题。它也可用作大型物理模拟程序的前处理器和后处理器。类似教程的手册可在此处获取 here。Yorick 是开源软件,版权归加州大学董事会所有。
Algae:正如以上链接所描述的那样,Algae 是一种用于数值分析的解释型语言。它被开发为一种快速且通用的工具,能够处理大型问题。Algae 由编程语言 Algae 和解释器 algae 组成。其功能包括速度(通常比 octave、RLaB 和 Scilab 快得多)、稀疏数组的存储和代码分析功能(用于检查代码花费时间的位置)。用户手册可在此处获取here。它根据 GNU 通用公共许可证分发。
YACAS:正如以上链接所描述的那样,“YACAS 是一个易于使用的通用计算机代数系统,一个用于数学表达式符号操作的程序。它使用自己的编程语言,该语言专为符号计算以及任意精度的数值计算而设计”。文档(用户手册、教程等)的链接可在此处获取here。它根据 GNU 通用公共许可证分发。
RLAB:以上链接如此描述它,“Rlab 是一个交互式的、解释型的科学编程环境。Rlab 是一种非常高级的语言,旨在提供快速原型设计和程序开发,以及简单的数据可视化和处理”。它根据 GNU 通用公共许可证分发。作者 Ian Searle 在The Linux Journal 上撰写了一篇文章,题为 An Introduction to Rlab ,正如他提醒我们的那样,这篇文章有点过时了,并且还提供了一个参考手册。
Maxima:Maxima 是一个符号计算程序。以上链接将其描述如下,“Maxima 是 DOE Macsyma 的后代,它起源于 1960 年代后期的 MIT。它是唯一一个基于该努力且仍然公开可用并拥有活跃用户社区的系统,这要归功于其开源性质。Macsyma 是新一代计算机代数系统的先驱,为 Maple 和 Mathematica 等程序铺平了道路。这个特殊的 Macsyma 变体由 William Schelter 从 1982 年维护到 2001 年去世。1998 年,他获得了在 GPL 下发布源代码的许可”。
R 统计计算项目:R 是一种用于统计计算和图形的语言和环境。它为大型数据数组的统计分析和图形设施提供了大量工具。R 也是一种完整有效的编程语言。对于计算密集型任务,C、C++ 和 Fortran 代码可以链接并在运行时调用。一套全面的手册,涉及安装、介绍、编写扩展等,可在此处获取here。它根据 GNU 通用公共许可证分发。
gTybalt:gTybalt 是迈向自由计算机代数系统的一步。它是面向对象的,允许在 C++ 中进行符号计算。它是高效的,因为使用 gTybalt 开发的解决方案可以使用 C++ 编译器编译,并独立于 gTybalt 执行。数学公式使用 TeX 字体可视化,并且可以轻松转换为 LaTeX。直到我查看了 gTybalt manual,我才意识到它具有良好的图形功能。它根据 GNU 通用公共许可证分发。
JACAL:正如以上链接所描述的那样,“JACAL 是一个交互式符号数学程序。JACAL 可以操作和简化方程、标量、向量以及包含数字、变量、根式以及代数微分和完整函数的单值和多值代数表达式的矩阵”。
bc:bc 是一种任意精度数值处理语言。它支持语句的交互式执行。点击此处获取各种格式的手册。它是 GNU 软件,并根据 GNU 通用公共许可证分发。