This file is indexed.

/usr/share/axiom-20170501/src/algebra/AN.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
64
65
66
67
68
69
70
)abbrev domain AN AlgebraicNumber
++ Author: James Davenport
++ Date Created: 9 October 1995
++ Date Last Updated: 10 October 1995 (JHD)
++ Description:
++ Algebraic closure of the rational numbers, with mathematical =

AlgebraicNumber(): SIG == CODE where

  Z   ==> Integer
  P   ==> SparseMultivariatePolynomial(Z, Kernel %)
  SUP ==>  SparseUnivariatePolynomial

  SIG ==> Join(ExpressionSpace, AlgebraicallyClosedField,
               RetractableTo Z, RetractableTo Fraction Z,
               LinearlyExplicitRingOver Z, RealConstant,
               LinearlyExplicitRingOver Fraction Z,
               CharacteristicZero,
               ConvertibleTo Complex Float, DifferentialRing) with

    coerce : P -> %
      ++ coerce(p) returns p viewed as an algebraic number.

    numer : % -> P
      ++ numer(f) returns the numerator of f viewed as a
      ++ polynomial in the kernels over Z.
      ++
      ++X t1:=sqrt(3)/sqrt(5)
      ++X numer t1

    denom : % -> P
      ++ denom(f) returns the denominator of f viewed as a
      ++ polynomial in the kernels over Z.
      ++
      ++X t1:=sqrt(3)/sqrt(5)
      ++X denom t1

    reduce : % -> %
      ++ reduce(f) simplifies all the unreduced algebraic numbers
      ++ present in f by applying their defining relations.

    norm : (SUP(%),Kernel %) -> SUP(%)
      ++ norm(p,k) computes the norm of the polynomial p
      ++ with respect to the extension generated by kernel k

    norm : (SUP(%),List Kernel %) -> SUP(%)
      ++ norm(p,l) computes the norm of the polynomial p
      ++ with respect to the extension generated by kernels l

    norm : (%,Kernel %) -> %
      ++ norm(f,k) computes the norm of the algebraic number f
      ++ with respect to the extension generated by kernel k

    norm : (%,List Kernel %) -> %
      ++ norm(f,l) computes the norm of the algebraic number f
      ++ with respect to the extension generated by kernels l

  CODE ==> InnerAlgebraicNumber add

    Rep:=InnerAlgebraicNumber
    a,b:%

    zero? a == 
      trueEqual(a::Rep,0::Rep)

    one? a == 
      trueEqual(a::Rep,1::Rep)

    a=b == 
      trueEqual((a-b)::Rep,0::Rep)