This file is indexed.

/usr/share/axiom-20170501/src/algebra/PDRING.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
)abbrev category PDRING PartialDifferentialRing
++ Description:
++ A partial differential ring with differentiations indexed by a 
++ parameter type S.
++
++ Axioms\br
++ \tab{5}\spad{differentiate(x+y,e)=differentiate(x,e)+differentiate(y,e)}\br
++ \tab{5}\spad{differentiate(x*y,e)=x*differentiate(y,e)+differentiate(x,e)*y}

PartialDifferentialRing(S) : Category == SIG where
  S : SetCategory

  SIG ==> Ring with

    differentiate : (%, S) -> %
      ++ differentiate(x,v) computes the partial derivative of x
      ++ with respect to v.

    differentiate : (%, List S) -> %
      ++ differentiate(x,[s1,...sn]) computes successive partial 
      ++ derivatives,
      ++ that is, \spad{differentiate(...differentiate(x, s1)..., sn)}.

    differentiate : (%, S, NonNegativeInteger) -> %
      ++ differentiate(x, s, n) computes multiple partial derivatives, 
      ++ that is, n-th derivative of x with respect to s.

    differentiate : (%, List S, List NonNegativeInteger) -> %
      ++ differentiate(x, [s1,...,sn], [n1,...,nn]) computes
      ++ multiple partial derivatives, that is, \spad{D(...D(x, s1)..., sn)}.

    D : (%, S) -> %
      ++ D(x,v) computes the partial derivative of x
      ++ with respect to v.

    D : (%, List S) -> %
      ++ D(x,[s1,...sn]) computes successive partial derivatives,
      ++ that is, \spad{D(...D(x, s1)..., sn)}.
      
    D : (%, S, NonNegativeInteger) -> %
      ++ D(x, s, n) computes multiple partial derivatives, that is,
      ++ n-th derivative of x with respect to s.

    D : (%, List S, List NonNegativeInteger) -> %
      ++ D(x, [s1,...,sn], [n1,...,nn]) computes
      ++ multiple partial derivatives, that is,
      ++ \spad{D(...D(x, s1, n1)..., sn, nn)}.

   add

     differentiate(r:%, l:List S) ==
       for s in l repeat r := differentiate(r, s)
       r
 
     differentiate(r:%, s:S, n:NonNegativeInteger) ==
       for i in 1..n repeat r := differentiate(r, s)
       r
 
     differentiate(r:%, ls:List S, ln:List NonNegativeInteger) ==
       for s in ls for n in ln repeat r := differentiate(r, s, n)
       r
 
     D(r:%, v:S) == differentiate(r,v)
 
     D(r:%, lv:List S) == differentiate(r,lv)
 
     D(r:%, v:S, n:NonNegativeInteger) == differentiate(r,v,n)
 
     D(r:%, lv:List S, ln:List NonNegativeInteger) == differentiate(r, lv, ln)