/usr/share/axiom-20170501/src/algebra/FDIVCAT.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 56 57 58 59 60 61 62 63 | )abbrev category FDIVCAT FiniteDivisorCategory
++ Category for finite rational divisors on a curve
++ Author: Manuel Bronstein
++ Date Created: 19 May 1993
++ Date Last Updated: 19 May 1993
++ Description:
++ This category describes finite rational divisors on a curve, that
++ is finite formal sums SUM(n * P) where the n's are integers and the
++ P's are finite rational points on the curve.
FiniteDivisorCategory(F, UP, UPUP, R) : Category == SIG where
F : Field
UP : UnivariatePolynomialCategory F
UPUP : UnivariatePolynomialCategory Fraction UP
R : FunctionFieldCategory(F, UP, UPUP)
ID ==> FractionalIdeal(UP, Fraction UP, UPUP, R)
SIG ==> AbelianGroup with
ideal : % -> ID
++ ideal(D) returns the ideal corresponding to a divisor D.
divisor : ID -> %
++ divisor(I) makes a divisor D from an ideal I.
divisor : R -> %
++ divisor(g) returns the divisor of the function g.
divisor : (F, F) -> %
++ divisor(a, b) makes the divisor P: \spad{(x = a, y = b)}.
++ Error: if P is singular.
divisor : (F, F, Integer) -> %
++ divisor(a, b, n) makes the divisor
++ \spad{nP} where P: \spad{(x = a, y = b)}.
++ P is allowed to be singular if n is a multiple of the rank.
decompose : % -> Record(id:ID, principalPart: R)
++ decompose(d) returns \spad{[id, f]} where \spad{d = (id) + div(f)}.
reduce : % -> %
++ reduce(D) converts D to some reduced form (the reduced forms can
++ be differents in different implementations).
principal? : % -> Boolean
++ principal?(D) tests if the argument is the divisor of a function.
generator : % -> Union(R, "failed")
++ generator(d) returns f if \spad{(f) = d},
++ "failed" if d is not principal.
divisor : (R, UP, UP, UP, F) -> %
++ divisor(h, d, d', g, r) returns the sum of all the finite points
++ where \spad{h/d} has residue \spad{r}.
++ \spad{h} must be integral.
++ \spad{d} must be squarefree.
++ \spad{d'} is some derivative of \spad{d} (not necessarily dd/dx).
++ \spad{g = gcd(d,discriminant)} contains the ramified zeros of \spad{d}
add
principal? d == generator(d) case R
|