1 GAP4
GAP是一个用于计算离散代数的系统,特别着重于计算群论。 GAP提供了一种编程语言,数千种实现用GAP语言编写的代数算法的函数的库,以及大型的代数对象数据库。 另请参见数学功能的概述和说明。 GAP用于研究和教学,以研究组及其表示,环,向量空间,代数,组合结构等。 该系统(包括源代码)可以自由分发。 您可以学习并轻松修改或扩展它以供特殊使用。
2008年7月,GAP被授予ACM / SIGSAM理查德·迪米克·詹克斯纪念奖,以表彰其在计算机代数方面的卓越软件工程。
开放源代码,地址为
https://github.com/gap-system
2 Magma2
Magma是一款由悉尼大学数学与统计学系计算代数学小组开发的功能强大的代数计算程序包,该软件专门解决代数系统中的数论、代数几何和代数组合学的计算问题。
提供了用户自定义或直接利用诸如群,环,域,模块,代数,计划,曲线,图表,设计,编码和其他许多代数系统进行计算的一个数学环境。Magma的内核实现了代数系统五大分支结构的定义和相关操作,即群论,环论,域论,模论和代数理论,这也是其计算功能非常强大的原因所在。当然,也有很多人将Magma软件中提供的编程语言称为Magma。Magma软件是一款收费软件,主要分为Institution Version(机构版)和Student Version(学生版),目前最新版本为V2.17-6。
http://magma.maths.usyd.edu.au/magma/download/mac-x86_64-osx/
3 matlab7/Maple8
MATLAB [1] 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
4 PARI/GP
PARI/GP
是一种针对数论中的快速计算(大数分解,代数数论,椭圆曲线……)而设计的广泛应用的计算机代数系统,同样具备大量实用的函数来对于数学实体的计算, 诸如矩阵,多项式,幂级数,代数数,以及相当多的超越方程等等。 PARI
也可以作为快速计算的C
语言库。
这个系统最初是由 Henri Cohen 和他的合作者们(来自法国的波尔多第一大学)发展起来的。 PARI
现在在公共授权条款(GPL)之下并在许多志愿者的帮助下由 Karim Belabas 进行维护。
-
PARI
是一个可以快速计算的C
语言库。 -
gp
是一个容易上手的交互式外壳,它赋予用户调用PARI
函数的权力。 -
GP
是gp
脚本语言的名字。 -
gp2c
,GP
到C
的编译器,通过编译GP
脚本至C
语言以及透明载入结果函数至gp
来结合两者的最优点。(由gp2c
编译的脚本一般情况下运行速度将快 3 至 4 倍。)目前gp2c
只能运行GP
语言的一部分。
5 SAGEMath
Sage(或称SageMath)是在GPL协议下发布的开源数学软件,并且整合了许多已有的开源软件包到一个基于Python的统一界面下。其目标是创造一个Magma,Maple,Mathematica和Matlab的开源替代品。
Sage包含了从线性代数、微积分,到密码学、数值计算、组合数学、群论、图论、数论等各种初高等数学的计算功能。