This file is indexed.

/usr/share/axiom-20170501/src/algebra/INPRODPF.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
)abbrev package INPRODPF InfiniteProductPrimeField
++ Author: Clifton J. Williamson
++ Date Created: 22 February 1990
++ Date Last Updated: 23 February 1990
++ Description: 
++ This package computes infinite products of univariate Taylor series
++ over a field of prime order.

InfiniteProductPrimeField(Coef,UTS) : SIG == CODE where
  Coef : Join(Field,Finite,ConvertibleTo Integer)
  UTS  : UnivariateTaylorSeriesCategory Coef

  I  ==> Integer
  ST ==> Stream
 
  SIG ==> with
 
    infiniteProduct : UTS -> UTS
      ++ infiniteProduct(f(x)) computes \spad{product(n=1,2,3...,f(x**n))}.
      ++ The series \spad{f(x)} should have constant coefficient 1.

    evenInfiniteProduct : UTS -> UTS
      ++ evenInfiniteProduct(f(x)) computes \spad{product(n=2,4,6...,f(x**n))}.
      ++ The series \spad{f(x)} should have constant coefficient 1.

    oddInfiniteProduct : UTS -> UTS
      ++ oddInfiniteProduct(f(x)) computes \spad{product(n=1,3,5...,f(x**n))}.
      ++ The series \spad{f(x)} should have constant coefficient 1.

    generalInfiniteProduct : (UTS,I,I) -> UTS
      ++ generalInfiniteProduct(f(x),a,d) computes
      ++ \spad{product(n=a,a+d,a+2*d,...,f(x**n))}.
      ++ The series \spad{f(x)} should have constant coefficient 1.
 
  CODE ==> add
 
    import StreamInfiniteProduct Integer
 
    applyOverZ:(ST I -> ST I,ST Coef) -> ST Coef
    applyOverZ(f,st) ==
      stZ := map(z1 +-> convert(z1)@Integer,st)$StreamFunctions2(Coef,I)
      map(z1 +-> z1 :: Coef,f stZ)$StreamFunctions2(I,Coef)
 
    infiniteProduct x ==
      series applyOverZ(infiniteProduct,coefficients x)

    evenInfiniteProduct x ==
      series applyOverZ(evenInfiniteProduct,coefficients x)

    oddInfiniteProduct x ==
      series applyOverZ(oddInfiniteProduct,coefficients x)

    generalInfiniteProduct(x,a,d) ==
      series 
       applyOverZ(
        (z1:ST(I)):ST(I) +-> generalInfiniteProduct(z1,a,d),coefficients x)