/usr/share/axiom-20170501/src/algebra/MPC2.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 | )abbrev package MPC2 MPolyCatFunctions2
++ Author: Manuel Bronstein
++ Date Created: 1987
++ Date Last Updated: 28 March 1990 (PG)
++ Description:
++ Utilities for MPolyCat
MPolyCatFunctions2(VarSet,E1,E2,R,S,PR,PS) : SIG == CODE where
VarSet : OrderedSet
E1 : OrderedAbelianMonoidSup
E2 : OrderedAbelianMonoidSup
R : Ring
S : Ring
PR : PolynomialCategory(R,E1,VarSet)
PS : PolynomialCategory(S,E2,VarSet)
SUPR ==> SparseUnivariatePolynomial PR
SUPS ==> SparseUnivariatePolynomial PS
SIG ==> with
map : (R -> S,PR) -> PS
++ map(f,p) \undocumented
reshape : (List S, PR) -> PS
++ reshape(l,p) \undocumented
CODE ==> add
supMap: (R -> S, SUPR) -> SUPS
supMap(fn : R -> S, supr : SUPR): SUPS ==
supr = 0 => monomial(fn(0$R) :: PS,0)$SUPS
c : PS := map(fn,leadingCoefficient supr)$%
monomial(c,degree supr)$SUPS + supMap(fn, reductum supr)
map(fn : R -> S, pr : PR): PS ==
varu : Union(VarSet,"failed") := mainVariable pr
varu case "failed" => -- have a constant
fn(retract pr) :: PS
var : VarSet := varu :: VarSet
supr : SUPR := univariate(pr,var)$PR
multivariate(supMap(fn,supr),var)$PS
|