/usr/share/axiom-20170501/src/algebra/MAGCDOC.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 50 51 52 53 54 55 | )abbrev category MAGCDOC ModularAlgebraicGcdOperations
++ Description: This category specifies operations needed by
++ ModularAlgebraicGcd package. Since we have multiple
++ implementations we specify interface here and put
++ implementations in separate packages. Most operations
++ are done using special purpose abstract representation.
++ Apropriate types are passesd as parametes: MPT is type
++ of modular polynomials in one variable with coefficients
++ in some algebraic extension. MD is type of modulus.
++ Final results are converted to packed representation,
++ with coefficients (from prime field) stored in one
++ array and exponents (in main variable and in auxilary
++ variables representing generators of algebrac extension)
++ stored in parallel array.
ModularAlgebraicGcdOperations(MPT,MD) : Category == SIG where
MPT : Type
MD : Type
MP ==> Polynomial Integer
PA ==> U32Vector
SIG ==> with
pseudoRem : (MPT, MPT, MD) -> MPT
++ pseudoRem(x, y, m) computes pseudoremainder of x by y
++ modulo m.
canonicalIfCan : (MPT, MD) -> Union(MPT, "failed")
++ canonicalIfCan(x, m) tries to divide x by its leading
++ coefficient modulo m.
packModulus : (List MP, List(Symbol), Integer) -> Union(MD, "failed")
++ packModulus(lp, ls, p) converts lp, ls and prime p which
++ together describe algebraic extension to packed
++ representation.
MPtoMPT : (MP, Symbol, List(Symbol), MD) -> MPT
++ MPtoMPT(p, s, ls, m) coverts p to packed represntation.
zero? : MPT -> Boolean
++ zero?(x) checks if x is zero.
degree : MPT -> Integer
++ degree(x) gives degree of x.
packExps : (Integer, Integer, MD) -> SortedExponentVector
++ packExps(d, s, m) produces vector of exponents up
++ to degree d. s is size (degree) of algebraic extension.
++ Use together with repack1.
repack1 : (MPT, PA, Integer, MD) -> Void
++ repack1(x, a, d, m) stores coefficients of x in a.
++ d is degree of x. Corresponding exponents are given
++ by packExps.
|