GiNaC
開發者 | Christian Bauer, Alexander Frink, Richard B. Kreckel, et al. |
---|---|
当前版本 | 1.7.2(2017年1月10日 | )
源代码库 | |
编程语言 | C++ |
操作系统 | 跨平台 |
类型 | 数学软件 |
许可协议 | GPL |
网站 | http://www.ginac.de/ |
GiNaC是一个自由的计算机代数系统,在 GNU通用公共许可证下发布。GiNaC这个名字是一个递归缩写:GiNaC is Not a CAS(CAS,计算机代数系统)。这样的命名方式源于GNU计划。
GiNaC与其他计算机代数系统不同的是,它并没有提供一个上层的用户互动界面,而是鼓励用户直接用C++语言和GiNaC的库编写符号计算的程序。其中的代数语法是通过C++的运算符重载实现的。开发者解释说之所以以GiNaC命名是因为大多数的代数系统都把重点放在了用户界面上,而不是与程序员的互操作性。
GiNaC使用了CLN库用于任意精度的数值计算。具有象征意义的是,它可以计算带有多个变量的代数式、因式分解、计算最大公约数、展开洛朗级数和利用矩阵计算等。它将能够处理非交换性代数——这在理论上的高能物理:克利福德代数、特殊酉群、李代数、和电磁张量中有广泛应用。由于这样,它在纬度正则化计算中广泛被应用——但是它并不被限制在物理学中。