/usr/share/axiom-20170501/src/algebra/MULTFACT.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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | )abbrev package MULTFACT MultivariateFactorize
++ Author: P. Gianni
++ Date Created: 1983
++ Date Last Updated: Sept. 1990
++ Description:
++ This is the top level package for doing multivariate factorization
++ over basic domains like \spadtype{Integer} or \spadtype{Fraction Integer}.
MultivariateFactorize(OV,E,R,P) : SIG == CODE where
R : Join(EuclideanDomain, CharacteristicZero) -- with factor on R[x]
OV : OrderedSet
E : OrderedAbelianMonoidSup
P : PolynomialCategory(R,E,OV)
Z ==> Integer
MParFact ==> Record(irr:P,pow:Z)
USP ==> SparseUnivariatePolynomial P
SUParFact ==> Record(irr:USP,pow:Z)
SUPFinalFact ==> Record(contp:R,factors:List SUParFact)
MFinalFact ==> Record(contp:R,factors:List MParFact)
-- contp = content,
-- factors = List of irreducible factors with exponent
L ==> List
SIG ==> with
factor : P -> Factored P
++ factor(p) factors the multivariate polynomial p over its coefficient
++ domain
factor : USP -> Factored USP
++ factor(p) factors the multivariate polynomial p over its coefficient
++ domain where p is represented as a univariate polynomial with
++ multivariate coefficients
CODE ==> add
factor(p:P) : Factored P ==
R is Fraction Integer =>
factor(p)$MRationalFactorize(E,OV,Integer,P)
R is Fraction Complex Integer =>
factor(p)$MRationalFactorize(E,OV,Complex Integer,P)
R is Fraction Polynomial Integer and OV has convert: % -> Symbol =>
factor(p)$MPolyCatRationalFunctionFactorizer(E,OV,Integer,P)
factor(p,factor$GenUFactorize(R))$InnerMultFact(OV,E,R,P)
factor(up:USP) : Factored USP ==
factor(up,factor$GenUFactorize(R))$InnerMultFact(OV,E,R,P)
|