This file is indexed.

/usr/share/axiom-20170501/src/algebra/MLO.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
)abbrev category MLO MonogenicLinearOperator
++ Author: Stephen M. Watt
++ Date Created: 1986
++ Date Last Updated: May 30, 1991
++ Description:
++ This is the category of linear operator rings with one generator.
++ The generator is not named by the category but can always be
++ constructed as \spad{monomial(1,1)}.
++
++ For convenience, call the generator \spad{G}.
++ Then each value is equal to
++ \spad{sum(a(i)*G**i, i = 0..n)}
++ for some unique \spad{n} and \spad{a(i)} in \spad{R}.
++
++ Note that multiplication is not necessarily commutative.
++ In fact,  if \spad{a} is in \spad{R}, it is quite normal
++ to have \spad{a*G \^= G*a}.

MonogenicLinearOperator(R) : Category == SIG where
  R : Ring

  E ==> NonNegativeInteger

  SIG ==> Join(Ring, BiModule(R,R)) with

    if R has CommutativeRing then Algebra(R)

    degree : $ -> E
      ++ degree(l) is \spad{n} if
      ++   \spad{l = sum(monomial(a(i),i), i = 0..n)}.

    minimumDegree : $ -> E
      ++ minimumDegree(l) is the smallest \spad{k} such that
      ++ \spad{a(k) \^= 0} if
      ++   \spad{l = sum(monomial(a(i),i), i = 0..n)}.

    leadingCoefficient : $ -> R
      ++ leadingCoefficient(l) is \spad{a(n)} if
      ++   \spad{l = sum(monomial(a(i),i), i = 0..n)}.

    reductum : $ -> $
      ++ reductum(l) is \spad{l - monomial(a(n),n)} if
      ++   \spad{l = sum(monomial(a(i),i), i = 0..n)}.

    coefficient : ($, E) -> R
      ++ coefficient(l,k) is \spad{a(k)} if
      ++   \spad{l = sum(monomial(a(i),i), i = 0..n)}.

    monomial : (R, E) -> $
      ++ monomial(c,k) produces c times the k-th power of
      ++ the generating operator, \spad{monomial(1,1)}.