/usr/share/axiom-20170501/src/algebra/OWP.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 | )abbrev domain OWP OrdinaryWeightedPolynomials
++ Author: James Davenport
++ Date Created: 17 April 1992
++ Date Last Updated: 12 July 1992
++ Description:
++ This domain represents truncated weighted polynomials over the
++ "Polynomial" type. The variables must be
++ specified, as must the weights.
++ The representation is sparse
++ in the sense that only non-zero terms are represented.
OrdinaryWeightedPolynomials(R,vl,wl,wtlevel) : SIG == CODE where
R : Ring
vl : List Symbol
wl : List NonNegativeInteger
wtlevel : NonNegativeInteger
SIG ==> Ring with
if R has CommutativeRing then Algebra(R)
coerce : $ -> Polynomial(R)
++ coerce(p) converts back into a Polynomial(R), ignoring weights
coerce : Polynomial(R) -> $
++ coerce(p) coerces a Polynomial(R) into Weighted form,
++ applying weights and ignoring terms
if R has Field then
"/" : ($,$) -> Union($,"failed")
++ x/y division (only works if minimum weight
++ of divisor is zero, and if R is a Field)
changeWeightLevel : NonNegativeInteger -> Void
++ changeWeightLevel(n) This changes the weight level to the
++ new value given:
++ NB: previously calculated terms are not affected
CODE ==> WeightedPolynomials(R,Symbol,IndexedExponents(Symbol),
Polynomial(R), vl,wl,wtlevel)
|