/usr/share/axiom-20170501/src/algebra/ALGMFACT.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 49 | )abbrev package ALGMFACT AlgebraicMultFact
++ Author: P. Gianni
++ Date Created: 1990
++ Description:
++ This package factors multivariate polynomials over the
++ domain of \spadtype{AlgebraicNumber} by allowing the user
++ to specify a list of algebraic numbers generating the particular
++ extension to factor over.
AlgebraicMultFact(OV,E,P) : SIG == CODE where
OV : OrderedSet
E : OrderedAbelianMonoidSup
AN ==> AlgebraicNumber
P : PolynomialCategory(AN,E,OV)
BP ==> SparseUnivariatePolynomial AN
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,L AN) -> Factored P
++ factor(p,lan) factors the polynomial p over the extension
++ generated by the algebraic numbers given by the list lan.
factor : (USP,L AN) -> Factored USP
++ factor(p,lan) factors the polynomial p over the extension
++ generated by the algebraic numbers given by the list lan.
++ p is presented as a univariate polynomial with multivariate
++ coefficients.
CODE ==> add
AF := AlgFactor(BP)
INNER ==> InnerMultFact(OV,E,AN,P)
factor(p:P,lalg:L AN) : Factored P ==
factor(p,(z1:BP):Factored(BP) +-> factor(z1,lalg)$AF)$INNER
factor(up:USP,lalg:L AN) : Factored USP ==
factor(up,(z1:BP):Factored(BP) +-> factor(z1,lalg)$AF)$INNER
|