引言

PARI/GP是一种针对数论中的快速计算(大数分解,代数数论,椭圆曲线……)而设计的广泛应用的计算机代数系统,同样具备大量实用的函数来对于数学实体的计算, 诸如矩阵,多项式,幂级数,代数数,以及相当多的超越方程等等。 PARI也可以作为快速计算的C语言库。

这个系统最初是由 Henri Cohen 和他的合作者们(来自法国的波尔多第一大学)发展起来的。 PARI现在在公共授权条款(GPL)之下并在许多志愿者的帮助下由 Karim Belabas 进行维护。

  • PARI是一个可以快速计算的C语言库。
  • gp是一个容易上手的交互式外壳,它赋予用户调用PARI函数的权力。
  • GPgp脚本语言的名字。
  • gp2cGPC的编译器,通过编译GP脚本至C语言以及透明载入结果函数至gp来结合两者的最优点。(由gp2c编译的脚本一般情况下运行速度将快 3 至 4 倍。)目前gp2c只能运行GP语言的一部分。

安装

在 Arch Linux 中,可以使用以下命令安装PARI/GP

$ sudo pacman -S pari-sage

试运行:

$ gp

   GP/PARI CALCULATOR Version 2.8.0 (development git-6157df4)
  amd64 running linux (x86-64/GMP-6.0.0 kernel) 64-bit version
         compiled: Oct 23 2015, gcc version 5.2.0 (GCC)
                   threading engine: pthread
        (readline v6.3 enabled, extended help enabled)

PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?15 for how to get moral (and possibly technical) support.

parisize = 8000000, primelimit = 500000, nbthreads = 2
? Pi
%1 = 3.1415926535897932384626433832795028842
? \q
Goodbye!

文档

/usr/share/pari/doc目录下有以下重要文档:

  • refcard.dvi: PARI-GP Reference Card, 4 pages
  • tutorial.dvi: A Tutorial for PARI / GP, 52 pages
  • users.dvi: User's Guide to PARI / GP, 416 pages
  • libpari.dvi: User's Guide to the PARI library, 314 pages
  • develop.dvi: Developer's Guide to the PARI library, 23 pages

refcard.dvi 的部分内容:

PariCard1


PariCard2

GNU TeXmacs

GNU TeXmacs是一个所见即所得的科学公式编辑软件,受TeXGNU Emacs启发。它提供多种计算机代数系统接口,包括Giac, GTybalt, Macaulay 2, Maxima, Octave, Pari, Qcl, R, Yacas

可以使用以下命令安装GNU TeXmacs

$ sudo pacman -S texmacs

TeXmacs

然后就可以在TeXmacs中使用PARI/GP了,例子如下:

PariTeXmacs

附加说明

在 Arch Linux 中,以下两个软件包(这两个软件包只能选择一个,不能都安装)都提供了PARI/GP

$ pacman -Ss '^pari$'
community/pari 2.7.4-1
      Computer algebra system designed for fast computations in number theory
community/pari-sage 2.8.1813.g6157df4-1 [已安装]
      Computer algebra system designed for fast computations in number theory. Development snapshot required by SageMath

此外,也可以从源程序代码编译,简要步骤如下所示:

$ git clone http://pari.math.u-bordeaux.fr/git/pari.git
$ cd pari
$ ./Configure --prefix=/opt/pari
$ make all
$ make bench
$ sudo make install

这适用于各种 Linux 操作系统。当然,这是极大简化了的步骤,还要满足很多前提条件,详细的说明请参阅前面提到的 User's Guide to PARI / GP 文档中的 Appendix A: Installation Guide for the UNIX Versions

参考资料

  1. PARI/GP Development Headquarters
  2. Welcome to GNU TeXmacs (FSF GNU project)