/usr/share/axiom-20170501/src/algebra/TS.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 | )abbrev domain TS TaylorSeries
++ Authors: Burge, Watt, Williamson
++ Date Created: 15 August 1988
++ Date Last Updated: 18 May 1991
++ Description:
++ \spadtype{TaylorSeries} is a general multivariate Taylor series domain
++ over the ring Coef and with variables of type Symbol.
TaylorSeries(Coef) : SIG == CODE where
Coef : Ring
L ==> List
NNI ==> NonNegativeInteger
SMP ==> Polynomial Coef
StS ==> Stream SMP
SIG ==> MultivariateTaylorSeriesCategory(Coef,Symbol) with
coefficient : (%,NNI) -> SMP
++\spad{coefficient(s, n)} gives the terms of total degree n.
coerce : Symbol -> %
++\spad{coerce(s)} converts a variable to a Taylor series
coerce : SMP -> %
++\spad{coerce(s)} regroups terms of s by total degree
++ and forms a series.
if Coef has Algebra Fraction Integer then
integrate : (%,Symbol,Coef) -> %
++\spad{integrate(s,v,c)} is the integral of s with respect
++ to v and having c as the constant of integration.
fintegrate : (() -> %,Symbol,Coef) -> %
++\spad{fintegrate(f,v,c)} is the integral of \spad{f()} with respect
++ to v and having c as the constant of integration.
++ The evaluation of \spad{f()} is delayed.
CODE ==> SparseMultivariateTaylorSeries(Coef,Symbol,SMP) add
Rep := StS -- Below we use the fact that Rep of PS is Stream SMP.
polynomial(s,n) ==
sum : SMP := 0
for i in 0..n while not empty? s repeat
sum := sum + frst s
s:= rst s
sum
|