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

## Files of user defined functions

There are several files of user defined functions under the standard library directory. (`/usr/local/lib/asir' by default.) Here, we explain some of them.

`fff'
Univariate factorizer over large finite fields (See section Finite fields)
`gr'
Groebner basis package. (See section Groebner basis computation)
`sp'
Operations over algebraic numbers and factorization, Splitting fields. (See section Algebraic numbers)
`alpi'
`bgk'
`cyclic'
`katsura'
`kimura'
Example polynomial sets for benchmarks of Groebner basis computation. (See section `katsura`, `hkatsura`, `cyclic`, `hcyclic`)
`defs.h'
Macro definitions. (See section preprocessor)
`fctrtest'
Test program of factorization of integral polynomials. It includes `factor.tst' of REDUCE and several examples for large multiplicity factors. If this file is `load()`'ed, computation will begin immediately. You may use it as a first test whether Asir at you hand runs correctly.
`fctrdata'
This contains example polynomials for factorization. It includes polynomials used in `fctrtest'. Polynomials contained in vector `Alg[]` is for the algebraic factorization `af()` (See section `asq`, `af`, `af_noalg`).
``` load("sp")\$
 load("fctrdata")\$
 cputime(1)\$
0msec
 Alg;
x^9-15*x^6-87*x^3-125
0msec
 af(Alg,[newalg(Alg)]);
[[1,1],[75*x^2+(10*#0^7-175*#0^4-470*#0)*x+(3*#0^8-45*#0^5-261*#0^2),1],
[75*x^2+(-10*#0^7+175*#0^4+395*#0)*x+(3*#0^8-45*#0^5-261*#0^2),1],
[25*x^2+(25*#0)*x+(#0^8-15*#0^5-87*#0^2),1],[x^2+(#0)*x+(#0^2),1],
[x+(-#0),1]]
3.600sec + gc : 1.040sec
```
`ifplot'
Examples for plotting (See section `ifplot`, `conplot`, `plot`, `plotover`). Vector `IS[]` contains several famous algebraic curves. Variables `H, D, C, S` contains something like the suits (Heart, Diamond, Club, and Spade) of cards.
`num'
Examples of simple operations on numbers.
`mat'
Examples of simple operations on matrices.
`ratint'
Indefinite integration of rational functions. For this, files `sp' and `gr' is necessary. A function `ratint()` is defined. Its returns a rather complex result.
``` load("gr")\$
 load("sp")\$
 load("ratint")\$
 ratint(x^6/(x^5+x+1),x);
[1/2*x^2,
[[(#2)*log(-140*x+(-2737*#2^2+552*#2-131)),161*t#2^3-23*t#2^2+15*t#2-1],
[(#1)*log(-5*x+(-21*#1-4)),21*t#1^2+3*t#1+1]]]
```
In this example, indefinite integral of the rational function `x^6/(x^5+x+1)` is computed. The result is a list which comprises two elements: The first element is the rational part of the integral; The second part is the logarithmic part of the integral. The logarithmic part is again a list which comprises finite number of elements, each of which is of form `[root*log(poly),defpoly]`. This pair should be interpreted to sum up the expression `root*log(poly)` through all root's `root`'s of the `defpoly`. Here, `poly` contains `root`, and substitution for `root` is equally applied to `poly`. The logarithmic part in total is obtained by applying such interpretation to all element pairs in the second element of the result and then summing them up all.
`primdec'
Primary ideal decomposition of polynomial ideals and prime compotision of radicals (see section `primadec`, `primedec`).

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