/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)
|