`pari'
------

pari(FUNC,ARG,PREC)
     :: Call PARI function FUNC.

RETURN
     Depends on FUNC.

FUNC
     Function name of PARI.

ARG
     Arguments of FUNC.

PREC
     integer

   * This command connects Asir to PARI system so that several
     functions of PARI can be conveniently used from Risa/Asir.

   * PARI `[Batut et al.]' is developed at Bordeaux University, and
     distributed as a free software.  Though it has a certain facility
     to computer algebra, its major target is the operation of numbers
     (bignum, bigfloat) related to the number theory.  It facilitates
     various function evaluations as well as arithmetic operations at a
     remarkable speed.  It can also be used from other external
     programs as a library.  It provides a language interface named
     `gp' to its library, which enables a user to use PARI as a
     calculator which runs on UNIX.  The current version is 2.0.17beta.
     It can be obtained by several ftp sites. (For example,
     `ftp://megrez.ceremab.u-bordeaux.fr/pub/pari'.)

   * The last argument (optional) INT specifies the precision in digits
     for bigfloat operation.  If the precision is not explicitly
     specified, operation will be performed with the precision set by
     `setprec()'.

   * Currently available functions of PARI system are as follows.  Note
     these are only a part of functions in PARI system.  For details of
     individual functions, refer to the PARI manual.  (Some of them can
     be seen in the following example.)

     `abs', `adj', `arg', `bigomega', `binary', `ceil', `centerlift',
     `cf', `classno', `classno2', `conj', `content', `denom', `det',
     `det2', `detr', `dilog', `disc', `discf', `divisors', `eigen',
     `eintg1', `erfc', `eta', `floor', `frac', `galois', `galoisconj',
     `gamh', `gamma', `hclassno', `hermite', `hess', `imag', `image',
     `image2', `indexrank', `indsort', `initalg', `isfund', `isprime',
     `ispsp', `isqrt', `issqfree', `issquare', `jacobi', `jell', `ker',
     `keri', `kerint', `kerintg1', `kerint2', `kerr', `length',
     `lexsort', `lift', `lindep', `lll', `lllg1', `lllgen', `lllgram',
     `lllgramg1', `lllgramgen', `lllgramint', `lllgramkerim',
     `lllgramkerimgen', `lllint', `lllkerim', `lllkerimgen', `lllrat',
     `lngamma', `logagm', `mat', `matrixqz2', `matrixqz3', `matsize',
     `modreverse', `mu', `nextprime', `norm', `norml2', `numdiv',
     `numer', `omega', `order', `ordred', `phi', `pnqn', `polred',
     `polred2', `primroot', `psi', `quadgen', `quadpoly', `real',
     `recip', `redcomp', `redreal', `regula', `reorder', `reverse',
     `rhoreal', `roots', `rootslong', `round', `sigma', `signat',
     `simplify', `smalldiscf', `smallfact', `smallpolred',
     `smallpolred2', `smith', `smith2', `sort', `sqr', `sqred', `sqrt',
     `supplement', `trace', `trans', `trunc', `type', `unit', `vec',
     `wf', `wf2', `zeta'

   * Asir currently uses only a very small subset of PARI.  We will
     improve Asir so that it can provide more functions of PARI.

     /* Eigen vectors of a numerical matrix */
     [0] pari(eigen,newmat(2,2,[[1,1],[1,2]]));
     [ -1.61803398874989484819771921990 0.61803398874989484826 ]
     [ 1 1 ]
     /* Roots of a polynomial */
     [1] pari(roots,t^2-2);
     [ -1.41421356237309504876 1.41421356237309504876 ]

References
     *Note `setprec': setprec.

