This file is indexed.

/usr/share/axiom-20170501/src/algebra/RDIV.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
)abbrev package RDIV ReducedDivisor
++ Author: Manuel Bronstein
++ Date Created: 1988
++ Date Last Updated: 8 November 1994
++ Description:
++ Finds the order of a divisor over a finite field

ReducedDivisor(F1, UP, UPUP, R, F2) : SIG == CODE where
  F1 : Field
  UP : UnivariatePolynomialCategory F1
  UPUP : UnivariatePolynomialCategory Fraction UP
  R : FunctionFieldCategory(F1, UP, UPUP)
  F2 : Join(Finite, Field)

  N     ==> NonNegativeInteger
  FD    ==> FiniteDivisor(F1, UP, UPUP, R)
  UP2   ==> SparseUnivariatePolynomial F2
  UPUP2 ==> SparseUnivariatePolynomial Fraction UP2

  SIG ==> with

    order : (FD, UPUP, F1 -> F2) -> N
      ++ order(f,u,g) \undocumented

  CODE ==> add

    algOrder : (FD, UPUP, F1 -> F2)  -> N
    rootOrder: (FD, UP, N, F1 -> F2) -> N

    -- pp is not necessarily monic
    order(d, pp, f) ==
      (r := retractIfCan(reductum pp)@Union(Fraction UP, "failed"))
        case "failed" => algOrder(d, pp, f)
      rootOrder(d, - retract(r::Fraction(UP) / leadingCoefficient pp)@UP,
                degree pp, f)

    algOrder(d, modulus, reduce) ==
      redmod := map(reduce, modulus)$MultipleMap(F1,UP,UPUP,F2,UP2,UPUP2)
      curve  := AlgebraicFunctionField(F2, UP2, UPUP2, redmod)
      order(map(reduce,
              d)$FiniteDivisorFunctions2(F1,UP,UPUP,R,F2,UP2,UPUP2,curve)
                                 )$FindOrderFinite(F2, UP2, UPUP2, curve)

    rootOrder(d, radicand, n, reduce) ==
      redrad := map(reduce,
           radicand)$UnivariatePolynomialCategoryFunctions2(F1,UP,F2,UP2)
      curve  := RadicalFunctionField(F2, UP2, UPUP2, redrad::Fraction UP2, n)
      order(map(reduce,
              d)$FiniteDivisorFunctions2(F1,UP,UPUP,R,F2,UP2,UPUP2,curve)
                                 )$FindOrderFinite(F2, UP2, UPUP2, curve)