Go to the first, previous, next, last section, table of contents.

### `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`, @break `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`
  section `setprec`.

Go to the first, previous, next, last section, table of contents.