This file is indexed.

/usr/share/axiom-20170501/src/algebra/STINPROD.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
)abbrev package STINPROD StreamInfiniteProduct
++ Author: Clifton J. Williamson
++ Date Created: 23 February 1990
++ Date Last Updated: 23 February 1990
++ Description: 
++ This package computes infinite products of Taylor series over an
++ integral domain of characteristic 0.  Here Taylor series are
++ represented by streams of Taylor coefficients.

StreamInfiniteProduct(Coef) : SIG == CODE where
  Coef: Join(IntegralDomain,CharacteristicZero)

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

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

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

    generalInfiniteProduct : (ST Coef,I,I) -> ST Coef
      ++ 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
 
    if Coef has Field then
 
      import StreamTaylorSeriesOperations(Coef)
      import StreamTranscendentalFunctions(Coef)
 
      infiniteProduct st             == exp lambert log st

      evenInfiniteProduct st         == exp evenlambert log st

      oddInfiniteProduct st          == exp oddlambert log st

      generalInfiniteProduct(st,a,d) == exp generalLambert(log st,a,d)
 
    else
 
      import StreamTaylorSeriesOperations(QF Coef)
      import StreamTranscendentalFunctions(QF Coef)
 
      applyOverQF:(ST QF Coef -> ST QF Coef,ST Coef) -> ST Coef
      applyOverQF(f,st) ==
        stQF := map(z1 +-> z1::QF(Coef),st)$StreamFunctions2(Coef,QF Coef)
        map(z1 +-> retract(z1)@Coef,f stQF)$StreamFunctions2(QF Coef,Coef)
 
      infiniteProduct st     == applyOverQF(z1 +-> exp lambert log z1,st)

      evenInfiniteProduct st == applyOverQF(z1 +-> exp evenlambert log z1,st)

      oddInfiniteProduct st  == applyOverQF(z1 +-> exp oddlambert log z1,st)

      generalInfiniteProduct(st,a,d) ==
        applyOverQF(z1 +-> exp generalLambert(log z1,a,d),st)