/usr/share/axiom-20170501/src/algebra/RFFACT.spad is in axiom-source 20170501-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | )abbrev package RFFACT RationalFunctionFactor
++ Author: Patrizia Gianni
++ Description:
++ Factorization of univariate polynomials with coefficients which
++ are rational functions with integer coefficients.
RationalFunctionFactor(UP) : SIG == CODE where
UP: UnivariatePolynomialCategory Fraction Polynomial Integer
SE ==> Symbol
P ==> Polynomial Integer
RF ==> Fraction P
UPCF2 ==> UnivariatePolynomialCategoryFunctions2
SIG ==> with
factor : UP -> Factored UP
++ factor(p) returns a prime factorisation of p.
CODE ==> add
likuniv: (P, SE, P) -> UP
dummy := new()$SE
likuniv(p, x, d) ==
map(y +-> y/d, univariate(p, x))$UPCF2(P,SparseUnivariatePolynomial P,
RF, UP)
factor p ==
d := denom(q := elt(p,dummy::P :: RF))
map(x +-> likuniv(x,dummy,d),
factor(numer q)$MultivariateFactorize(SE,
IndexedExponents SE,Integer,P))$FactoredFunctions2(P, UP)
|