/usr/share/axiom-20170501/src/algebra/ULS.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 | )abbrev domain ULS UnivariateLaurentSeries
++ Author: Clifton J. Williamson
++ Date Created: 18 January 1990
++ Date Last Updated: 21 September 1993
++ Description:
++ Dense Laurent series in one variable
++ \spadtype{UnivariateLaurentSeries} is a domain representing Laurent
++ series in one variable with coefficients in an arbitrary ring. The
++ parameters of the type specify the coefficient ring, the power series
++ variable, and the center of the power series expansion. For example,
++ \spad{UnivariateLaurentSeries(Integer,x,3)} represents Laurent series in
++ \spad{(x - 3)} with integer coefficients.
UnivariateLaurentSeries(Coef,var,cen) : SIG == CODE where
Coef : Ring
var : Symbol
cen : Coef
I ==> Integer
UTS ==> UnivariateTaylorSeries(Coef,var,cen)
SIG ==> UnivariateLaurentSeriesConstructorCategory(Coef,UTS) with
coerce : Variable(var) -> %
++ \spad{coerce(var)} converts the series variable \spad{var} into a
++ Laurent series.
differentiate : (%,Variable(var)) -> %
++ \spad{differentiate(f(x),x)} returns the derivative of
++ \spad{f(x)} with respect to \spad{x}.
if Coef has Algebra Fraction Integer then
integrate : (%,Variable(var)) -> %
++ \spad{integrate(f(x))} returns an anti-derivative of the power
++ series \spad{f(x)} with constant coefficient 0.
++ We may integrate a series when we can divide coefficients
++ by integers.
CODE ==> UnivariateLaurentSeriesConstructor(Coef,UTS) add
variable x == var
center x == cen
coerce(v:Variable(var)) ==
zero? cen => monomial(1,1)
monomial(1,1) + monomial(cen,0)
differentiate(x:%,v:Variable(var)) == differentiate x
if Coef has Algebra Fraction Integer then
integrate(x:%,v:Variable(var)) == integrate x
|